croinfo, diskinfo - 1) シャーシ、受容体、および占有装置または 2) ベイ受容体のディスク占有装置に関する情報のクエリーと表示
croinfo [-h] [-v] [-I cro_db] [-o fields] [-O fields] [-P product-id] [-C chassis-id] [-A alias-id] [-R receptacle-name] [-T receptacle-type] [-t occupant-type] [-D devchassis-path] [-d occupant-devices] [-p occupant-paths] [-c occupant-compdev] [-i occupant-devid] [-m occupant-mfg] [-e occupant-model] [-n occupant-part] [-s occupant-serial] [-f occupant-firm] [-1 occupant-misc-1] [-2 occupant-misc-2] [-3 occupant-misc-3]
diskinfo [-h] [-v] [-I cro_db] [-o fields] [-O fields] [-P product-id] [-C chassis-id] [-A alias-id] [-R receptacle-name] [-T receptacle-type] [-t occupant-type] [-D devchassis-path] [-d occupant-devices] [-p occupant-paths] [-c occupant-compdev] [-i occupant-devid] [-m occupant-mfg] [-e occupant-model] [-n occupant-part] [-s occupant-serial] [-f occupant-firm] [-1 occupant-misc-1] [-2 occupant-misc-2] [-3 occupant-misc-3]
croinfo -?
diskinfo -?
diskinfo および croinfo ユーティリティーは同じバイナリ実行可能ファイルを共有しています。ユーティリティーは実行時に、どのように呼び出されたかをチェックしてデフォルトを調整します。
ユーザーは croinfo ユーティリティーを使用して、システムの構成の特定の側面を照会および表示できます。クエリーは、物理的場所と、その物理的場所の現在のデバイスのさまざまな側面との関係を取得するレコード指向データセットに対して実行されます。この関係はシャーシ、受容体、占有装置の観点で表現されます (cro 接頭辞)。
CRO データセット内のレコードは複数の名前付きフィールドから構成され、各レコードは潜在的に一意のフィールド値を持ちます。product-id のような山括弧参照は、特定の field-name を参照しています。あるレコードのフィールド値は、未定義 (空) または定義済み (一連のインデックス付き文字列値) のいずれかです。定義済みフィールド値には、文字列値が 1 つだけのもの、文字列値が複数のものがあります。
定義済みの field-name にはそれぞれ異なる field-char 文字が関連付けられています。規約上、大文字の field-char 文字はシャーシや受容体情報フィールドに関連付けられており、小文字の field-char 文字は占有装置情報フィールドに関連付けられています。field-char 文字ごとに異なる -field-char field-name-RE フラグ正規表現フィルタオプションが提供されます。このため、ユーザーは構成の特定の側面に関する情報を表示するようにクエリーをカスタマイズできます。すべての正規表現に一致するレコードが、データセット順に、表示用に選択されます。複数の文字列値の場合、フィールドが一致するのに必要なのは 1 つのインデックス値だけです。
デフォルトでは、最小限の数のデフォルト出力フィールドだけが表示されます。人間が読める形式の出力の場合は –o fields、または解析可能な出力の場合は –O fields でデフォルトをオーバーライドできます。どちらの場合も出力フィールドは、省略形の field-char[...] 表記、またはより説明的な field-name[,...] 表記を使用して指定できます。
人間が読める形式を使用する場合、–o fields オプションを使用することで、ユーザーはデフォルトフィールドをオーバーライドし、指定した順番の、カラムで整列された、空白区切り形式でフィールドを出力できます。一般に、出力は一致するレコードごとに 1 行ずつ表示され、未定義 (空) の field-name 値はハイフン (—) として表示されます。ただし、表示されるレコードに複数文字列値フィールドが含まれている場合は複数行の出力が生成され、セカンダリの複数文字列でない値フィールドにはコロン (:) が表示されます。
スクリプティングの場合は、–O fields オプションを使用することで、ユーザーはデフォルト出力フィールドをオーバーライドし、指定した順番、解析可能なコロン区切りで、空白が除去され、列ヘッダーが抑制された形式でフィールドを出力できます。出力は一致するレコードごとに 1 行ずつ表示され、未定義 (空) の field-name 値には値が表示されません。表示されるレコードの field-name に複数文字列値フィールドが含まれている場合、すべての値が連結され、セミコロンで区切られます。値に含まれるコロンまたはセミコロンは、先行するバックスラッシュ (\) を使ってエスケープされます。スクリプトを見やすくするために、–O field-name[,...] 表記の使用をお勧めします。
–o オプションと –O オプションは相互に排他的です。
–h オプションを使用するか、–o を使ってスクリプティング出力形式を要求した場合、出力フィールドの列ヘッダーが抑制されます。
シャーシは、特定の product-id と chassis-id によって識別されます。product-id は、システムシャーシ Sun-Fire-X4200-M2 やストレージシャーシ SUN-Storage-J4410 のような、特定のシャーシレベル製品に関連付けられます。ある product-id 値の chassis-id は一意のシリアル番号を定義します。
特定の product-id.chassis-id の組み合わせには、管理者が fmadm(1M) (シャーシの物理的場所に関するインストール固有の場所情報を提供) を使って定義した、場所指向の「管理された」 alias-id を割り当てることができます。これには建物、部屋、ラック、ラック内の U 番号範囲など情報が含まれる可能性があります。
fmadm(1M) を使って定義された場所指向の管理された alias-id に加え、システムシャーシは常に SYS と呼ばれる既知のエイリアスを持っており、これを使ってシステムシャーシ内部の受容体を識別できます。
シャーシ内の各受容体に割り当てられる一意の receptacle-name は、受容体の物理的なシルクスクリーンラベルに指定されているものと一致させることをお勧めします。各受容体には receptacle-type も割り当てられていて、これは受け入れ可能な occupant-types を定義するのに役立ちます。
受容体が占有されている場合、使用可能な occupant-information には –f フラグ定義を使用します。特に –c occupant-compdev 占有装置情報に注目してください。占有装置デバイスに関連付けられた公開 /dev 名の共通コンポーネントが説明されます。ディスクの場合、これはディスク全体の c#t#d# 名です。
CRO データセット順はレコードの devchassis-path に関連付けられていて、devchassisd(1M) によって管理される /dev/chassis 名前空間に対応しています。その順序付けでは、既知の SYS 内部エイリアスに関連付けられたレコードが最初になり、SYS 内では BOOT receptacle-name のレコードが最初になります。これは、標準的なブートデバイスに関する情報が先に提供されるようにするために行われます (該当する場合)。
croinfo では、デフォルト出力は –o Dtc 形式で、すべての CRO レコードが表示されます。
diskinfo では、デフォルト出力は –o Dc 形式で、–T bay receptacle-type フィルタが適用されます。occupant-misc-# フィールドの意味もディスク固有の解釈になります。misc-1 は容量、misc-2 はターゲットポート情報です。これらのデフォルトによって diskinfo コマンドはシャーシ、bay 受容体、および disk 占有装置の間の関係を照会し、ほかの CRO 情報を無視します。
レコードに定義されている field-name ごとに、異なる -field-char field-name-RE フラグ正規表現フィルタを指定できます。ある field-name に特定の -field-char field-name-RE フィルタが定義されていない場合は、すべての CRO レコードが一致します。
このため、ユーザーは構成の特定の側面に関する情報を表示するようにクエリーをカスタマイズできます。指定されたすべての field-name 正規表現 (regex(3C) を参照) に一致する CRO レコードが表示用に選択され、特定のフィールド出力は –o、–O、またはデフォルトによって制御されます。
product-id は、列挙されたシャーシの製品識別子を指定します。product-id は /dev/chassis 名前空間で公開される可能性があります。fmadm(1M) で管理される alias-id が確立されていないストレージ製品では、devchassis(7FS) の /dev/chassis 名前空間で product-id が可視となります。
システム product-id 値の例: Sun-Fire-X4200-M2
ストレージ product-id 値の例: SUN-Storage-J4410
chassis-id は、製品シャーシのシリアル番号を指定します。chassis-id は /dev/chassis 名前空間で公開される可能性があります。fmadm(1M) で管理される alias-id が確立されていないストレージ製品では、devchassis(7FS) の /dev/chassis 名前空間で product-id が可視となります。
chassis-id 値の例: 0818QAJ002
alias-id 値には、システム内部デバイスの既知のエイリアス値 SYS を指定できます。さらに、alias-id 値には、管理者が fmadm(1M) を使って定義した、管理されたエイリアスも指定できます。管理されたエイリアスの意図された使い方は、product-id.chassis-id の物理的場所を定義することです。alias-id は /dev/chassis 名前空間で公開されます。
既知の alias-id 値の例: SYS
管理された alias-id 値の例: RACK29.U01-04
特定の product-id の一意の receptacle-name はシャーシ内の特定の受容体の場所を定義します。receptacle-name は、物理シャーシ上のシルクスクリーンラベルと一致させるようにし、製品ドキュメントとも一致させるようにしてください。receptacle-name には SYS/HD0 などの複数パスコンポーネントを指定できます。receptacle-name は /dev/chassis 名前空間で公開されます。
receptacle-name 値の例: SYS/HD0
receptacle-type 値の例: bay
占有装置のない受容体の occupant-type 値は未定義 (空) で、ハイフン (—) として表示されます。
occupant-type 値の例: disk
devchassis-path 値の例: /dev/chassis/SYS/HD0/disk
占有装置のない受容体の occupant-devices 値は未定義 (空) で、ハイフン (—) として表示されます。
occupant-devices 値の例:
/devices/scsi_vhci/disk@g5000c500101ba0a3
占有装置のない受容体の occupant-paths 値は未定義 (空) で、ハイフン (—) として表示されます。
occupant-paths 値の例:
devices/pci@0,0/pci10de,5d@d/pci11f8,8001@0/iport@f/disk@w5000c500101ba0a1,0
占有装置のない受容体の occupant-compdev 値は未定義 (空) で、ハイフン (—) として表示されます。
occupant-compdev 値の例: c0t5000C500101BA0A3d0
占有装置のない受容体の occupant-devid 値は未定義 (空) で、ハイフン (—) として表示されます。
occupant-devid 値の例: id1,sd@n5000c500101ba0a3
占有装置のない受容体の occupant-mfg 値は未定義 (空) で、ハイフン (—) として表示されます。
occupant-mfg 値の例: SEAGATE
占有装置のない受容体の occupant-model は未定義 (空) で、ハイフン (—) として表示されます。
occupant-model 値の例: ST32000SSSUN2.0T
占有装置のない受容体の occupant-part 値は未定義 (空) で、ハイフン (—) として表示されます。
occupant-part 値の例: SEAGATE-ST32000SSSUN2.0T
占有装置のない受容体の occupant-serial 値は未定義 (空) で、ハイフン (—) として表示されます。
occupant-serial 値の例: 000949L09C8L________9WM09C8L
占有装置のない受容体の occupant-firm 値は未定義 (空) で、ハイフン (—) として表示されます。
occupant-firm 値の例: 0313
占有装置のない受容体の occupant-misc-1 値は未定義 (空) で、ハイフン (—) として表示されます。
占有装置のない受容体の occupant-misc-2 値は未定義 (空) で、ハイフン (—) として表示されます。
占有装置のない受容体の occupant-misc-3 値は未定義 (空) で、ハイフン (—) として表示されます。
使用法に関する情報を表示します。
指定されたフィールドを人間が読める形式で順番に出力します。
croinfo のデフォルト出力は –o Dtc 形式です。diskinfo のデフォルト出力は –O Dc 形式です。
指定されたフィールドを解析可能な形式で順番に出力します。
field-name 列ヘッダーを出力しません。
CRO データセットがいつ作成されたかに関する各種情報を含む冗長ヘッダーを表示します。このオプションは、–I で特に使用され、CRO データセットの標準以外のソースを指定するために使用されます。
CRO データセット情報を取得するデータファイル。
次の例の一部では、出力例が 80 文字幅表示で折り返されています。
使用例 1 ディスクがどこにあるかを確認する次のコマンドは、ディスクがどこにあるかを確認します。
# croinfo -c c0t5000C500101BA0A3d0 D:devchassis-path t:occupant-type --------------------------------------- --------------- /dev/chassis/RACK29.U01-04/DISK_00/disk disk c:occupant-compdev ------------------ c0t5000C500101BA0A3d0使用例 2 内部ディスクを報告する
次のコマンドは、内部ディスク、つまり既知の SYS エイリアスに関連付けられたディスクの receptacle-name と occupant-compdev を報告します。
# diskinfo -A SYS -o Rc R:receptacle-name c:occupant-compdev ----------------- ------------------ SYS/HD0 c8t0d0 SYS/HD1 c8t1d0 SYS/HD2 - SYS/HD3 -
SYS/HD2 および SYS/HD3 受容体は空です。
スクリプティングモードでは同じコマンドが次のようになります。
# diskinfo -A SYS -O receptacle-name,occupant-compdev SYS/HD0:c8t0d0 SYS/HD1:c8t1d0 SYS/HD2: SYS/HD3:使用例 3 特定の格納装置内のディスクを報告する
次のコマンドは、特定の product-id および chassis-id 値を持つシャーシ内のすべてのディスクを報告します。
# diskinfo -P SUN-Storage-J4410 -C SUN-Storage-J4410 -o Rc R:receptacle-name c:occupant-compdev ----------------- --------------------- DISK_00 c0t5000C500101BA0A3d0 DISK_01 c0t5000C500101B95BBd0 DISK_02 -使用例 4 物理パス情報を報告する
次のコマンドは、特定ディスクの物理パス情報を報告します。
# croinfo -c c0t5000C500101BA0A3d0 -o cp c:occupant-compdev ------------------ c0t5000C500101BA0A3d0 p:occupant-paths -------------------------------------------------- /devices/pci@0,0/pci10de,5d@d/pci11f8,8001@0/iport@f/disk@w5000c500101ba0a1,0 /devices/pci@7b,0/pci10de,5d@d/pci11f8,8001@0/iport@f/disk@w5000c500101ba0a2,0
occupant-paths に複数文字列値です。
使用例 5 ディスク目録を作成する次の例では、特定タイプのディスクがいくつ使用可能であるかを、occupant-part を使って報告します。
# for i in `croinfo -h -o n | sort -u` > do > echo $i "\t\c";croinfo -h -n $i | wc -l > done SEAGATE-ST330055SSUN300G 3 SEAGATE-ST330056SSUN300G 19 SEAGATE-ST345056SSUN450G 5使用例 6 特定タイプのディスクを検索する
次のコマンドは、特定タイプのディスクがどこにあるか、それらの ctd 名 (occupant-compdev 経由)、およびそれらのファームウェアレベルを報告します。
# croinfo -n SEAGATE-ST330055SSUN300G -o Dcf D:Devchassis c:component ----------------------------------------------- --------------------- /dev/chassis/RACK29.U29-32/SCSI_Device__11/disk c0t5000C50007DD49F7d0 /dev/chassis/RACK29.U33-36/SCSI_Device__18/disk c0t5000C50008F7FB4Fd0 /dev/chassis/RACK29.U33-36/SCSI_Device__19/disk c0t5000C50007DD412Fd0 f:firm ------ 0892 0892 0892
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
croinfo と diskinfo のインタフェース安定性は「確実」です。コマンド出力のインタフェース安定性は「非インタフェース」です。
devchassisd(1M), fmadm(1M), fmd(1M), attributes(5), devchassis(7FS)
SCSI Storage Interfaces Committee の Web サイト、http://www.t10.org
SCSI Primary Commands-4, SPC4、SCSI Enclosure Services-2、SES2, Serial Attached SCSI-2, SAS2
croinfo 表現は、fmd(1M) のシステムトポロジを列挙し、関連するシャーシ、受容体、および占有装置を正確に表現する機能に依存しています。これらの依存性は fmd(1M) 全体に及んでいて、接続されたハードウェアや関連ファームウェアが特定の規格に準拠していることを要求する場合があります。ディスクベイの場合、これは、ストレージシャーシが T10 規格 (SPC4 と SES2) に準拠する方法で動作することを要求します。適切に応答しないストレージシャーシは、シャーシ、ベイ、またはディスクノードを正しく報告しない可能性があります。具体的には、diskinfo は、シャーシが SES 診断ページ 0xa (Additional Element Status) をサポートし、かつ EIP (Element Index Present) ビットを 1 に設定することを要求します。この条件を満たさないエンクロージャーは完全には列挙されず、したがって正しく表現されません。