我经常无法在 CentOS 5 或 6 下卸载 Qlogic 光纤模块。qla2xxx
这些机器正在运行 StorNext cvfs
、EMCpowerpath
和hostagent
。其他任何东西都不应接触光纤。在尝试移除模块之前,这三个进程都已停止。下面输出的有趣之处在于lsmod
:qla2xxx
被 45 个东西使用,但没有一个列出。运行后没有可见的“光纤”进程(据我所知)sudo ps ax
。 我没有尝试过“强制(强制移除(-f
)”移除-f
)对情况没有帮助。
# service cvfs status
Active SNFS mountpoints:
Error: fsmpm not running!
# service PowerPath stop
Stopping PowerPath: PowerPath is not running done
# service hostagent status
hostagent is stopped
# modprobe -v -r qla2xxx
FATAL: Module qla2xxx is in use.
# rmmod -v qla2xxx
ERROR: Module qla2xxx is in use
# lsmod | grep qla
qla2xxx 366555 45
scsi_transport_fc 52241 1 qla2xxx
# modprobe --show-depends qla2xxx
insmod /lib/modules/2.6.32-220.7.1.el6.x86_64/kernel/drivers/scsi/scsi_tgt.ko
insmod /lib/modules/2.6.32-220.7.1.el6.x86_64/kernel/drivers/scsi/scsi_transport_fc.ko
insmod /lib/modules/2.6.32-220.7.1.el6.x86_64/kernel/drivers/scsi/qla2xxx/qla2xxx.ko ql2xfailover=0
# modprobe -r -v scsi_transport_fc
FATAL: Module scsi_transport_fc is in use.
# modprobe --show-depends scsi_transport_fc
insmod /lib/modules/2.6.32-220.7.1.el6.x86_64/kernel/drivers/scsi/scsi_tgt.ko
insmod /lib/modules/2.6.32-220.7.1.el6.x86_64/kernel/drivers/scsi/scsi_transport_fc.ko
# lsmod | grep scsi_
scsi_transport_fc 52241 1 qla2xxx
scsi_tgt 12173 1 scsi_transport_f
# modprobe -r -v scsi_tgt
FATAL: Module scsi_tgt is in use.
# modprobe --show-depends scsi_tgt
insmod /lib/modules/2.6.32-220.7.1.el6.x86_64/kernel/drivers/scsi/scsi_tgt.ko
更新:主机上的每个 HBA 都有一个内核线程,当我尝试删除模块时,该线程应该会被终止。
# ps ax | grep qla
551 ? S< 0:00 [qla2xxx_0_dpc]
557 ? S< 0:00 [qla2xxx_1_dpc]
563 ? S< 0:00 [qla2xxx_2_dpc]
569 ? S< 0:00 [qla2xxx_3_dpc]
答案1
您遇到的问题可能是一个错误。请参阅:
答案2
您是否尝试过通过一次操作删除所有内容?
modprobe -r -f -v scsi_tgt scsi_transport_fc qla2xxx
我不确定我的替代方案是否符合您的需求:将以下行添加到/etc/modprobe.conf
alias qla2xxx off
将阻止模块在启动时自动加载,因此您的依赖锁定情况,但它需要重新启动......
答案3
尝试:
service multipathd stop
multipath -F
modprobe -r -f -v scsi_tgt scsi_transport_fc qla2xxx