标题中问题的简单答案是“是”。但是,您真正想要做的是下一步,即镜像现有数据。
可以转换现有磁盘,但是如上所述,由于元数据位置的原因,这是有风险的。最好用新磁盘创建一个空的(损坏的)镜像并将现有数据复制到该镜像上。然后,如果它不起作用,则只需引导回未镜像的原始文件即可。
首先,使用缺少的驱动器将其初始化/dev/sdb1为新/dev/md0文件并初始化文件系统(我假设使用ext3,但选择是您自己的)
mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 missing
mkfs -text3 /dev/md0
现在,/dev/sda1很可能是您的根文件系统(/),为了安全起见,您应该从可访问这两者的实时CD,应急磁盘或其他可引导系统中进行下一步/dev/sda1,/dev/md0尽管我已经成功地通过进入单用户模式来做到了这一点。
将文件系统的全部内容复制/dev/sda1到/dev/md0。例如:
mount /dev/sda1 /mnt/a # only do this if /dev/sda1 isn't mounted as root
mount /dev/md0 /mnt/b
cd /mnt/a # or "cd /" if it's the root filesystem
cp -dpRxv . /mnt/b
编辑/etc/fstab或以其他方式确保在下次启动时/dev/md0挂载而不是/dev/sda1。您的系统可能已设置为从中引导,/dev/sda1并且引导参数可能将其指定为根设备,因此,在重新引导时,您应该手动更改它,以使根为/dev/md0(假设/dev/sda1为根)。重新启动后,检查/dev/md0是否已挂载(df)以及它是否作为降级镜像(cat /proc/mdstat)运行。添加/dev/sda1到数组:
mdadm /dev/md0 --add /dev/sda1
由于重建将覆盖/dev/sda1,因此您使用的元数据版本无关紧要。与往常一样,在进行重大更改时,请进行完整备份(如果可能),或者至少确保无法重新创建的任何内容都是安全的。
您将需要重新生成引导配置以/dev/md0用作root(如果/dev/sda1是root),并且可能需要重新生成mdadm.conf以确保/dev/md0始终启动。
--add,您需要小心,但是并不是很复杂。请参阅如何在Ubuntu中设置磁盘镜像?(由于新规则,我不能将这个问题重复提出。)