ファイバーチャネルを介してLinuxボックスに接続されたSANストレージアレイに深刻な問題があります。ここに設定があります:
- プレーンバニラLinux 2.6.27.25を搭載したDebian
- ファイバーコントローラーQLogic 4Gbデュアルポート(ISP2432ベース)
基本的に問題は、これを取得する方法です。FCコントローラー/ドライバーは、ストレージアレイの構成変更(新規または削除されたLUN)を正しく認識しますか?
- アレイに新しいLUN(通常は既存のいくつかのLUNのスナップショット)を作成し、それをHBAにマップすると、正しく認識されません。
rescan-scsi-bus -l -w -r
実際に何か(汎用の/ dev / sgXXデバイス)を検出しますが、ブロックデバイスはありません作成されます(/ dev / sdXX)。 LIPを発行して手動で再スキャンする場合も同様です。
エコー1> / sys / class / fc_host / host6 / issue_lip
エコー "---"> / sys / class / scsi_host / host6 / scan
既存のLUNを削除すると、LIPを発行して再スキャンしたり、rescan-scsi-busを実行しても効果がありません。以前のデバイスはそのまま残り、もちろん機能しません( "file -s / dev / sdXX-> I / O error")。
- qla2xxxドライバーのリロードは機能します。ただし、実稼働環境ではまったく機能しません。
どうやらこれはQLogicの非常に一般的な問題です。RedHatおよびSuseエンタープライズディストリビューションでのみ使用可能なQLogic発行のドライバーを使用する場合にのみ機能する、ある種のソリューションがあります。この説明を参照してください。
追加情報 :
LIPと再スキャンの前のscsiデバイスは次のとおりです。
# sg_map -x
/dev/sg0 0 0 0 0 0 /dev/sda
/dev/sg1 0 0 1 0 5 /dev/scd0
/dev/sg2 1 0 0 0 0 /dev/sdb
/dev/sg3 6 0 0 0 0 /dev/sdc
/dev/sg4 6 0 0 1 0 /dev/sdd
/dev/sg5 6 0 0 2 3
LIPと再スキャンの後、新しいsgデバイスがありますが、対応するドライブがありません。ドライバをリロードすると、ドライブが表示されます:
# sg_map -x
/dev/sg0 0 0 0 0 0 /dev/sda
/dev/sg1 0 0 1 0 5 /dev/scd0
/dev/sg2 1 0 0 0 0 /dev/sdb
/dev/sg3 6 0 0 0 0 /dev/sdc
/dev/sg4 6 0 0 1 0 /dev/sdd
/dev/sg5 6 0 0 2 3
/dev/sg6 6 0 0 3 3
~# sg_map -x
/dev/sg0 0 0 0 0 0 /dev/sda
/dev/sg1 0 0 1 0 5 /dev/scd0
/dev/sg2 1 0 0 0 0 /dev/sdb
/dev/sg3 8 0 0 0 0 /dev/sdc
/dev/sg4 8 0 0 1 0 /dev/sdd
/dev/sg5 8 0 0 2 0 /dev/sde
/dev/sg6 8 0 0 3 3
編集:わかりました、明らかにこれはクラックするのが難しいナットです。LKMLに聞いて、ここで報告します。