我有一台简单的服务器,里面有 6 个硬盘驱动器(全部是 SATA)。它们处于简单的 JBOD(只是一堆磁盘)模式,因此 Linux 只显示以下设备(假设每个设备都有一个 ext2 分区)。
/dev/sda
/dev/sda1
/dev/sdb
/dev/sdb1
/dev/sdc
/dev/sdc1
/dev/sdd
/dev/sdd1
/dev/sde
/dev/sde1
/dev/sdf
/dev/sdf1
现在,如果我在例行维护期间意外交换两个磁盘,则设备名称(即:)/dev/sdx
和实际磁盘名称之间的映射就会被交换。
有没有办法让 fstab 需要额外的参数(即:某种 VOLUME/DISK UUID,或某种驱动器序列号),以便我可以强制执行设备名称到物理设备的映射,如果驱动器在服务器内部连接错误,该映射不会改变?
谢谢。
答案1
当然可以。如果您的分区有标签(例如通过e2label
),那么您可以使用LABEL=xxxx
,否则您可以UUID=xxxx
在使用获取 UUID 后使用blkid
。
答案2
您也/dev/sdX
可以使用UID=
如下示例所示的方法:
UUID=81658fcf-1777-457a-934e-5d9a399fdf26 / ext4 errors=remount-ro 0 1
那么设备的顺序就不再重要了。