连接 SATA 磁盘时设备会被重命名

连接 SATA 磁盘时设备会被重命名

我有一台运行 Linux 的 HP xw8200 工作站,带有两个连接到板载 LSI SCSI 控制器的小型快速 SCSI 驱动器。驱动器分别在 /dev 中标记为 /dev/sda 和 /dev/sdb。我有一个大型 SATA 磁盘,我想将其添加到系统中来存储数据,但每次连接它时,/dev 都会被分配为 sda,而两个 scsi 驱动器会被分配为 sdb、c,这会扰乱引导过程。我怎样才能让这个SATA驱动器使用sdc?或者说,最快的设置方法是什么?

答案1

sda, sdb,的默认分配顺序sdc是不可预测的。但它可以通过重写udev。您可以通过在/etc/udev/rules.d/local.rules(某些(较旧的?)系统可能仅支持)中添加指令来控制块设备文件的名称/etc/udev/rules.conf。更好的是,您可以添加指令来创建符号链接,并在您的fstab.您可以按驱动程序、序列号进行匹配,或调用外部程序来读取文件系统 UUID 等内容。官方文档有点枯燥;如果您需要编写 udev 规则,您可能更愿意从教程

KERNEL=="sd*", DRIVERS="ahci", SYMLINK+="sata"

如果您仅在驱动器上使用 LVM,则磁盘的块设备使用什么字母并不重要:您只需使用卷名称即可。 (这是 LVM 的主要优点之一。)

如果您查看/dev/disk/by-*,您将看到属于 udev 默认设置一部分的各种命名磁盘的方式:(/dev/disk/by-id磁盘序列号等)、/dev/disk/by-label(文件系统或其他标签)、/dev/disk/by-path(SCSI ID 等)、/dev/disk/by-uuid(文件系统 UUID 和喜欢)。这些可能足以满足您的目的。

匹配文件系统标签或 UUID 比匹配磁盘序列号更好,因为如果您使 RAID 阵列中的磁盘崩溃或从逐字节副本恢复(或者,对于标签,将标签恢复作为您的磁盘序列号的一部分),这些标签或 UUID 不会改变。恢复程序)。您可以直接在第一个字段中使用文件系统 UUID /etc/fstabUUID=01234567-89ab-cdef-0123-456789abcdef而不是块设备路径。

相关内容