この章では、Solaris 2.x 環境が動作している Ultra 450 ワークステーションまたは Sun Enterprise 450 サーバーの内部ディスクドライブの識別に使用されている論理デバイス名から物理デバイス名を求める手順と、物理デバイス名から論理デバイス名を求める手順を説明します。
Ultra 450 ワークステーションおよび Sun Enterprise 450 サーバーの本体には、UltraSCSI ディスクドライブを 20 台まで内蔵することができます。各ドライブには、0 〜 19 のドライブスロット番号が割り当てられています。
ディスクのホットプラグ手順を実行するには、障害の発生したディスクのスロット番号 (0 〜 19) と、ディスクの論理デバイス名 (c2t3d0 など) が必要です。この際、ドライブのスロット番号が特定されていれば論理デバイス名を調べることができ、また、その逆も可能です。また、物理デバイス名 (/devices/pci@6,4000/scsi@4,1/sd@3,0 など) からドライブスロット番号と論理デバイス名の両方を調べることもできます。通常、ソフトウェアが生成した SCSI エラーメッセージには、そのような物理デバイス名が表示されます。
この章では、以下の手順を説明します。
Solstice(TM) SyMON(TM) ソフトウェアを使用して、Ultra 450 システムを監視している場合は、ここで説明する作業を行う必要はありません。Solstice SyMON は、物理表示および論理表示のコンソール画面に、物理デバイス名、論理デバイス名、ドライブスロット番号を表示します。詳細は、Solstice SyMON に付属している『Solstice SyMON ユーザーマニュアル』を参照してください。
ここで説明する方法は、システムの内蔵ディスクドライブを制御する PCI UltraSCSI コントローラカードの位置に合わせて、NVRAM パラメタの disk_led_assoc が正しく設定されていることが前提になります。詳細は、第 1 章「ディスクスロットの関連付け」を参照してください。
ここでは、SCSI エラーメッセージに表示される UNIX 物理デバイス名から、UNIX 論理デバイス名とドライブスロット番号を求める手順を説明します。
SCSI エラーメッセージの中から UNIX 物理デバイス名を探します。
通常、SCSI エラーメッセージはシステムコンソールに表示され、/usr/adm/messages ファイルに記録されます。
WARNING: /pci@6,4000/scsi@4,1/sd@3,0 (sd228) Error for Command: read(10) Error level: Retryable Requested Block: 3991014 Error Block: 3991269 Vendor: FUJITSU Serial Number: 9606005441 Sense Key: Media Error ASC: 0x11 (unrecovered read error), ASCQ: 0x0, FRU: 0x0
上記の SCSI エラーメッセージの例では、UNIX 物理デバイス名は /pci@6,4000/scsi@4,1/sd@3 です。
/dev/rdsk ディレクトリの内容の一覧を表示し、UNIX 論理デバイス名を求めます。
grep コマンドを使用して一覧出力をフィルタにかけ、手順 1 で求めた UNIX 物理デバイス名に一致するものを探してください。
% ls -l /dev/rdsk | grep /pci@6,4000/scsi@4,1/sd@3 lrwxrwxrwx 1 root root 45 Jan 30 09:07 c12t3d0s0 -> ../../devices/pci@6,4000/scsi@4,1/sd@3,0:a,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c12t3d0s1 -> ../../devices/pci@6,4000/scsi@4,1/sd@3,0:b,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c12t3d0s2 -> ../../devices/pci@6,4000/scsi@4,1/sd@3,0:c,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c12t3d0s3 -> ../../devices/pci@6,4000/scsi@4,1/sd@3,0:d,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c12t3d0s4 -> ../../devices/pci@6,4000/scsi@4,1/sd@3,0:e,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c12t3d0s5 -> ../../devices/pci@6,4000/scsi@4,1/sd@3,0:f,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c12t3d0s6 -> ../../devices/pci@6,4000/scsi@4,1/sd@3,0:g,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c12t3d0s7 -> ../../devices/pci@6,4000/scsi@4,1/sd@3,0:h,raw
この結果出力は、対応する UNIX 論理デバイス名を示します。この例では、論理デバイス名は c12t3d0 です。
prtconf コマンドを使用してドライブスロット番号を求めます。
手順 1 で求めた物理デバイス名の sd@ という文字列を disk@ に置き換えてください。この例では、結果は /pci@6,4000/scsi@4,1/disk@3 になります。
grep コマンドを使用して、prtconf コマンドの出力からこの名前を探します。
% prtconf -vp | grep /pci@6,4000/scsi@4,1/disk@3 slot#11: '/pci@6,4000/scsi@4,1/disk@3'
この結果出力は、対応するドライブスロット番号を示します。この例では、ドライブスロット番号は 11 です。
出力にスロット番号がない場合は、デバイスは取り外し可能媒体デバイス (CD-ROM またはテープドライブ) か外部のデバイスです。
ここでは、既知の UNIX 論理デバイス名 (c0t0d0s0 など) からドライブスロット番号 (0 〜 19) を求める手順を説明します。
この例では、既知の UNIX 論理デバイス名を c0t0d0s0 とします。
UNIX 論理デバイス名から UNIX 物理デバイス名を求めます。
ls -l コマンドを使用して、/dev/dsk ディレクトリにある論理デバイス名へのリンクを表示します。
% ls -l /dev/dsk/c0t0d0s0 lrwxrwxrwx 1 root root 41 Jan 30 09:07 /dev/dsk/c0t0d0s0 -> ../../devices/pci@1f,4000/scsi@3/sd@0,0:a
この結果出力は、指定された論理デバイス名に対応する UNIX 物理デバイス名を示します。この例では、対応する物理デバイス名は /pci@1f,4000/scsi@3/sd@0 です。
prtconf コマンドを使用してドライブスロット番号を求めます。
手順 1 で求めた物理デバイス名の sd@ という文字列を disk@ に置き換えてください。この例では、結果は /pci@1f,4000/scsi@3/disk@b になります。
grep コマンドを使用して、prtconf コマンドの出力からこの名前を探します。
% prtconf -vp | grep /pci@1f,4000/scsi@3/disk@0 bootpath: '/pci@1f,4000/scsi@3/disk@0,0:a' disk: '/pci@1f,4000/scsi@3/disk@0,0' disk0: '/pci@1f,4000/scsi@3/disk@0,0' slot#0: '/pci@1f,4000/scsi@3/disk@0'
この結果出力は、対応するドライブスロット番号を示します。この例では、ドライブスロット番号は 0 です。
出力にスロット番号がない場合は、デバイスは取り外し可能媒体デバイス (CD-ROM またはテープドライブ) か外部のデバイスです。
ここでは、既知のドライブスロット番号 (0 〜 19) から、UNIX 論理デバイス名 (c2t3d0 など) を求める手順を説明します。
この例では、既知のドライブスロット番号を 4 とします。
prtconf コマンドを使用して UNIX 物理デバイス名を求めます。
grep コマンドを使用して prtconf の出力をフィルタにかけ、ドライブスロット番号に一致するものを探してください。
% prtconf -vp | grep slot#3 slot#3: '/pci@1f,4000/scsi@3/disk@3' slot#3: '/pci@1f,4000/ebus@1/i2c@14,600000/bits@40/wo@3'
この例のドライブスロット番号 3 に対応する物理デバイス名は /pci@1f,4000/scsi@3/disk@3 です。これを UNIX 物理デバイス名に変換するには、物理デバイス名の disk@ という文字列を sd@ に置き換えます。したがって、UNIX 物理デバイス名は /pci@1f,4000/scsi@3/sd@3 になります。
/dev/rdsk ディレクトリの内容の一覧を表示し、UNIX 論理デバイス名を求めます。
grep コマンドを使用して一覧出力をフィルタにかけ、手順 1 で求めた UNIX 物理デバイス名に一致するものを探してください。
% ls -l /dev/rdsk | grep /pci@1f,4000/scsi@3/sd@3 lrwxrwxrwx 1 root root 45 Jan 30 09:07 c0t3d0s0 -> ../../devices/pci@1f,4000/scsi@3/sd@3,0:a,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c0t3d0s1 -> ../../devices/pci@1f,4000/scsi@3/sd@3,0:b,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c0t3d0s2 -> ../../devices/pci@1f,4000/scsi@3/sd@3,0:c,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c0t3d0s3 -> ../../devices/pci@1f,4000/scsi@3/sd@3,0:d,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c0t3d0s4 -> ../../devices/pci@1f,4000/scsi@3/sd@3,0:e,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c0t3d0s5 -> ../../devices/pci@1f,4000/scsi@3/sd@3,0:f,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c0t3d0s6 -> ../../devices/pci@1f,4000/scsi@3/sd@3,0:g,raw lrwxrwxrwx 1 root root 45 Jan 30 09:07 c0t3d0s7 -> ../../devices/pci@1f,4000/scsi@3/sd@3,0:h,raw
この結果出力は、対応する UNIX 論理デバイス名を示します。この例では、論理デバイス名は c0t3d0 です。