第 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 元组)。