今天想做一个单分区RAID0,在机器上开始执行(我电脑上用的是RHEL5,测试环境也是RHEL5,分区表里的信息也差不多)。几个步骤后,RAID就建好了,但无论如何系统要重启才能生效。不能用partprobe刷很多遍。算了,那就重启吧。
当我进入init 6时,我的物理机器实际上重启了;我刚刚发现,我以前在自己的机器上构建RAID,理论上应该是在虚拟机上运行的,但是因为我过去使用SSH连接,打开了几个终端,所以错误地在物理机上运行,导致了以下问题;我不禁倒吸一口凉气。当我构建RAID时,我在物理机上执行了以下操作:
1.我有6个分区,/dev/sda6的空间是151G。其他分区稍微低一点,这个分区就是我在data的位置。数据大小114G左右,这个东西要丢了,不知道去哪里找。
2.用fdisk /dev/sda,通过P查了一下/dev/sda这么大,于是删除了/dev/sda6,然后重新建立了一个30G大小的/dev/sda6,把分区格式改成了raid。
3.保存并退出后,使用partprobe刷新分区表。
4.用mdadm-c/dev/md0-l0-L1/dev/sda 6-f提示一长串,一下子想不出来,但是提示和分区有关,于是继续刷新了两次分区表,没有结果。
5.重新启动计算机
当计算机重新启动时,我的物理机也重新启动。我的第一反应是删除了物理机的分区,改变了文件系统格式。电脑启动后,发现我之前的/dev/sda6里的资料都没了。
具体现象:
1.转到之前的挂载目录,发现这个目录下还有之前的文件夹,但是无法访问或打开。
2.使用df -h查看/dev/sda6的数据大小,它没有改变。
救援方法:
因为我没有格式化/dev/md0,所以还是可以在分区表中看到/dev/sda6的数据占用大小。所以我觉得还是可以通过重建来恢复分区表的。
救援步骤:
1.fdisk /dev/sda删除/dev/sda6的分区,并创建一个新的分区(或/dev/sda6)以用完所有剩余的扇区(这应该与问题出现前相同)
2.默认的文件系统是ext3。
3.保存后,使用partprobe刷新分区表。
4.重新挂载分区。进入目录,目录还是打不开。
我觉得我的思路是正确的,但是为什么打不开/dev/sda6中的目录?
于是我突然尝试重启PC,启动后/dev/sda6中的数据被恢复。