从 raid1 的单盘中取出文件

harddisk

今天用两块新硬盘,试了一下用synology创建raid1后,故意破坏其中一片硬盘,再从剩余的另一块硬盘中恢复文件。实测给synology一块新硬盘,它自己可以修复raid1。

不过比较尴尬的是,当我破坏raid1后再拔掉两块硬盘,然后重新插上,这时synology就无法识别这两块硬盘内的raid1了,更无法修复,这就很恶心了。

上网查了一下,修复方法是用linux下的mdadm挂载raid1中剩下的一块硬盘,从中取出文件。

 

先说一下,我是在windows虚拟机 hyper-v 里创建了一个 centos6.9 的虚拟机,把硬盘挂在虚拟机上测试的。

 

官方给的命令是

# mdadm -Asf && vgchange -ay

执行之后会增加一个 /dev/md*, 比如我这里增加的是 /dev/md4。有了这个md之后可以用

# mount /dev/md4 /{empty_folder}

命令挂载硬盘到指定目录,然后就可以从这个目录中访问原始 raid1 中的文件了。

用完以后用

# umount /{empty_folder}

解除挂载,然后用

# mdadm –stop /dev/md4

解除对 raid 硬盘的解析。

 

不过之前不知道怎么回事,官方命令我没执行成功。后来用 blkid , fdisk -l 等命令调查过,根据种种迹象得知硬盘上的三个分区,我需要的是 /dev/sdb3。

之后执行

# mdadm –assemble –run /dev/md127 /dev/sdb3

mdadm: /dev/md127 has been started with 1 drive (out of 2).

(这里md127是随便写的,应该不是非得用这个名字。)

之后执行

# mount /dev/md127 /{empty_folder}

挂载硬盘后,一样可以访问。

取消的命令分别是

# umount /{empty_folder}

或者

# umount /dev/md127

然后执行

# mdadm –stop /dev/md127

mdadm: stopped /dev/md127

 

值得一提的是,有人说需要用

# mdadm –examine –scan >> /etc/mdadm.conf

来修改配置文件,就可以在启动时加载磁盘阵列了,不过我这次只是想知道取出文件的方法,懒得重启测试了,这里只做记录,不再测试。

 

Comments

    1. 都支持的。
      web station和vpn server算是标配了,我当年买的现在已经绝版了的最低配置ds110j都支持这两个。
      不过血的教训告诉我,至少要买两盘位,而且要做raid1,不然照片丢了特痛苦。
      比起买群晖,如果你有闲置的电脑主机和硬盘的话,可以在虚拟机里做『黑群晖』。我现在的raid1就是黑群晖里的。好像是群晖受开源协议限制不得不公开了源代码,有人把它移植到了pc架构。你可以查查看。

    2. 顺便说一下,你的dreamhost服务器最近被官方重启过了,原因好象是操作系统升级= =
      话说,你还在用dreamhost么。。。

      1. 对,从12.04LTS升级到了14.04LTS,然而我现在用的是16.04LTS,还有几个月18.04LTS也发布了。。自从买了PS4和switch,我现在除了上班在公司用电脑,在家都不怎么开电脑了。。但Dreamhost肯定还是要用!

D-Horse进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注