第 6 章 持久性命名属性概述

作为系统管理员,您需要引用使用持久性命名属性的存储卷来构建比多个系统引导更可靠存储设置。

6.1. 非持久性命名属性的缺陷

Red Hat Enterprise Linux 提供识别存储设备的多种方法。在使用时,务必要使用正确的选项来识别每个设备,以避免意外访问错误的设备,特别是在安装到或重新格式化驱动器时。

通常,Linux 中使用非持久性名称来表示存储设备,格式为 /dev/sd(主号)(次号)。当检测到设备时,会为每个设备分配主号和次号范围,以及相关的 sd 名称。这意味着,如果设备检测顺序发生了变化,主号和次号范围之间的关联以及相关的 sd 名称可能会发生变化。

在以下情况下可能会在以下情况下更改排序:

  • 系统引导过程的并行化会根据每个系统引导的顺序检测到存储设备。
  • 磁盘无法启动或响应 SCSI 控制器。这会导致通常的设备探测不会检测到它。磁盘不能被系统访问,后续的设备将有其主号和次号范围,包括相关的 sd 名称会下移。例如,如果没有检测到通常称为 sdb 的磁盘,则通常称为 sdc 的磁盘将显示为 sdb
  • SCSI 控制器(主机总线适配器或 HBA)无法初始化,从而导致不能检测到与该 HBA 连接的所有磁盘。任何连接到随后探测到的 HBA 的磁盘都会被分配不同的主号和次号范围,以及不同的相关 sd 名称。
  • 如果系统中存在不同类型的 HBA,则驱动初始化顺序会改变。这会导致连接到那些 HBA 的磁盘以不同顺序被检测到。当将 HBA 移动到系统的不同 PCI 插槽时也会出现这种情况。
  • 连接到带有光纤通道、iSCSI 或 FCoE 适配器的系统的磁盘可能在检测存储设备时无法访问,例如,由于存储阵列或中间交换机断电。如果存储阵列的在线需要比系统启动的时间更长,则系统在电源失败后重启时会出现这种情况。虽然某些光纤通道驱动程序支持一种机制来将持久性 SCSI 目标 ID 指定到 WWPN 映射,但这不会保留主号和次号范围,以及相关的 sd 名称,它只提供一致的 SCSI 目标 ID 号。

这些原因使得在引用设备(例如在 /etc/fstab文件中的)时不希望使用主号和次号范围或相关的 sd 名称。可能挂载了错误的设备,并可能导致数据崩溃。

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