Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

25.12. ストレージ Interconnect のスキャン

特定のコマンドにより、1 つまたは複数の相互接続をリセット、スキャンし、スキャンできます。これにより、1 回の操作に複数のデバイスを追加または削除できます。このタイプのスキャンは、I/O 操作がタイムアウトし、デバイスを削除する際に遅延が発生する可能性があるため、中断する可能性があります。Red Hat は、必要な場合にのみ相互 スキャンを使用することを推奨します。ストレージの相互接続をスキャンする際には、以下の制限を確認してください。
  • 実施された相互接続上のすべての I/O は、手順を実行する前に一時停止してフラッシュする必要があります。また、I/O を再開する前にチェックされたスキャンの結果が必要になります。
  • デバイスを削除するのと同様に、システムがメモリー不足の状態になると相互スキャンは推奨されません。メモリープレッシャーのレベルを確認するには、vmstat 1 100 コマンドを実行します。空きメモリーが合計メモリーの 5% 未満の場合、Interconnect スキャンは 100 あたり 10 を超える合計メモリーの 5% 未満の場合は推奨されません。また、スワップがアクティブな場合には相互スキャンは推奨されません( vmstat 出力のゼロ以外の si および so 列)。free コマンドは、合計メモリーも表示することができます。
以下のコマンドを使用すると、ストレージの相互接続をスキャンすることができます。
echo "1" > /sys/class/fc_host/hostN/issue_lip
N はホスト番号に置き換えます。)
この操作はLIP( Loop Initialization Protocol )を実行し、相互接続をスキャンし、SCSI レイヤーが更新され、バス上のデバイスを反映させます。LIP は、基本的にはバスリセットで、デバイスの追加と削除を生じさせます。この手順は、ファイバーチャネルの相互接続に新しい SCSI ターゲットを設定するために必要です。
issue_lip は非同期操作であることに注意してください。このコマンドは、スキャン全体が完了する前に完了できます。問題_lip の処理を決定するには、/var/log/messages を監視する必要があります。
lpfc ドライバー、qla2xxx ドライバー、および bnx2fc ドライバーは issue_lip をサポートします。Red Hat Enterprise Linux の各ドライバーがサポートする API 機能に関する詳細は、表25.1「ファイバーチャネル API の機能」 を参照してください。
/usr/bin/rescan-scsi-bus.sh
Red Hat Enterprise Linux 5.4 に /usr/bin/rescan-scsi-bus.sh スクリプトが導入されました。デフォルトでは、このスクリプトはシステム上のすべての SCSI バスをスキャンし、SCSI レイヤーを更新して、バス上の新しいデバイスが反映されます。このスクリプトは、デバイスの削除と LIP の発行を可能にする追加のオプションを提供します。既知の問題など、このスクリプトの詳細は、「論理ユニットの rescan-scsi-bus.sh の追加/削除」 を参照してください。
echo "- - -" > /sys/class/scsi_host/hosth/scan
これは、「ストレージデバイスまたはパスの追加」 で説明されているコマンドと同じで、ストレージデバイスまたはパスを追加します。ただし、この場合は、チャンネル番号、SCSI ターゲット ID、および LUN の値はワイルドカードに置き換えられます。識別子とワイルドカードの組み合わせが許可されるため、必要に応じてコマンドを詳細または広範囲にすることができます。この手順では LUN を追加しますが、削除しません。
modprobe --remove driver-name, modprobe driver-name
modprobe --remove driver-name コマンドを実行して、modprobe driver-name コマンドにより、ドライバーが制御するすべての相互接続の状態を完全に再初期化します。極端な場合もありますが、上記のコマンドは特定の状況に適しています。別のモジュールパラメーター値を使用して、ドライバーを再起動する場合など、コマンドを使用できます。