質問 :再起動せずに HBA ポートを一時的に有効または無効にする方法は?
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
2. 前に見つけたデバイス ドライバー名と PCI バス アドレスを使用して、PCI バスから PCI デバイスを切断します。
# echo '[pci-device-id]' > /sys/bus/pci/drivers/[pci-driver-name]/unbind
例として、/dev/sdy デバイスを PCI バスから切り離します:
# echo '0000:19:00.0' > /sys/bus/pci/drivers/qla2xxx/unbind
3. デバイスをドライバーに接続します:
# 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