Answers:
您正在寻找的术语是“ RAID级别迁移”。
根据这个,这是可能的。我还没有完成,但是该过程似乎应该将新驱动器作为热备份添加到现有阵列,然后使用mdadm更新RAID级别和RAID设备的数量。
您需要使用最新的mdadm来执行此操作:mdadm-2.6.9(例如,centos 5.x)似乎不支持它,但是mdadm-3.1.4(例如,ubuntu 11.10)支持:
Grow Grow (or shrink) an array, or otherwise reshape it in some way. Currently supported growth options including changing the active size of component devices and
changing the number of active devices in RAID levels 1/4/5/6, changing the RAID level between 1, 5, and 6, changing the chunk size and layout for RAID5 and
RAID5, as well as adding or removing a write-intent bitmap.
EG,首先将新的热备用设备/ dev / sdg添加到RAID5阵列:
$ sudo mdadm --manage /dev/md/md0 --add /dev/sdg
然后转换为RAID6阵列并使其重建为干净状态。--raid-devices 4告诉您新阵列中总共有多少个驱动器。
$ sudo mdadm --grow /dev/md/md0 --raid-devices 4 --level 6
我不知道这有多快。以我在硬件RAID控制器上进行RAID级别迁移的经验,从头开始创建新阵列并将备份恢复到其中的速度更快。
请使用该--backup-file
选项,以便在断电的情况下重新启动后继续增加设备的容量,并确保没有数据丢失。
mdadm --grow /dev/md0 --level=raid6 --raid-devices=6 --backup-file=/root/mdadm5-6_backup_md0
备份文件应保存在文件系统中,而不是要增长的阵列的一部分。
--backup-file=
--grow
如果没有可用的备用设备,或用于缩小,更改RAID级别或布局,则用于增加RAID5或RAID6中的RAID设备的数量时需要使用。请参阅RAID-DEVICES CHANGES上下面的GROW MODE部分。该文件必须存储在单独的设备上,而不是在重塑的RAID阵列上。
--continue
是--freeze-reshape
组装选项的补充。当--grow
操作中断并且由于--freeze-reshape
阵列组装期间的使用情况而不会自动重新启动时,将需要使用它。此选项与-G
,(--grow
)命令和设备一起使用,以继续进行待定的重塑。重整延续所需的所有参数将从数组元数据中读取。如果设置了初始--grow
命令所需的--backup-file=
选项,则继续选项也将要求具有完全相同的备份文件。
与--continue
option 一起传递的任何其他参数将被忽略。