第4章持久命名属性概述
作为系统管理员,您需要使用持久命名属性来引用存储卷,以构建在多个系统启动过程中都可靠的存储设置。
4.1。非持久命名属性的缺点
红帽企业版Linux提供了多种识别存储设备的方法。重要的是在使用时使用正确的选项来标识每个设备,以免无意间访问错误的设备,尤其是在安装到驱动器或重新格式化驱动器时。
传统上,Linux上使用形式的非永久性名称来指代存储设备。在检测到每个设备时,将为其分配主,次编号范围和相关名称。这意味着,如果设备检测的顺序发生变化,则主要和次要数字范围与关联名称之间的关联关系可能会发生变化。 /dev/sd(major number)(minor number)sdsd
在以下情况下,可能会发生顺序更改:
这些原因使得sd在引用诸如/etc/fstab文件中的设备时,不希望使用主要和次要数字范围或相关名称。有可能安装了错误的设备,并可能导致数据损坏。
但是,sd即使使用其他机制(例如,设备报告错误)时,有时仍需要引用名称。这是因为Linux内核sd在有关设备的内核消息中使用名称(以及SCSI主机/通道/目标/ LUN元组)。
4.2。文件系统和设备标识符
本节说明了识别文件系统和块设备的持久属性之间的区别。
文件系统标识符
文件系统标识符绑定到在块设备上创建的特定文件系统。标识符也存储为文件系统的一部分。如果将文件系统复制到其他设备,它仍带有相同的文件系统标识符。另一方面,如果您重写设备(例如通过使用mkfs实用程序对其进行格式化),则设备会丢失该属性。
文件系统标识符包括:
设备标识符
设备标识符绑定到块设备:例如磁盘或分区。如果重写设备(例如通过使用mkfs实用程序对其进行格式化),则该设备将保留该属性,因为该属性未存储在文件系统中。
设备标识符包括:
推荐建议
4.3。由/ dev / disk /中的udev机制管理的设备名称
本节列出了udev服务在/dev/disk/目录中提供的不同种类的持久命名属性。
该udev机制可用于Linux中的所有类型的设备,而不仅仅是存储设备。对于存储设备,Red Hat Enterprise Linux包含udev在/dev/disk/目录中创建符号链接的规则。这使您可以通过以下方式引用存储设备:
尽管udev命名属性是持久性的,但它们不会在系统重新引导时自行更改,但有些属性也是可配置的。
4.3.1。文件系统标识符
/ dev / disk / by-uuid /中的UUID属性
该目录中的条目提供了一个符号名称,该符号名称通过设备上存储的内容(即数据)中的唯一标识符(UUID)来引用存储设备。例如:
/ dev / disk / by-uuid / 3e6be9de-8139-11d1-9106-a43f08d823a6
您可以使用/etc/fstab以下语法,使用UUID来引用文件中的设备:
UUID = 3e6be9de-8139-11d1-9106-a43f08d823a6
您可以在创建文件系统时配置UUID属性,也可以稍后对其进行更改。
/ dev / disk / by-label /中的Label属性
该目录中的条目提供了一个符号名称,该符号名称通过设备上存储的内容(即数据)中的标签来引用存储设备。
例如:
/ dev / disk / by-label / 引导
您可以使用/etc/fstab以下语法使用标签来引用文件中的设备:
LABEL = 靴子
您可以在创建文件系统时配置Label属性,也可以稍后对其进行更改。
4.3.2。设备标识符
/ dev / disk / by-id /中的WWID属性
全球标识符(WWID)是SCSI标准要求所有SCSI设备提供的与系统无关的永久标识符。WWID标识符对于每个存储设备都是唯一的,并且独立于用于访问该设备的路径。标识符是设备的属性,但不存储在设备的内容(即数据)中。
可以通过发出SCSI查询来检索设备标识重要产品数据(第页0x83)或设备序列号(第页0x80)来获得此标识符。
红帽企业版Linux自动维护该系统上从基于WWID的设备名称到当前/dev/sd名称的正确映射。应用程序可以使用该/dev/disk/by-id/名称来引用磁盘上的数据,即使设备的路径发生了更改,甚至是从其他系统访问设备时也是如此。
示例4.1 WWID映射
WWID符号链接 |
非持久性设备 |
注意 |
/dev/disk/by-id/scsi-3600508b400105e210000900000490000 |
/dev/sda |
具有页面0x83标识符的 设备 |
/dev/disk/by-id/scsi-SSEAGATE_ST373453LW_3HW1RHM6 |
/dev/sdb |
具有页面0x80标识符的 设备 |
/dev/disk/by-id/ata-SAMSUNG_MZNLN256HMHQ-000L7_S2WDNX0J336519-part3 |
/dev/sdc3 |
磁盘分区 |
除了系统提供的这些永久名称之外,您还可以使用udev规则来实现自己的永久名称,这些名称映射到存储的WWID。
/ dev / disk / by-partuuid中的“分区UUID”属性
分区UUID(PARTUUID)属性标识由GPT分区表定义的分区。
示例4.2 分区UUID映射
PARTUUID符号链接 |
非持久性设备 |
/dev/disk/by-partuuid/4cd1448a-01 |
/dev/sda1 |
/dev/disk/by-partuuid/4cd1448a-02 |
/dev/sda2 |
/dev/disk/by-partuuid/4cd1448a-03 |
/dev/sda3 |
/ dev / disk / by-path /中的Path属性
此属性提供了一个符号名称,该符号名称通过用于访问设备的硬件路径来引用存储设备。
警告
Path属性不可靠,因此Red Hat不建议您使用它。
4.4。带有DM多路径的全球标识符
本节描述了设备标识符多路径配置中的全球标识符(WWID)和非持久性设备名称之间的映射。
如果从系统到设备有多个路径,则DM Multipath会使用WWID来检测到该路径。DM Multipath然后在/dev/mapper/wwid目录中显示一个“伪设备” ,例如/dev/mapper/3600508b400105df70000e00000ac0000。
该命令multipath -l显示到非持久标识符的映射:
示例4.3 多路径配置中的WWID映射
multipath -l命令 的示例输出:
3600508b400105df70000e00000ac0000 dm-2供应商,产品
[size = 20G] [功能= 1 queue_if_no_path] [hwhandler = 0] [rw]
\ _轮询0 [prio = 0] [正在使用]
\ _ 5:0:1:1 sdc 8:32 [有效] [未定义]
\ _ 6:0:1:1 sdg 8:96 [有效] [undef]
\ _轮询0 [prio = 0] [启用]
\ _ 5:0:0:1 sdb 8:16 [有效] [未定义]
\ _ 6:0:0:1 SDF 8:80 [有效] [未定义]
DM Multipath自动维护每个基于WWID的设备名称到/dev/sd系统上其对应名称的正确映射。这些名称在路径更改时保持不变,并且从不同系统访问设备时它们是一致的。
使用user_friendly_namesDM Multipath 的功能时,WWID映射为form的名称。默认情况下,此映射保留在file中。只要维护该文件,这些名称就可以持久。 /dev/mapper/mpathN/etc/multipath/bindingsmpathN
重要
如果使用user_friendly_names,则需要其他步骤才能在群集中获得一致的名称。
4.5。udev设备命名约定的局限性
以下是udev命名约定的一些限制:
4.6。列出持久命名属性
此过程描述了如何找出非持久性存储设备的持久性命名属性。
程序
$ lsblk --fs 存储设备
例如:
示例4.4 查看文件系统的UUID和标签
$ lsblk --fs / dev / sda1
名称FSTYPE 标签 UUID MOUNTPOINT
sda1 xfs 引导 afa5d5e3-9050-48c3-acc1-bb30095f3dc4 /引导
$ lsblk-输出+ PARTUUID
例如:
示例4.5 查看分区的PARTUUID属性
$ lsblk-输出+ PARTUUID / dev / sda1
名称MAJ:MIN RM尺寸RO类型MOUNTPOINT PARTUUID
sda1 8:1 0 512M 0 part / boot 4cd1448a-01
示例4.6 查看系统上所有存储设备的WWID
$文件/ dev / disk / by-id / *
/ dev / disk / by-id / ata-QEMU_HARDDISK_QM00001:指向../../sda的符号链接
/ dev / disk / by-id / ata-QEMU_HARDDISK_QM00001-part1:指向../../sda1的符号链接
/ dev / disk / by-id / ata-QEMU_HARDDISK_QM00001-part2:指向../../sda2的符号链接
/ dev / disk / by-id / dm-name-rhel_rhel8-root:指向../../dm-0的符号链接
/ dev / disk / by-id / dm-name-rhel_rhel8-swap:指向../../dm-1的符号链接
/ dev / disk / by-id / dm-uuid-LVM-QIWtEHtXGobe5bewlIUDivKOz5ofkgFhP0RMFsNyySVihqEl2cWWbR7MjXJolD6g:指向../../dm-1的符号链接
/ dev / disk / by-id / dm-uuid-LVM-QIWtEHtXGobe5bewlIUDivKOz5ofkgFhXqH2M45hD2H9nAf2qfWSrlRLhzfMyOKd:指向../../dm-0的符号链接
/ dev / disk / by-id / lvm-pv-uuid-atlr2Y-vuMo-ueoH-CpMG-4JuH-AhEF-wu4QQm:指向../../sda2的符号链接
4.7。修改持久命名属性
此过程描述了如何更改文件系统的UUID或Label持久命名属性。
注意
更改udev属性会在后台发生,并且可能需要很长时间。该udevadm settle命令将等待直到更改被完全注册,这确保您的下一个命令将能够正确利用新属性。
在以下命令中:
先决条件
程序
#udevadm解决
#udevadm解决
#udevadm解决