我的情况:
我目前正在运行带有 4x2 TB 磁盘的 RAID 5,并希望使用 2 x 4 TB 磁盘扩展阵列。目标是有一个带有 4 x 4 TB 的 RAID 5(两个 4 TB 磁盘和两个 RAID 0,每个 RAID 0 有两个 2 TB 磁盘)。不幸的是,我没有足够的空间进行完整备份,所以我无法构建新的 RAID。重要数据备份在异地服务器上,留下大约 4TB 未受保护的、不太重要的数据,我仍然尽量避免丢失这些数据。
我的问题:
实现这一目标最安全的方法是什么?
- 使用两个 4 TB 磁盘创建新的 RAID 1,复制数据,然后添加其他磁盘并将 RAID 1 更改为 RAID 5 并扩大其容量?
- 用新的 4 TB 磁盘替换两个 2 TB 磁盘,将释放的磁盘合并到 RAID 0,添加它以用 RAID 0 替换第三个 2 TB 磁盘,移除最后一个 2 TB 磁盘并创建另一个 RAID 0 并用它替换丢失的第 4 个磁盘,然后扩大阵列?
这两个选项中哪一个最安全?有没有更好的方法来实现我想要的效果?
答案1
我不太喜欢按照您所考虑的方式对 RAID 进行分层(在 RAID0 之上建立 RAID5)。
我更愿意创建两个独立的 RAID5。
您建议将 4 个 2TB 硬盘(虚拟)转换为 2 个 4TB HD,并再添加 2 个 4TB HD。这样您将获得 12TB 的可用空间。
或者,考虑将两个新的 4TB 减半,并将原始 RAID5 扩展为 6x 2TB。这样新驱动器的下半部分将剩下 2x 2TB。这些可以组合成 RAID1。最终结果是 12TB 的可用空间。
另一种能提供相同可用空间的方案是,从 4 个 2TB 分区构建 2 个 RAID5。将新驱动器的上半部分与两个旧驱动器组合。将新驱动器的下半部分与另外两个旧驱动器组合。最终您将获得 12TB 的可用空间。
我发明了一个理论(可能是在最初的科学家发明 RAID 后大约一周首次提出的),即 RAID5 所能获得的最大可用空间等于所有可用驱动器的总和(不包括其中最大的驱动器)。您可以采用提供较少空间的方式对它们进行 RAID,但不能采用提供更多空间的方式对它们进行 RAID。
对于您的具体情况,最安全的步骤是图表中间的步骤,即使用两个新分区扩展现有 RAID5,然后使用剩余的新驱动器添加镜像。如果您已经在使用 LVM(并且您完全应该使用 LVM),您可以扩展旧 RAID 上的 PV,并将新镜像的 PV 添加到卷组。
答案2
您唯一的“安全”选项是使用 4TB 磁盘(7.9TB)创建降级 RAID5,在其上使用 ZFS 或 LVM + EXT4 之类的东西,以便以后可以扩展文件系统。复制数据,将 4 个 2TB 磁盘变成 2 个 4TB RAID0 阵列,将它们添加到降级阵列,将其推高至 12TB,然后扩展文件系统
如果一切顺利且没有任何数据丢失,那就出去给自己买几张彩票吧。
(免责声明:我不会尝试这个,我会出去再购买 1 个 4TB 磁盘)