web-dev-qa-db-ja.com

CentOSでqla2xxxモジュールを定期的に削除できません

CentOS5または6でQlogicファイバーモジュールqla2xxxを定期的にアンロードできません。これらのマシンはStorNextcvfs、EMC powerpath、およびhostagentを実行しています。他に何も繊維に触れてはいけません。モジュールを削除する前に、これら3つのプロセスすべてが停止されています。以下の出力の興味深い点は、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]
3
greg

あなたが直面している問題はバグである可能性があります。見る:

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

1
Peter Senna

試してください:

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

1回の操作ですべてを削除しようとしましたか?

modprobe -r -f -v scsi_tgt scsi_transport_fc qla2xxx

私の代替提案があなたのニーズに合っているかどうかわかりません:/etc/modprobe.confに次の行を追加します

alias qla2xxx off

起動時にモジュールが自動ロードされないため、依存関係がロックされますが、再起動する必要があります...

0
Yves Martin