私たちの環境では、RHLinuxサーバーに接続されたいくつかのストレージキャビネットがあります。ホストに接続されているストレージキャビネットに応じて、SCSIプロトコルバージョン2(バージョン= 0x02 [SCSI-2])を使用して表示されるLUNと、プロトコルバージョン4(バージョン= 0x04 [SPC-2])を使用して表示されるLUNがあります。
このプロトコルバージョンはどこで構成されていますか?これはオペレーティングシステム側ですか?またはストレージ側?まったく同じ方法でRHサーバーをインストールしました。私たちはRHELとストレージベンダーにケースを開きます。もちろん、RHELはそれがストレージであり、ストレージベンダーはそれがOSであると言っています。
これはLUN検出に影響を与えます(LUNIDが順番になっていない->スキャンするLUNIDの範囲を手動でscsi-rescanに指示する必要があります->手動の介入なしに再起動時にすべてのLUNを表示することはできません) 。
もうどこを見ればいいのかわからないのですが、どこを見ればいいのかIDを持っている人はいますか?以下は、3つの異なるサーバーでのsg_inq
の出力です。
[qualification:root@xxxxxxxx:/root]$ sg_inq /dev/sda
standard INQUIRY:
PQual=0 Device_type=0 RMB=0 version=0x02 **[SCSI-2]**
[AERC=0] [TrmTsk=0] NormACA=0 HiSUP=1 Resp_data_format=2
SCCS=0 ACC=0 TPGS=0 3PC=0 Protect=0 BQue=0
EncServ=0 MultiP=1 (VS=0) [MChngr=0] [ACKREQQ=0] Addr16=1
[RelAdr=0] WBus16=0 Sync=0 Linked=0 [TranDis=0] CmdQue=1
[SPI: Clocking=0x0 QAS=0 IUS=0]
length=184 (0xb8) Peripheral device type: disk
Vendor identification: HITACHI
Product identification: DF600F
Product revision level: 0000
Unit serial number: 850531780000
[root@ccccccccccc ~]# sg_inq /dev/sda
standard INQUIRY:
PQual=0 Device_type=0 RMB=0 version=0x04 **[SPC-2]**
[AERC=0] [TrmTsk=0] NormACA=0 HiSUP=1 Resp_data_format=2
SCCS=0 ACC=0 TPGS=0 3PC=0 Protect=0 BQue=0
EncServ=0 MultiP=1 (VS=0) [MChngr=0] [ACKREQQ=0] Addr16=1
[RelAdr=0] WBus16=0 Sync=0 Linked=0 [TranDis=0] CmdQue=1
[SPI: Clocking=0x0 QAS=0 IUS=0]
length=184 (0xb8) Peripheral device type: disk
Vendor identification: HITACHI
Product identification: DF600F
Product revision level: 0000
Unit serial number: 8505035001DA
[pre-prod:root@vvvvvvvvv:/home/a143524]$ sg_inq /dev/sda
standard INQUIRY:
PQual=0 Device_type=0 RMB=0 version=0x04 **[SPC-2]**
[AERC=0] [TrmTsk=0] NormACA=0 HiSUP=1 Resp_data_format=2
SCCS=0 ACC=0 TPGS=0 3PC=0 Protect=0 BQue=0
EncServ=0 MultiP=1 (VS=0) [MChngr=0] [ACKREQQ=0] Addr16=1
[RelAdr=0] WBus16=0 Sync=0 Linked=0 [TranDis=0] CmdQue=1
[SPI: Clocking=0x0 QAS=0 IUS=0]
length=184 (0xb8) Peripheral device type: disk
Vendor identification: HITACHI
Product identification: DF600F
Product revision level: 0000
Unit serial number: 850503500032
ドライバーは、rhelに付属するデフォルトのqlaモジュールです。多くのパラメーターは変更しません。
オプションqla2xxxqlport_down_retry = 1 ql2xplogiabsentdevice = 1 ql2xmaxqdepth = 16
結果は次のようになります:
[qualification:root@xxxxxxxx]$ for i in /sys/module/qla2xxx/parameters/*;
do
echo $i;cat $i;
done
/sys/module/qla2xxx/parameters/ql2xallocfwdump
1
/sys/module/qla2xxx/parameters/ql2xdbwr
1
/sys/module/qla2xxx/parameters/ql2xdevdiscgoldfw
0
/sys/module/qla2xxx/parameters/ql2xdontresethba
0
/sys/module/qla2xxx/parameters/ql2xenablemsix
1
/sys/module/qla2xxx/parameters/ql2xetsenable
0
/sys/module/qla2xxx/parameters/ql2xextended_error_logging
1
/sys/module/qla2xxx/parameters/ql2xfdmienable
0
/sys/module/qla2xxx/parameters/ql2xfwloadbin
0
/sys/module/qla2xxx/parameters/ql2xloginretrycount
30
/sys/module/qla2xxx/parameters/ql2xlogintimeout
20
/sys/module/qla2xxx/parameters/ql2xmaxqdepth
16
/sys/module/qla2xxx/parameters/ql2xplogiabsentdevice
1
/sys/module/qla2xxx/parameters/ql2xqfullrampup
120
/sys/module/qla2xxx/parameters/ql2xqfulltracking
1
/sys/module/qla2xxx/parameters/ql2xshiftctondsd
6
/sys/module/qla2xxx/parameters/ql2xtargetreset
1
/sys/module/qla2xxx/parameters/qlport_down_retry
1
Linuxの問題について考えさせられるもう1つのことは、次のとおりです。evryホストでは次の出力が異なります。SCSIリビジョンでは異なる結果が得られます。
cat /proc/scsi/scsi:
...
Host: scsi1 Channel: 00 Id: 04 Lun: 99
Vendor: HITACHI Model: DF600F Rev: 0000
Type: Direct-Access ANSI SCSI revision: 02
しかし、SCLIを使用すると、常に同じ出力SBC-2が見つかりました。
LUN 99
---------------------------------------
Product Vendor : HITACHI
Product ID : DF600F
Product Revision : 0000
LUN : 99
Size : 100.00 GB
Type : SBC-2 Direct access block device
(e.g., magnetic disk)
WWULN : 48-49-54-41-43-48-49-20-38-35-30-35-32-38-39-30
30-30-39-39
OS LUN Name : /dev/sdiz;/dev/sg259;
これは誰かに何かアイデアを与えますか?よろしくマイク
2011年10月27日更新:
こんにちは私たちは最近2つの興味深いテストを行いました:
->このSCSIリビジョンはOKでした
->このホストではscsiリビジョンはOKでした
これらの3つのRACノードの異なるストレージに多数のディスクがあることに気付きました... 1つのストレージをデコミッションする必要があるため、先に進む前にまずこれをクリーンアップします...
また、ブートシーケンスにscsi-rescanを実装して、問題なくマシンを再起動できるようにすることも決定しました(この種の回避策は嫌いです)
私は将来のためにあなたの他の提案を保持します;)
よろしくお願いします
プロトコルバージョンは、ドライブ、またはドライブとホストの間にあるエミュレーションレイヤーのプロパティです。 RAID機能を実行し、複数のデバイスを表す単一のLUN、または構成可能なスライスを提示するキャビネットがある場合、それが話すSCSIプロトコルのバージョンを定義するのはレイドレイヤーです。
うーん、パラメータなしで呼び出すと、sg_inqがバージョン情報全体を一覧表示しないことを確認しました。デバイスが準拠していると主張しているすべての標準のリストが必要な場合は、sg_inq -d /dev/sda
を使用する必要があります。すべてのホストで同じ出力が得られる可能性があります。
一方、デバイスが主張しているものが何であれ、それは必ずしもあなたが使用しているものではありません-交渉されたプロトコルのプロパティは異なる場合があります。
LUNが順不同で検出されたため、構成間で考えられる違いについてFast!Util構成オプションをよく調べてみてください。この問題の考えられる原因について、QLogic(またはHBAをOEMしている場合はハードウェアの製造元)のサポートに問い合わせる価値があるかもしれません。
編集:あなたの問題はトリッキーなようです-暗闇の中でのいくつかのショットは明白な理由なしに役立つかもしれませんまたは解決に向けてあなたにいくつかのステップを押してください。