![mdadm — 分区的 RAID 还是 RAID 的分区?](https://linux22.com/image/664491/mdadm%20%E2%80%94%20%E5%88%86%E5%8C%BA%E7%9A%84%20RAID%20%E8%BF%98%E6%98%AF%20RAID%20%E7%9A%84%E5%88%86%E5%8C%BA%EF%BC%9F.png)
如果将整个驱动器用于 mdadm RAID 并且将其作为启动设备,那么更正确/标准的做法是:
1) 使用包含整个驱动器的分区(如 /dev/sda1 + /dev/sdb1)配置 RAID,然后将生成的单个 md 设备划分为各个分区。
或者
2)在每个驱动器上创建所需大小的所有分区,然后创建这些分区的 RAID(例如 sda1 + sdb1、sda2 + sdb2、sda3 + sdb3 等)
我认为 #1 的好处是可以轻松更换驱动器,并且有人告诉我 #1 允许 mdadm 更有效地并行执行跨各个成员驱动器的读取。
是否有一些权威的链接讨论其中一种是首选方法?
答案1
使用磁盘 MD (sda + sdb) 或分区 MD (sda1 + sdb1) 有明显区别,您似乎将它们混为一谈。无法从整个磁盘 MD 启动。因此,我倾向于在我启动的磁盘/阵列上创建分区 MD RAID。
如果我有组成阵列的辅助磁盘(如 sdc + sdd),我倾向于制作整个设备 MD,使其成为 LVM 卷组并向其添加逻辑卷。这使得更换磁盘变得更容易一些,因为您只需热移除和热添加新磁盘即可,而不必对每个分区都执行此操作。此外,如果您的替换磁盘更大,则更容易将该空间添加到阵列(尽管使用分区时并非不可能)。
答案2
据我所知,没有一套标准(或最佳实践)。不同的发行版和供应商对布局有不同的建议。
对于操作系统安装,我通常会创建两个 MD 设备:一个用于交换 (md0),另一个用于 / (md1)。如果我必须将操作系统数据与应用程序数据分开,我会将 md1 分配给 LVM 并创建逻辑卷来分离它们,而不是创建额外的 MD 设备。
这完全取决于您的需求、您的应用程序或操作系统供应商将支持什么(如果有)以及您的个人偏好。