使用linux softraid,您可以制作只有两个磁盘的RAID 10阵列。
设备使用的名称如下:
md0
是类型/级别RAID1的旧阵列。
md1
是类型/级别RAID10的新阵列。
sda1
并且sdb2
是新的空分区(无数据)。
sda2
并且sdc1
是旧分区(具有重要数据)。
替换名称以适合您的用例。使用例如lsblk
查看您当前的布局。
0)备份,备份,备份,备份哦和备份
1)创建新阵列(4个设备:2个现有设备,2个缺失设备):
mdadm -v --create /dev/md1 --level=raid10 --raid-devices=4 /dev/sda1 missing /dev/sdb2 missing
请注意,在此示例中,布局sda1
缺少对应的内容,sdb2
而另一个缺少对应的内容。此时,您的数据md1
尚不安全(实际上,它是RAID0,直到您添加丢失的成员为止)。
要查看已创建数组的布局和其他详细信息,请使用:
mdadm -D /dev/md1
注意!您应该保存数组的布局:
# View current mdadm config:
cat /etc/mdadm/mdadm.conf
# Add new layout (grep is to make sure you don't re-add md0):
mdadm --detail --scan | grep "/dev/md1" | tee -a /etc/mdadm/mdadm.conf
# Save config to initramfs (to be available after reboot)
update-initramfs -u
2)格式化并挂载。该/dev/md1
应立即使用,但需要进行格式化,然后安装。
3)复制文件。使用例如rsync将数据从旧RAID 1复制到新RAID 10(这只是示例命令,请阅读rsync的手册页)
rsync -arHx / /where/ever/you/mounted/the/RAID10
4)使旧RAID1(md0)的第一部分失败,并将其添加到新RAID10(md1)
mdadm /dev/md0 --fail /dev/sda2 --remove /dev/sda2
mdadm /dev/md1 --add /dev/sda2
注意!这将清除中的数据sda2
。它md0
应该仍然可用,但前提是其他raid成员已完全运作。
另请注意,这将在开始同步/恢复过程md1
。要检查状态,请使用以下命令之一:
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
等待恢复完成。
5)在新的阵列上安装GRUB(假设您要从中启动)。某些Linux救援/启动CD效果最好。
6)启动新阵列。如果正确工作,请销毁旧阵列,然后将剩余的磁盘添加到新阵列中。
不可退回的要点
此时,您将销毁旧md0数组的最后一个成员上的数据。绝对确保一切正常。
mdadm --stop /dev/md0
mdadm /dev/md0 --remove /dev/sdc1
mdadm /dev/md1 --add /dev/sdc1
再次- 等待恢复md1
完成。
# status of sync/recovery
cat /proc/mdstat
# details
mdadm -D /dev/md1
7)更新mdadm配置
记住要更新/etc/mdadm/mdadm.conf
(删除md0)。
并将配置保存到initramfs(重启后可用)
update-initramfs -u