我目前有一个RAID5arrays中的3个1.5TB磁盘文件服务器。 由于它非常满,我有三个额外的磁盘(也是每个1.5TB)。
现在我想切换到RAID6,因为6TB空间已经足够了,我想要增加raid6的安全性。 虽然我有一个完整的备份 – 即我可以简单地创build一个新的arrays,并恢复备份 – 我宁愿切换,而不必恢复备份。 这是可能的,如果是的话,怎么样?
您正在寻找的术语是“RAID级别迁移”。
据此,这是可能的。 我没有这样做,但过程看起来像你应该添加新的驱动器作为热备份到现有的arrays,然后使用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添加到RAID5arrays中:
$ sudo mdadm --manage /dev/md/md0 --add /dev/sdg
然后转换成RAID6arrays,并将其重build为干净的状态。 –raid-devices 4告诉你在新arrays中共有多less个驱动器。
$ sudo mdadm --grow /dev/md/md0 --raid-devices 4 --level 6
我不知道这将是多快。 根据我在硬件RAID控制器上进行RAID级别迁移的经验,从头开始创build新arrays并将备份恢复到其上更为迅速。
强制性警告:计划失败。 保持备份,并考虑可能的停机时间。
另外,在一个虚拟机或类似的testing之前,这是从我的笔记,我没有这么做很长一段时间。 这可能是不完整的。
您将需要add
磁盘add
到数组中:
mdadm --manage /dev/md0 --add /dev/sdf
对三个磁盘中的每一个执行此操作,并相应地replace设备名称。
增长arrays:
mdadm --grow /dev/md0 --level 6 --raid-devices 6
使用--backup-file
选项,以便在断电的情况下,可以在重新启动后继续增加设备,确保不会丢失数据。
mdadm --grow /dev/md0 --level=raid6 --raid-devices=6 --backup-file=/root/mdadm5-6_backup_md0
备份文件应保存在文件系统中,而不是要增长的arrays的一部分。
当使用--grow
增加RAID5或RAID6中RAID设备的数量时,需要使用--backup-file=
如果没有可用的备用设备,或者缩小,更改RAID级别或布局。 在RAID-DEVICES CHANGES上查看下面的GROW MODE部分。 该文件必须存储在单独的设备上,而不是在重新构buildRAIDarrays上。
--continue
是组装的--freeze-reshape
选项的补充。 在--grow
操作被中断时,它是需要的,并且在数组组装过程中由于--freeze-reshape
使用而不能自动重启。 此选项与-G
,(– --grow
)命令和设备一起使用,以等待重新整形。 从数组元数据中读取重塑延续所需的所有参数。 如果需要初始化--grow
命令--backup-file=
选项,continuation选项将需要完全相同的备份文件。
与--continue
选项一起传递的任何其他参数都将被忽略。