25.11. 添加存储设备或路径
添加设备时,请注意系统分配给新设备的设备名称(/dev/sd 名称、main :minor 号和
/dev/disk/by-path
名称)。因此,请确保已删除所有对基于路径的设备名称的旧引用。否则,新设备可能会被误认为是旧设备。
过程 25.13. 添加存储设备或路径
- 添加存储设备或路径的第一步是物理启用对新存储设备的访问,或对现有设备的新路径的访问。这是通过对光纤通道或 iSCSI 存储服务器使用特定于供应商的命令来完成的。执行此操作时,请注意将呈现给您的主机的新存储的 LUN 值。如果存储服务器是光纤通道,可记下存储服务器的 全球节点名称 (WWNN),并确定存储服务器上的所有端口是否有单个 WWNN。否则,请注意将用于访问新 LUN 的每个端口的 全球端口名称 (WWPN)。
- 接下来,使操作系统知道新的存储设备,或现有设备的路径。建议使用的命令有:
echo "c t l" > /sys/class/scsi_host/hosth/scan
$ echo "c t l" > /sys/class/scsi_host/hosth/scan
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在上一命令中,h 是 HBA 号,c 是 HBA 上的频道,t 是 SCSI 目标 ID,l 是 LUN。注意此命令的旧形式 echo "scsi add-single-device 0 0 0 0" > /proc/scsi/scsi 已被弃用。- 在某些光纤通道硬件中,RAID 阵列上新创建的 LUN 可能在执行 循环初始化协议(LIP)操作之前无法被操作系统看到。有关如何操作的说明,请参阅 第 25.12 节 “扫描存储互连”。重要如果需要 LIP,则需要在执行此操作时需要停止 I/O。
- 如果在 RAID 阵列中添加了新的 LUN,但仍然没有被操作系统配置,请使用 sg_luns 命令(这是 sg3_utils 软件包的一部分)确认阵列导出的 LUN 列表。这会将 SCSI REPORT LUNS 命令发布到 RAID 阵列,并返回存在的 LUN 列表。
对于为所有端口实现单个 WWNN 的光纤通道存储服务器,您可以通过搜索 sysfs 中的 WWNN 来确定正确的 h、c 和 t 值(如 HBA 号、HBA 通道和 SCSI 目标 ID)。例 25.5. 确定正确的 h、c 和 t 值
例如,如果存储服务器的 WWNN 是0x5006016090203181
,请使用:grep 5006016090203181 /sys/class/fc_transport/*/node_name
$ grep 5006016090203181 /sys/class/fc_transport/*/node_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这应该显示类似于如下的输出:/sys/class/fc_transport/target5:0:2/node_name:0x5006016090203181 /sys/class/fc_transport/target5:0:3/node_name:0x5006016090203181 /sys/class/fc_transport/target6:0:2/node_name:0x5006016090203181 /sys/class/fc_transport/target6:0:3/node_name:0x5006016090203181
/sys/class/fc_transport/target5:0:2/node_name:0x5006016090203181 /sys/class/fc_transport/target5:0:3/node_name:0x5006016090203181 /sys/class/fc_transport/target6:0:2/node_name:0x5006016090203181 /sys/class/fc_transport/target6:0:3/node_name:0x5006016090203181
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 这表示有四个光纤通道路由到这个目标(两个单通道 HBA,各自指向两个存储端口)。假设 LUN 值为56
,以下命令将配置第一个路径:echo "0 2 56" > /sys/class/scsi_host/host5/scan
$ echo "0 2 56" > /sys/class/scsi_host/host5/scan
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必须为新设备的每个路径完成此操作。对于不为所有端口实现单个 WWN 的光纤通道存储服务器,您可以通过在 sysfs 中搜索每个 WWPN 来确定正确的 HBA 号、HBA 通道和 SCSI 目标 ID。确定 HBA 号、HBA 通道和 SCSI 目标 ID 的另一种方法是参考已在与新设备相同的路径上配置的另一个设备。这可以通过各种命令完成,如 lsscsi、scsi_id、multipath -l 和 ls -l /dev/disk/byrew。此信息以及新设备的 LUN 号,可以探测并配置新设备的路径,如上所示。 - 向设备添加所有 SCSI 路径后,执行 multipath 命令,并检查该设备是否已正确配置。此时,可以将设备添加到 md、LVM、mkfs 或 mount 中。
如果遵循上述步骤,则可以安全地将设备添加到正在运行的系统中。在完成此操作的时,不需要停止到其他设备的 I/O 。在存储 I/O 进行的过程中,不建议采用其他涉及 SCSI 总线的重新扫描(或重置)的流程,这会导致操作系统更新其状态,以反映当前的设备连接。