Назад | Перейти на главную страницу

Обычно не удается удалить модуль qla2xxx под CentOS

Обычно я не могу выгрузить оптоволоконный модуль Qlogic qla2xxx под CentOS 5 или 6. На этих машинах работает StorNext cvfs, EMC powerpath и 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]

Проблема, с которой вы столкнулись, может быть ошибкой. Видеть:

http://www.spinics.net/lists/linux-scsi/msg52025.html

Пытаться:

service multipathd stop
multipath -F 
modprobe -r -f -v scsi_tgt scsi_transport_fc qla2xxx

Вы пробовали удалить все за одну операцию?

modprobe -r -f -v scsi_tgt scsi_transport_fc qla2xxx

Я не уверен, что мое альтернативное предложение соответствует вашим потребностям: добавление следующей строки в /etc/modprobe.conf

alias qla2xxx off

предотвратит автоматическую загрузку модуля во время загрузки и, следовательно, вашу ситуацию с блокировкой зависимостей, но для этого потребуется перезагрузка ...