欢迎来到之路教程(on itroad-com)

解决方法

  1. 在 PCI 总线上找到 HBA 地址:
# lspci -k
...
19:00.0 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)
    Subsystem: QLogic Corp. Device 0171
    Kernel driver in use: qla2xxx
19:00.1 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)
    Subsystem: QLogic Corp. Device 0171
    Kernel driver in use: qla2xxx
...

块设备方法:

块设备可以通过磁盘名称获得它们的 PCI 总线地址:

# ls -l /dev/disk/by-path/ | grep -v part
lrwxrwxrwx 1 root root  9 Jan  8 04:03 pci-0000:19:00.0-fc-0x21000024ff49572c-lun-0 -> ../../sdx
lrwxrwxrwx 1 root root  9 Dec 29 10:36 pci-0000:19:00.0-fc-0x21000024ff49572c-lun-1 -> ../../sdy
lrwxrwxrwx 1 root root 10 Jan  8 04:07 pci-0000:19:00.0-fc-0x21000024ff49572c-lun-10 -> ../../sdbx
lrwxrwxrwx 1 root root 10 Jan  8 04:07 pci-0000:19:00.0-fc-0x21000024ff49572c-lun-11 -> ../../sdby
lrwxrwxrwx 1 root root 10 Jan  8 04:07 pci-0000:19:00.0-fc-0x21000024ff49572c-lun-12 -> ../../sdbz
lrwxrwxrwx 1 root root  9 Dec 29 10:36 pci-0000:19:00.0-fc-0x21000024ff49572c-lun-2 -> ../../sdz
  1. 使用之前找到的设备驱动程序名称和 PCIbus 地址,断开 PCI 设备与 PCI 总线的连接:
# echo '[pci-device-id]' > /sys/bus/pci/drivers/[pci-driver-name]/unbind

例如,从 PCIbus 分离 /dev/sdy 设备:

# echo '0000:19:00.0' > /sys/bus/pci/drivers/qla2xxx/unbind
  1. 将设备连接到驱动程序:
# echo "[pci-device-id]" > /sys/bus/pci/drivers/[pci_driver_name]/bind

例如,让 PCI 设备 0000:19:00.0 由 qla2xxx 驱动程序控制:

# echo '0000:19:00.0' > /sys/bus/pci/drivers/qla2xxx/bind

问题:

如何在不重启的情况下临时启用或者禁用 HBA 端口?

在 CentOS/RHEL 中如何不重启而禁用或者启用 HBA
日期:2020-09-17 00:12:29 来源:oir作者:oir