名前 | 形式 | 機能説明 | オプション | 使用方法 | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目 | 診断 | 注意事項
cfgadm コマンドを使用して、動的な再構成が可能なハードウェア資源に対して構成の管理を行うことができます。これらの操作には、状態 (state) の表示 ( -l )、検査の開始 (-t)、構成状態の変更の開始 (-c)、ハードウェア固有の機能の実行 (-x)、および構成管理のヘルプ情報の表示 (-h)、が含まれます。構成管理は、接続点 (attachment point) で実行されます。接続点は、Solaris の動作中にハードウェア資源の動的再構成を行うことにシステムソフトウェアが対応している場所です。
構成の管理では、マシン上に実際にあるハードウェア資源と、構成済みで Solaris が認識できるハードウェア資源が区別されます。構成管理機能の特性はハードウェアに依存し、ハードウェア固有のライブラリを呼び出すことで実行されます。
構成管理は、接続点で実行されます。接続点に設置されているハードウェア資源には、システムの稼働中に物理的な交換ができるものとできないものがありますが、構成管理インタフェースによって、動的に再構成することはできます。
接続点は、接続点の向こう側に位置するハードウェア資源とは別の2 つの固有の要素を定義します。接続点の 2 つの要素は、受容体(receptacle) と占有装置 (occupant) です。ハードウェア資源の物理的な取り付け、取り外しは接続点で行われ、その結果、受容体に占有装置が追加されたり削除されたりします。構成管理は、接続点での構成管理機能だけでなく、この物理的な着脱操作にも対応しています。
接続点には、状態 (state) と条件 (condition) の情報が関連付けられています。構成管理インタフェースを使用して、接続点の状態の変化を制御することができます。受容体は、empty、disconnected、connected の 3 つの状態のいずれかになります。また、占有装置は、configured と unconfigured のいずれかの状態になります。
受容体は、接続点に占有装置がない場合に、必ず受容体の通常の状態である empty になります。この状態には、稼働中のシステムの一部を一時的に停止することができる、ハードウェア固有の機能が関係します。受容体が占有装置をシステムの通常の使用から切り離すことができる場合に、その受容体は disconnected 状態になることもできます。この状態は、占有装置のハードウェア資源をシステムが完全に利用できるようにする前にそのハードウェアに対する検査を実行する場合や、占有装置の物理的な取り外しや再構成のための準備の 1 つの段階として、主に使用されます。disconnected 状態の受容体は、ハードウェアの許容範囲内で占有装置をシステムから分離しますが、検査や設定が必要な場合は使用を許可する場合があります。受容体は、占有装置に含まれるハードウェア資源の通常の使用が許可されている場合に、必ず connected 状態になります。connected 状態は、占有装置を含み、かつ構成管理操作が実行されていない受容体の通常の状態です。
unconfigured 状態の占有装置に含まれるハードウェア資源は、Solaris の通常のデータ構造では表現されないため、Solaris はそのハードウェアを使用できません。未構成の占有装置に対して実行できる操作は、構成管理操作に限られています。 configured 状態の占有装置に含まれるハードウェア資源は、Solaris の通常のデータ構造で表現されるため、Solaris は、一部またはすべてのハードウェア資源を使用することができます。占有装置は、必ず configured 状態か unconfigured 状態になります。
接続点は、unknown、ok、failing、failed、unusable の 5 つの条件のいずれかになります。接続点は、電源投入検査と不揮発性記録保存の結果によって、システムをどの条件にも置く可能性があります。
configured 状態の占有装置を持つ接続点は、unknown、ok、failing、failed の条件のいずれかになります。failing またはfailed 条件にない接続点は、ハードウェア固有の回復可能なエラーがしきい値を超えると、操作中に failing 状態になる場合があります。また、failed 条件にない接続点は、回復不可能なエラーによって、操作中に failed 条件に変わる場合があります。
unconfigured 状態にある占有装置を持つ接続点は今までに挙げた条件のどれになる可能性もあります。unconfigured 状態にある占有装置を持つ接続点の条件は、マシン固有の時間しきい値が経過した後に、ok から unknown になる場合があります。検査機能を開始した場合は、検査の結果によって接続点の条件が ok、failing、failed のいずれかに変わります。検査機能を持たない接続点は、接続点を unknown 条件のままにする場合があります。検査が中断された場合は、接続点の条件は、以前の条件、unknown、failed に設定することができます。unknown、ok、failing、failed のいずれかの条件にある接続点には、再検査を行うことができます。
接続点は、さまざまな理由によって unusable 条件になります。理由としては、受容体に対する不適切な電力投入や冷却、占有装置が認識できない、対応していない、不適切に構成されている、などが挙げられます。unusable 条件にある接続点は、システムで使用することができません。通常、この条件は、接続点に対して物理的な対処がなされない限り変わりません。
また、接続点は、状態の変更処理が進行中である場合や、条件が再評価されている場合に、それを示す使用状態情報を保持します。
接続点は、システムデバイス階層構造の中での接続点のタイプと位置に関連するハードウェア固有の識別子 (ap_ids) に対応しています。ap_id は単一の接続点を特定するために、一意になっている必要があります。ap_id の仕様には、物理タイプと論理タイプの 2種類が用意されています。物理 ap_id には、完全なパス名を指定します。論理 ap_id には、簡略表記法を使用し、ユーザーにとってより簡単な方法で接続点を指定します。
たとえば、システムのバックプレーンスロット番号 7 にある接続点の物理 ap_id は/devices/central/fhc/sysctrl:slot7 となり、論理 ap_id はsystem:slot7 になります。また、システムの第 2 PCI 入出力バス上にある 3 番目の受容体の論理 ap_id は pci2:plug3 になります。
接続点も動的に作成されます。動的接続点には、そのシステムに設定されている基本接続点を基にして名前が付けられます。 動的接続点の ap_ids は、2 つのコロン、基本構成要素、および動的構成要素で構成されます。基本構成要素は、基本接続点 ap_id です。動的構成要素は、ハードウェア固有で、対応するハードウェア固有のライブラリによって生成されます。
たとえば、SCSI HBA を表現し、物理 ap_id が/devices/sbus@1f,0/SUNW,fas@e,8800000:scsi で、論理 ap_id が c0 である基本接続点を想定します。この SCSI HBA に接続されているディスクは、論理 ap_id が c0::dsk/c0t0d0 である動的接続点によって表現されます。ここで、c0 は基本構成要素で、dsk/c0t0d0 はハードウェア固有の動的構成要素です。同様に、この動的接続点の物理 ap_id は /devices/sbus@1f,0/SUNW,fas@e,8800000:scsi::dsk/c0t0d0 になります。
ap_type は ap_id の一部で、それ自身だけでは一意にならず、単一の接続点を特定することができません。ap_type は、論理 ap_id の一部を含み、コロン (:) 区切り記号を含まない部分文字列です。 たとえば、pci の ap_type は、論理 ap_id が pci で始まる 接続点をすべて出力します。
ap_types は、できるだけ使用しないでください。 -s オプションの新しい選択サブオプションを使用すれば、より汎用的な方法で柔軟に接続点を選択することができます。【オプション】を参照してください。
cfgadm コマンドは、ハードウェア固有ライブラリに含まれるハードウェア固有の機能と主に対話するため、cfgadm コマンドの動作はハードウェアに依存します。
それぞれの構成管理操作では、サービスの中断が必要になる場合があります。要求された機能を完了するために、対話式で操作中のユーザーにとって目に見えるサービスの中断が必要になる場合は、機能の開始前に標準エラー出力に確認メッセージが表示され、標準入力による確認を促します。すべての質問に対する yes を意味する -y オプション、または no を意味する -n オプションを指定することによって、確認を省略することもできます。検査レベルなどのハードウェア固有のオプションは -o オプションを使用して、サブオプションとして指定することができます。
システム構成の状態を変更する操作は、システムログデーモンである syslogd(1M) によって監視されます。
このコマンドの引数は、getopt(3C) および getsubopt(3C) の構文規約に従います。
以下のオプションを使用することができます。
-lオプションによって、動的接続点のリストも出力されるように指定します。
ap_id で指定された接続点の状態を function で指定された状態に変更します。
function には、insert、remove、disconnect、connect、configure、unconfigure のいずれかを指定することができます。これらの関数は、ハードウェア固有のライブラリルーチンを呼び出して接続点の状態を変更します。これらの関数の定義を以下に示します。
占有装置を手動で追加する操作を実行したり、物理的な追加を実行するハードウェア機能を起動します。insert には、システムの一部を一時的に停止するハードウェア固有の副作用が伴う場合があります。このような場合、ハードウェア固有のライブラリは、対応する警告メッセージを生成し、ユーザーに対して、そのハードウェア固有の問題と手順を提供します。ハードウェアに起因するさまざまなエラーによってこの関数が失敗し、受容体の条件が unusable になる場合があります。
占有装置を手動で削除する操作を実行したり、物理的な削除を実行するハードウェア機能を起動します。remove には、システムの一部を一時的に停止するハードウェア固有の副作用が伴う場合があります。このような場合、ハードウェア固有のライブラリは、対応する警告メッセージを生成し、ユーザーに対して、そのハードウェア固有の注意事項と手順を提供します。ハードウェアに起因するさまざまなエラーによってこの関数が失敗し、受容体の条件が unusable になる場合があります。
ハードウェア固有の操作を実行して、受容体を disconnected 状態にします。disconnected 状態にすることによって、占有装置に対して、受容体を介した通常の方法による操作が行えなくなります。
ハードウェア固有の操作を実行して、受容体を connected 状態にします。受容体が connect 状態にすることによって、占有装置に対して、受容体を介した通常の方法による操作が行えるようになります。
ハードウェア固有の操作を実行して、占有装置のハードウェア資源を Solaris が使用できるようにします。構成された占有装置はシステム構成の一部になり、psradm(1M)、mount(1M)、ifconfig(1M) などの Solarisデバイス操作メンテナンスコマンドによる操作の対象となります。
ハードウェア固有の操作を実行して、占有装置のハードウェア資源をシステムから論理的に削除します。この関数を使用するには、占有装置が現在構成されていて、占有装置のハードウェアが Solaris によって使用されていない必要があります。
状態変更関数は、接続点の条件や、その他のハードウェア固有の問題によって失敗する場合があります。資源を追加するための状態変更関数 (insert、connect、configure) は、接続点が ok または unknown 条件にある場合に、ハードウェア固有のライブラリに渡されます。接続点がそれ以外の条件にある場合は、強制オプション (-f) を使用した場合に限って、資源を追加するための関数がハードウェア固有のライブラリに渡されます。システムからハードウェア資源を削除するための関数 (remove、disconnect、unconfigure) によるハードウェア固有のライブラリの呼び出しは、接続点の条件によって妨げられることはありません。接続点が unknown 条件にある場合に、関数は、ハードウェア固有のライブラリによって拒否される場合があります。
接続点の条件は、状態変更関数によって変更されないこともありますが、状態変更操作中のエラーによって接続点の条件が変わる場合があります。条件の書き換えと状態の強制的な変更は、強制オプション (-f) を指定した場合だけ実行することができます。これらの処理は、強制オプションを指定しないと失敗します。強制オプションは、ハードウェア固有の安全性検査および完全性検査によって無効になる場合があります。
指定された処理を強制的に実行します。これは主に、ハードウェア固有の安全機能を無効にするために使用します。状態の変更操作を強制することによって、ハードウェア固有の安全検査によって ok や unknown 状態にない占有装置のハードウェア資源を使用することができる場合があります。
ヘルプメッセージテキストを出力します。ap_id またはap_type を指定すると、この引数によって指定された接続点に関するハードウェア固有のライブラリのヘルプルーチンが呼び出されます。
指定された接続点の状態や条件を一覧表示します。接続点を抽出するには、-s オプションと select サブオプションを使用します。 いずれかの処理オプションを使用せずに cfgadm コマンドを起動するのは、引数を使用せずに -l を使用するのと同じです。表示画面の書式は -v および -s オプションによって制御されます。-a オプションが指定されているときは、接続点が動的に展開されます。
対話型の確認を行わず、応答が no であるとみなします。-nと -y のいずれも指定しないと、標準エラー出力と標準入力によって対話型の確認が行われます。これらの標準的なチャネルのいずれも端末 (isatty(3C) によって判定されている)に対応していない場合は、-n オプションが想定されます。
コマンドの主オプションに対してハードウェア固有のオプションを指定します。hardware_options の文字列の書式と内容は完全にハードウェア固有のものです。オプション文字列の hardware_options は getsubopt(3C) の構文規約に従います。
一覧表示 (-l) コマンドに対して一覧表示オプションを指定します。listing_options は getsubopt(3C) の構文規約に従います。サブオプションを使用して、接続点の選択条件 (select=select_string)、適切な照合タイプ (match=match_type)、一覧表示する順序 (sort=field_spec)、表示するデータ (cols=field_spec と cols2=field_spec)、列の区切り記号 (delim=string)、列の見出し行の抑制 (noheadings) を指定します。
select サブオプションを指定すると、指定された条件と一致する接続点だけが一覧表示されます。select サブオプションの構文は次のとおりです。
cfgadm -s select=attr1(value1):attr2(value2)... |
cfgadm -s match=match_type,select=attr1(value1)... |
select サブオプションの引数は、シェルから保護するために引用符で囲みます。
field_spec には、1 つの data-field または data-field:data-field:data-field のようにコロン (:) で区切った複数の data-field を指定します。data-field は、ap_id、physid、r_state、o_state、condition、type、busy、 status_time、status_time_p、class、info のいずれかです。ap_id フィールドの出力は接続点の論理名で、physidフィールドは物理名です。r_state フィールドは、empty、disconnected、connected のいずれかになります。o_stateフィールドは、configured と unconfigured のいずれかになります。busy フィールドは、接続点が使用中の場合に y になり、使用中でない場合に n となります。type フィールドと info フィールドはハードウェア固有のフィールドです。status_time フィールドには、r_state、o_state、または接続点の条件が最後に変更された時刻が表示されます。 status_time_p フィールドは、構文解析が可能な status_time フィールドです。接続点にクラスが関連付けられている場合は、class フィールドにクラス名が表示されます。接続点にクラスが関連付けられていない場合は、class フィールドに none が表示されます。
field_spec 内のフィールドの順序は重要です。sort サブオプションでは、最初に与えられたフィールドが主ソートキーになります。cols および cols2 サブオプションでは、指定した順序でフィールドが出力されます。cols 内のフィールドは常に出力されます。cols2 内のフィールドは、指定された場合に限って 2 行目に出力されます。data-field に対するソートの順序は、sort サブオプションに対する field_sec内の data-field 名の前にマイナス (-) を付けることによって逆になります。sort のデフォルトの値は ap_id です。cols および cols2 のデフォルトの値は -v オプションが指定されているかどうかによって異なります。-v が指定されていない場合は、cols はap_id:r_state:o_state:condition になり、cols2 は設定されません。-v が指定されている場合は、colss はap_id:r_state:o_state:condition:info になり、cols2 はstatus_time:type:activity:physid: になります。delim のデフォルトの値は、単一の空白文字です。delim の値には、任意の長さの文字列を指定することもできます。区切り記号にはコンマ (,) を含めることはできません (getsubopt(3C) を参照)。これらの一覧表示オプションは、構文解析が可能な出力を生成するために使用することができます。「注意事項」を参照してください。
1 つまたは複数の接続点の検査を実行します。この検査機能は、接続点の条件を再評価するために使用します。hardware_options の中で検査レベル指示子を指定しないと、重度の障害を検出する最も早い検査方法が使用されます。
より包括的な検査は個々のハードウェアに依存するため、hardware_options を使用して選択します。
検査の結果は、指定された占有装置の条件を >ok (障害が発見されなかった場合)、failing (回復可能な障害が発見された場合)、failed (回復不可能な障害が発見された場合) のいずれかに更新するために使用されます。
検査が中断された場合は、接続点の条件は、以前の値に戻すか、ok (障害が発見されなかった場合)、failing (回復可能な障害が発見された場合)、failed (回復不可能な障害が発見された場合) のいずれかに設定されます。接続点は、エラーがなく、検査が正常に完了した場合のみ ok に設定されます。
詳細表示モードで実行します。-c、-t、-x オプションを指定した場合に、各試行操作の結果を表示するメッセージを出力します。-h オプションを指定した場合は、詳細なヘルプ情報が表示されます。-l オプションを指定した場合は、各接続点に関するすべての情報を出力します。
ハードウェア固有の機能を実行します。受容体や占有装置の状態は、専用ハードウェア固有の機能を使用して変更します。 接続点の状態は、ハードウェア固有の機能の動作中に検出されたエラーの結果として変化する場合があります。hardware_function 文字列の書式と内容は完全にハードウェア固有のものです。オプション文字列のhardware_function は getsubopt(3C) の構文規約に従います。
対話型の確認を行わず、応答が yes であるとみなします。
このコマンドを使用するために必要な特権は、ハードウェアに依存します。一般的に、デフォルトのシステム設定では、一覧表示オプション以外のすべての機能はスーパーユーザーのみが使用することができます。
以下の例は、動的接続点以外のすべての接続点を一覧表示します。
example# cfgadm Ap_Id Type Receptacle Occupant Cond system:slot0 cpu/mem connected configured ok system:slot1 sbus-upa connected configured ok system:slot2 cpu/mem connected configured ok system:slot3 unknown connected unconfigured unknown system:slot4 dual-sbus connected configured failing system:slot5 cpu/mem connected configured ok system:slot6 unknown disconnected unconfigured unusable system:slot7 unknown empty unconfigured ok c0 scsi-bus connected configured unknown c1 scsi-bus connected configured unknown |
以下の例は、現在構成することができるすべてのハードウェアの情報を一覧表示します。動的接続点で表現されるハードウェアも表示されます。
example# cfgadm -al Ap_Id Type Receptacle Occupant Cond system:slot0 cpu/mem connected configured ok system:slot1 sbus-upa connected configured ok system:slot2 cpu/mem connected configured ok system:slot3 unknown connected unconfigured unknown system:slot4 dual-sbus connected configured failing system:slot5 cpu/mem connected configured ok system:slot6 unknown disconnected unconfigured unusable system:slot7 unknown empty unconfigured ok c0 scsi-bus connected configured unknown c0::dsk/c0t14d0 disk connected configured unknown c0::dsk/c0t11d0 disk connected configured unknown c0::dsk/c0t8d0 disk connected configured unknown c0::rmt/0 tape connected configured unknown c1 scsi-bus connected configured unknown |
以下の例は、接続点のうち、scsi で始まるクラス、c で始まる ap_id、および scsi で始まる type フィールドを持つものをすべて一覧表示します。 -s オプションの引数は、シェルから保護するために引用符で囲みます。
example# cfgadm -s "match=partial,select=class(scsi):ap_id(c):type(scsi)" Ap_Id Type Receptacle Occupant Cond c0 scsi-bus connected configured unknown c1 scsi-bus connected configured unknown |
以下の例は、ap-type system の現在構成することができるハードウェアの情報を詳細表示モードで示します。
example# cfgadm -v -l system Ap_Id Receptacle Occupant Condition Information When Type Busy Phys_Id system:slot1 connected configured ok Apr 4 23:50 sbus-upa n /devices/central/fhc/sysctrl:slot1 system:slot3 connected configured ok non-detachable Apr 17 11:20 cpu/mem n /devices/central/fhc/sysctrl:slot3 system:slot5 connected configured ok Apr 4 23:50 cpu/mem n /devices/central/fhc/sysctrl:slot5 system:slot7 connected configured ok Apr 4 23:50 dual-sbus n /devices/central/fhc/sysctrl:slot7 |
When 列は status_time フィールドの内容を表示します。
以下の例は、ハードウェア固有の拡張検査を使用して 2 つの占有装置を検査します。
example# cfgadm -v -o extended -t system:slot3 system:slot5 Testing attachment point system:slot3 ... ok Testing attachment point system:slot5 ... ok |
以下の例は、強制オプションを使用して、failing 状態の占有装置をシステムに構成します。
example# cfgadm -f -c configure system:slot3 |
以下の例は、システムから占有装置を構成解除します。
example# cfgadm -c unconfigure system:slot4 |
以下の例は、占有装置を構成します。
example# cfgadm -c configure c0::dsk/c0t0d0 |
cfgadm の実行に影響を及ぼす環境変数の LC_TIME、LC_MESSAGES、NLSPATH、TZ については、environ(5) を参照してください。
cfgadm が見出し行とエラーメッセージを表示する方法を特定します。出力されるデータは、この環境変数の影響を受けません。
cfgadm が状態の変更時間 (status_time) を表示する方法 (人による判読が可能な形式) を特定します。
状態の変更時間を変換する際に使用される時間帯を特定します。これは人による判読が可能な (status_time) と構文解析が可能な (status_time_p) 形式の両方に当てはまります。
以下の属性については、attributes(5) を参照してください。
属性タイプ | 属性値 |
---|---|
使用条件 | SUNWcsu |
cfgadm_pci(1M), cfgadm_sbd(1M), cfgadm_scsi(1M), ifconfig(1M), mount(1M), psradm(1M), prtdiag(1M), syslogd(1M), config_admin(3CFGADM), getopt(3C), getsubopt(3C), isatty(3C), attributes(5), environ(5)
診断メッセージは標準エラー出力に表示されます。オプションや使用方法のエラー以外に、次の診断メッセージがこのユーティリティによって表示されます。
cfgadm: Configuration administration not supported on ap_id |
cfgadm: No library found for ap_id |
cfgadm: ap_id is ambiguous |
cfgadm: operation: Insufficient privileges |
cfgadm: Attachment point is busy, try again |
cfgadm: No attachment points with specified attributes found |
cfgadm: System is busy, try again |
cfgadm: operation: Operation requires a service interruption |
cfgadm: operation: Data error: error_text |
cfgadm: operation: Hardware specific failure: error_text |
エラーメッセージの詳細については config_admin(3CFGADM)を参照してください。
ハードウェア資源は、ハードウェア固有の方法で未構成プールに入ります。これは、システムの初期設定や構成解除操作の結果としてなど、さまざまな状況で発生します。unconfigured 状態にある占有装置は、システムによる特定の介入が発生するまで、システムが使用することはできません。このような干渉は、オペレーターが起動したコマンドや、自動構成機構によって発生します。
cfgadm コマンドの一覧表示オプションは、シェルスクリプトの中などで、別のコマンドに対する構文解析可能な入力として使用することができます。構文解析可能な出力の場合は、必要なフィールドを選択するときに、-s オプションを使用する必要があります。-s オプションは、列の見出しを抑制するときにも使用できます。ap_id、physid、r_state、o_state、condition、busy、status_time_p、 class、type フィールドは、常に構文解析が可能な出力を生成します。
以下はシェルスクリプトの一部分で、タイプが CPUの正常な未構成の占有装置で最初のものを検出します。
found= cfgadm -l -s "noheadings,cols=ap_id:r_state:condition:type" | \ while read ap_id r_state cond type do if [ "$r_state" = unconfigured -a "$cond" = ok -a "$type" = CPU ] then if [ -z "$found" ] then found=$ap_id fi fi done if [ -n "$found" ] then echo "Found CPU $found" fi |
構文解析が可能な時間フィールド (status_time_p) の形式は、YYYYMMDDhhmmss で、文字列の比較を行うのに都合がよい書式で、年、月、日、時間、分、秒を表示します。
システム構成管理で使用できるものの詳細については、ハードウェア固有のマニュアルを参照してください。
名前 | 形式 | 機能説明 | オプション | 使用方法 | 使用例 | 環境 | 終了ステータス | 属性 | 関連項目 | 診断 | 注意事項