6.3. 使用 /dev/disk/ 中的 udev 机制管理的设备名称
udev
机制用于 Linux 中的所有设备,而不仅限于存储设备。它在 /dev/disk/
目录中提供不同类型的持久命名属性。对于存储设备,Red Hat Enterprise Linux 包含 udev
规则,该规则在 /dev/disk/
目录中创建符号链接。这可让您使用以下方法指向存储设备:
- 其内容
- 唯一标识符
- 它们的序列号。
虽然 udev
命名属性是持久的,但它们在系统重启后不会自行更改,但有一部分也是可以配置的。
6.3.1. 文件系统识别符
/dev/disk/by-uuid/ 中的 UUID 属性
此目录中的条目提供一个符号链接名称,通过存储在设备上的内容(即数据)中的 唯一标识符 (UUID) 来指向存储设备。例如:
/dev/disk/by-uuid/3e6be9de-8139-11d1-9106-a43f08d823a6
您可以使用以下语法,使用 UUID 指向 /etc/fstab
文件中的设备:
UUID=3e6be9de-8139-11d1-9106-a43f08d823a6
您可以在创建文件系统时配置 UUID 属性,您也可以稍后修改它。
/dev/disk/by-label/ 中的 Label 属性
这个目录中的条目提供了一个符号链接名称,它们使用保存在该设备中的内容(即数据)的一个 label 指向存储设备。
例如:
/dev/disk/by-label/Boot
您可以使用以下语法,使用标签来指向 /etc/fstab
文件中的设备:
LABEL=Boot
您可以在创建文件系统时配置 Label 属性,您也可以稍后修改它。
6.3.2. 设备识别符
/dev/disk/by-id/ 中的 WWID 属性
全球识别符(WWID)是一个持久的、系统独立的标识符,SCSI 标准要求所有 SCSI 设备都使用它。保证 WWID 标识符对于每个存储设备都是唯一的,并且独立于用于访问该设备的路径。标识符是设备的属性,但不存储在设备上的内容(也就是数据)中。
可通过发出 SCSI 询问来检索设备识别重要产品数据(第 0x83
页)或单元序列号(第 0x80
页)来获取此标识符。
Red Hat Enterprise Linux 自动维护从基于 WWID 的设备名称到该系统上当前 /dev/sd
名称的正确映射。应用程序可以使用 /dev/disk/by-id/
名称来引用磁盘上的数据,即使设备的路径有变化,即使从不同的系统访问该设备也一样。
如果您在使用 NVMe 设备,如果设备的序列号有前导空格,则可能会遇到某些供应商按磁盘 id 命名的更改。
例 6.1. WWID 映射
WWID 符号链接 | 非持久性设备 | 备注 |
---|---|---|
|
|
具有页面 |
|
|
具有页面 |
|
| 磁盘分区 |
除了系统提供的这些持久名称外,您还可以使用 udev
规则来实现映射到存储的 WWID 的持久名称。
/dev/disk/by-partuuid 中的分区 UUID 属性
分区 UUID(PARTUUID)属性标识 GPT 分区表定义的分区。
例 6.2. 分区 UUID 映射
PARTUUID 符号链接 | 非持久性设备 |
---|---|
|
|
|
|
|
|
/dev/disk/by-path/ 中的 Path 属性
此属性通过用于访问该设备的 硬件路径 来提供一个指向存储设备的符号链接。
如果硬件路径的任何部分(如 PCI ID、目标端口或 LUN 号)发生变化,Path 属性会失败。因此 Path 属性是不可靠的。但是 Path 属性在以下情况下可能有用:
- 您需要识别您要替换的磁盘。
- 您计划在特定位置的磁盘中安装存储服务。