使用 mdadm 将 RAID 6 转换为 RAID 1

使用 mdadm 将 RAID 6 转换为 RAID 1

我的家庭网络正在发生变化,我正在将我的文件存储解决方案从我的 Ubuntu 服务器移到 Drobo FS。

我目前有 6 个 500GB 硬盘组成 RAID 6 阵列,提供 2TB 容量。现有 RAID 6 阵列上的所有重要数据都已复制到 Drobo,因此可以重建阵列,而不用担心数据丢失。

以下是 RAID 设置的描述:

marcus@vhost:~$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid6 sda1[0] sdf1[5] sde1[4] sdd1[3] sdc1[2] sdb1[1]
      1953535744 blocks level 6, 64k chunk, algorithm 2 [6/6] [UUUUUU]

unused devices: <none>

最终结果

我希望最终在 RAID 1 阵列中剩下 2 个 500GB 驱动器,提供 500GB 的容量,从而有 4 个可用的 500GB 硬盘(其中一些将添加到 Drobo)。

实现此目的的最佳方法是什么?是否涉及缩小阵列然后更改 RAID 级别?

谢谢你的帮助,

马库斯。

答案1

由于您现在不关心磁盘上的任何数据,只需销毁该阵列并创建另一个阵列即可。让我们看看:停止阵列,移除所有磁盘(我不确定此步骤是否必要),将超级块清零以避免出现任何警告,然后创建 RAID1 阵列。这应该看起来像(显然我不会测试这个...):

mdadm /dev/md0 --stop
mdadm /dev/md0 --fail /dev/sd{a,b,c,d,e,f}1
mdadm /dev/md0 --remove failed
mdadm --zero-superblock /dev/sd{a,b,c,d,e,f}1
mdadm --create /dev/md0 --level=1 -n 2
mdadm /dev/md0 --add /dev/sd{a,b}1

答案2

我不确定我是否完全理解了您的问题。如果所有数据都已复制,您可以删除 RAID 设备,从要用于其他地方的盒子中移除所有磁盘,然后使用剩余的两个磁盘重新创建一个新的 RAID 1 设备。无论如何,您都无法将 6 个磁盘的 RAID 6 缩小到 2 个磁盘而不会丢失数据。

如果您仍想将一些数据复制到新设备,您可以让旧设备中的两个磁盘发生故障,然后从中创建新的 RAID 1。由于它是 RAID 6,因此它可以容忍两个磁盘的丢失(但您将不再具有冗余)。然后您可以复制数据并随后删除 RAID 6。

答案3

最简单的解决方案可能就是拆卸阵列并将其删除,然后使用所需的两个驱动器从头开始构建 RAID1。

答案4

Gilles:上次我将超级块清零,每个 750GB 驱动器大约需要 12 个小时(我使用了涉及“dd”的命令)。该命令需要多长时间

mdadm --zero-superblock /dev/sd{a,b,c,d,e,f}1

拿?

相关内容