Linux mdadm最佳实践使用:使用wwid或者uuid

Linux mdadm最佳实践:使用 /dev/disk/by-id或/dev/disk/by-uuid


一. 在Linux系统中,mdadm是一种用于管理软件RAID(冗余阵列独立磁盘)的工具。在 Linux 中使用 mdadm 创建和管理 RAID 阵列时,建议使用 /dev/disk/by-id 或 /dev/disk/by-uuid 而不是 /dev/disk/by-path 或 /dev/devname。因为后者可能会随着系统的变化而改变(例如,添加新硬盘时)。

原因:
1. 持久性:硬件级的唯一标识符(如ID、UUID或路径)在系统重启或硬件更改时保持不变,确保了对特定物理设备的稳定引用。

2. 可靠性:使用稳定的标识符可以减少人为错误,例如,错误地识别了磁盘设备,从而导致数据丢失或系统故障。

3. 自动化和脚本:对于自动化部署和管理脚本,使用稳定的标识符可以确保脚本的准确性和可重复性。

二.不同标识符的使用场景
1. /dev/disk/by-id:这是最常用的引用方式,因为它基于硬盘的物理属性(如序列号),几乎不可能发生变化。对于大多数系统而言,这提供了最直接和最可靠的磁盘引用方式,特别适用于RAID阵列。

2./dev/disk/by-uuid:UUID(通用唯一标识符)是在文件系统创建时生成的。使用UUID对于引用特定的文件系统分区非常有用,尤其是在/etc/fstab文件中挂载磁盘时。

3./dev/disk/by-path:这种方式基于磁盘连接到系统的物理路径(例如PCI槽位)。这对于确保物理连接顺序的一致性很有帮助,特别是在依赖特定硬件接口配置的场景中。

3.DEVNAME(例如,/dev/sda):尽管直接使用设备名是最简单直接的方式,但它是最不推荐的,因为它可能会因为新硬盘的添加或其他系统变动而改变。

三.最佳实践
1.对于整个磁盘使用的情况下,在使用mdadm创建RAID阵列时,尽可能使用/dev/disk/by-id/来引用磁盘。这样可以确保无论系统如何变化,RAID配置始终指向正确的物理设备。

2.对于磁盘的分区使用mdadm创建RAID阵列时,建议使用/dev/disk/by-uuid的方式,不过UUID要先生成后使用。

四.使用虚拟机测试

1.使用/dev/disk/by-id/来创建nvme磁盘的RAID1
给虚拟机添加两块nvme格式的虚拟盘。参考红色标记的。可以通过命令:
ls -l /dev/disk/by-id 来获取nvme磁盘的by-id,也可以用udevadm info /dev/nvme0n1 /dev/nvme0n2来获取

使用命令创建mdadm raid1;
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/disk/by-id/nvme-eui.6fca3be7512dbc76000c296ce53d57fb /dev/disk/by-id/nvme-eui.a7edbcfa65f9d6cb000c296f9e532c7b

对dm0进行格式化xfs文件系统:
mkfs.xfs /dev/md0

在根目录下创建md0目录,并挂载到根目录下的md0:
mkdir /md0
mount mount /dev/md0

并修改/etc/fstab新增:
/dev/md0 /md0 xfs defaults 0 0

把mdadm的配置写到/etc/的配置文件中:
mdadm --detail --brief /dev/md0 >> /etc/mdadm.conf

2.新增scci两块磁盘进行测试,由于vmware workstation平台的scsci设备没有by-id,只有by-path,只能尝试在磁盘上创建文件系统,或者pvcreate创建pv设备生成UUID后使用,这里不再详细记录。

posted @ 2025-01-21 11:22  xiaolongli  阅读(170)  评论(0)    收藏  举报