RHEL 8 VDO重复数据删除和压缩存储-第4章持久命名属性概述

4章持久命名属性概述

作为系统管理员,您需要使用持久命名属性来引用存储卷,以构建在多个系统启动过程中都可靠的存储设置。

4.1。非持久命名属性的缺点

红帽企业版Linux提供了多种识别存储设备的方法。重要的是在使用时使用正确的选项来标识每个设备,以免无意间访问错误的设备,尤其是在安装到驱动器或重新格式化驱动器时。

传统上,Linux上使用形式的非永久性名称来指代存储设备。在检测到每个设备时,将为其分配主,次编号范围和相关名称。这意味着,如果设备检测的顺序发生变化,则主要和次要数字范围与关联名称之间的关联关系可能会发生变化。 /dev/sd(major number)(minor number)sdsd

在以下情况下,可能会发生顺序更改:

  • 系统引导过程的并行化在每次系统引导时以不同的顺序检测存储设备。
  • 磁盘无法启动或无法响应SCSI控制器。这导致普通设备探针无法检测到它。系统无法访问该磁盘,后续设备的主要和次要数字范围,包括sd向下移动的相关名称。例如,如果sdb未检测到通常称为的磁盘,则通常称为的磁盘sdc将显示为sdb。
  • SCSI控制器(主机总线适配器或HBA)初始化失败,导致未检测到连接到该HBA的所有磁盘。连接到随后探查的HBA的所有磁盘均被分配了不同的主,次编号范围以及不同的关联sd名称。
  • 如果系统中存在不同类型的HBA,则驱动程序初始化的顺序将更改。这将导致以不同顺序检测连接到这些HBA的磁盘。如果将HBA移至系统上的其他PCI插槽,也可能会发生这种情况。
  • 例如,由于存储阵列或介入式交换机已关闭电源,因此在探测存储设备时,可能无法访问通过光纤通道,iSCSI或FCoE适配器连接到系统的磁盘。如果存储阵列上电花费的时间比系统启动所花费的时间长,那么在电源故障后系统重新启动时,可能会发生这种情况。尽管某些光纤通道驱动程序支持将持久性SCSI目标ID指定为WWPN映射的机制,但这不会导致主要和次要数字范围以及相关sd名称被保留;它仅提供一致的SCSI目标ID号。

这些原因使得sd在引用诸如/etc/fstab文件中的设备时,不希望使用主要和次要数字范围或相关名称。有可能安装了错误的设备,并可能导致数据损坏。

但是,sd即使使用其他机制(例如,设备报告错误)时,有时仍需要引用名称。这是因为Linux内核sd在有关设备的内核消息中使用名称(以及SCSI主机/通道/目标/ LUN元组)。

4.2。文件系统和设备标识符

本节说明了识别文件系统和块设备的持久属性之间的区别。

文件系统标识符

文件系统标识符绑定到在块设备上创建的特定文件系统。标识符也存储为文件系统的一部分。如果将文件系统复制到其他设备,它仍带有相同的文件系统标识符。另一方面,如果您重写设备(例如通过使用mkfs实用程序对其进行格式化),则设备会丢失该属性。

文件系统标识符包括:

  • 唯一标识符(UUID)
  • 标签

设备标识符

设备标识符绑定到块设备:例如磁盘或分区。如果重写设备(例如通过使用mkfs实用程序对其进行格式化),则该设备将保留该属性,因为该属性未存储在文件系统中。

设备标识符包括:

  • 全球标识符(WWID)
  • 分区UUID
  • 序列号

推荐建议

  • 某些文件系统(例如逻辑卷)跨多个设备。红帽建议使用文件系统标识符而不是设备标识符来访问这些文件系统。

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显示到非持久标识符的映射:

  • Host:Channel:Target:LUN
  • /dev/sd 名称
  • major:minor 数

示例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.5udev设备命名约定的局限性

以下是udev命名约定的一些限制:

  • 在执行查询时可能无法访问该设备,因为在处理事件规则udev时该机制可能依赖于查询存储设备的能力。当光纤通道,iSCSI或FCoE存储设备不在服务器机箱中时,这种情况更可能发生。 udevudev
  • 内核可以udev随时发送事件,从而导致规则被处理,并且/dev/disk/by-*/如果无法访问设备,则可能导致链接被删除。
  • udev生成事件与处理事件 之间可能会有延迟,例如检测到大量设备并且用户空间udevd服务需要花费一些时间来处理每个规则时。这可能导致内核检测到设备与/dev/disk/by-*/名称可用之间的延迟。
  • blkid规则 所调用的外部程序可能会在短时间内打开设备,使设备无法用于其他用途。

4.6。列出持久命名属性

此过程描述了如何找出非持久性存储设备的持久性命名属性。

程序

  • 要列出UUID和标签属性,请使用该lsblk实用程序:

$ lsblk --fs 存储设备

例如:

示例4.4 查看文件系统的UUID和标签

$ lsblk --fs / dev / sda1

 

名称FSTYPE 标签 UUID                                  MOUNTPOINT

sda1 xfs     引导  afa5d5e3-9050-48c3-acc1-bb30095f3dc4 /引导

  • 要列出PARTUUID属性,请将该lsblk实用程序与以下--output +PARTUUID选项一起使用:

$ 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

  • 要列出WWID属性,请检查/dev/disk/by-id/目录中符号链接的目标。例如:

示例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命令将等待直到更改被完全注册,这确保您的下一个命令将能够正确利用新属性。

在以下命令中:

  • new-uuid替换为您要设置的UUID;例如,1cdfbc07-1c90-4984-b5ec-f61943f5ea50。您可以使用以下uuidgen命令生成UUID 。
  • 标签替换标签;例如,backup_data。

先决条件

  • 如果要修改XFS文件系统的属性,请先将其卸载。

程序

  • 要更改XFS文件系统的UUID或Label属性,请使用该xfs_admin实用程序:
  • #xfs_admin -U new-uuid -L new-label  存储设备

#udevadm解决

  • 要更改ext4ext3ext2文件系统的UUID或Label属性,请使用tune2fs实用程序:
  • #tune2fs -U new-uuid -L new-label  存储设备

#udevadm解决

  • 要更改交换卷的UUID或标签属性,请使用该swaplabel实用程序:
  • #swaplabel --uuid new-uuid --label new-label  swap-device

#udevadm解决

你可能感兴趣的:(RHEL 8 VDO重复数据删除和压缩存储-第4章持久命名属性概述)