mdadm 配置分区 vs 通过 uuid 分区 vs 自动分区

mdadm 配置分区 vs 通过 uuid 分区 vs 自动分区

我正在尝试在我的 Ubuntu 机器上使用mdadm.

我读了一些教程,它们都直接使用分区名称,例如:

$ sudo mdadm \
       --create /dev/md0 \
       --level=6 --raid-devices=4 \
       /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

据我所知,分区名称可能会根据它们连接的位置而改变。

因此(逻辑上)我尝试不是通过名称而是通过 UUID 来“绑定”分区,令人惊讶的是,在执行此操作时我没有找到太多资源。

我发现了在这里发帖,我认为尝试同样的方法。

帖子中的方法使用的/dev/disk/by-partuuid/<X><X>一些ID 大概是通过诸如 之类的命令获得的sudo blkid /dev/sdX

我现在的问题是,如何使用 UUID 而不是分区名称创建 RAID6 阵列?

另外,作为奖励:我读到省略会导致“扫描”分区devices中的超级块并基于此组装数组。对于本地 RAID 设置来说,这是一个好的方法吗?/etc/mdadm/mdadm.confmdadm

答案1

这是一个先有鸡还是先有蛋的问题。

使用 UUID 并没有错,但为了使用它们,它们必须首先存在。

块设备从其上的元数据获取其 UUID。mdadm --create是将此类元数据写入块设备的命令之一。如果不先运行mdadm --create,就没有UUID。所以只能直接指定设备名称为/dev/sd{a,b,c,d}1.

否则,您必须依赖其他一些 UUID 提供程序。 PARTUUID 由分区表提供。你可以使用它。它会起作用的。

如果还没有分区表,则没有 PARTUUID。在这种情况下,udev 还在 下提供了大量其他设​​备名称/dev/disk/*/*,例如您可能会在其中找到设备型号和序列号。因此,即使在创建任何 UUID 之前,也可以使用唯一的设备名称。

parted通常不会这样做,因为在对这些块设备运行、mdadm --create等之前,您会使用其他命令来确定这些块设备的身份mkfs

可以指定/dev/sd{a,b,c,d}1您在运行命令时是否已检查这些设备是否正确。之后,在 mdadm.conf、fstab 等中,您只能使用 UUID,除非您有充分的理由不这样做。

相关内容