我计划从两个相同的 1TB 磁盘创建一个纯软件 Linux MD RAID10 阵列(使用mdadm
)。我应该直接在两个磁盘设备(/dev/sda
和/dev/sdb
)上创建它,还是在每个驱动器中创建一个分区以用于阵列(/dev/sda1
和/dev/sdb1
)?
我之所以问这个问题,是因为我听说分区方法是一个好主意,使分区比整个设备略小,以便容纳将来尺寸略小的替换磁盘。但是,一些来源(man mdadm
)建议使用--size
选项更正确地实现这一点mdadm
,但我不知道这是否适用于 RAID10?
答案1
我最终选择了基于分区的解决方案。毕竟,如果 RAID 元数据以某种方式丢失,这将允许我将其中一个镜像成员分区挂载为常规分区,就像我最近遇到的情况一样:https://askubuntu.com/questions/311024/raid1-array-lost-after-upgrade-from-ubuntu-11-10-to-13-04mdadm --size ...
。我不确定如果我使用解决方案直接在设备上创建阵列,是否能够像这样恢复。
答案2
我认为您的分区与驱动器问题与您的阵列是否为 MD RAID 10 无关。分区与驱动器问题优先。当谈到扩大或缩小阵列时,如果 MDADM 可以对 RAID 1 执行某些操作,那么它可能也可以对 RAID 10 执行某些操作。
就这一点而言,如果您不将整个驱动器用于阵列,以防将来得到的另一个驱动器最终变得更小,那么会更容易,而您现在还是以后解决此类问题取决于您的偏好。我个人为我的 MD RAID 10 阵列使用一个略小的分区,因为它比在阵列到位后调整大小更安全。
与 Hennes 所说的相反,在两个驱动器上使用软件 RAID 10 确实可以提高性能。当我使用同一台计算机中的相同驱动器将阵列从 1 重建为 10 时,我的性能实际上翻了一番。RAID 1 无法自然读取两个磁盘,这似乎很荒谬,但事实并非如此!我正在考虑添加第三个驱动器以实现双倍冗余,因为我使用的是较旧的驱动器,而且我认为由于通常使用较旧的硬件,重建期间出现故障的风险很高。而且速度提升不会造成任何损害。
需要注意的是,我甚至有两块不同大小的硬盘(1TB 和 2TB),来自 2 家不同的制造商。这不是最好的情况,但效果很好!写入速度比单块硬盘慢,但读取速度很快!只有 2 块硬盘,重建速度很快!(无奇偶校验)享受您的双硬盘 RAID 10,享受像 Hennes 这样确信您需要 4 块硬盘的人。:)