名前 | 形式 | 機能説明 | オプション | 環境変数 | 終了ステータス | 属性 | 関連項目 | 注意
rcfgadm(1M) コマンドにより、動的に再構成可能なハードウェアリソースに対してSystem Services Processor (SSP) から構成を遠隔管理することができます。遠隔構成管理には、状態の表示 (-l) 操作と、構成管理に関するヘルプメッセージの表示 (-h) 操作があります。 これらの操作は接続点で実行されますが、ここが Solaris オペレーティング環境の実行中にシステムソフトウェアがハードウェアリソースの動的な再構成を行う場所となります。
構成管理では、実際にサーバーに実装されているハードウェアリソースと、Solaris オペレーティング環境の下で構成され、この環境から接続可能なハードウェアリソースとを区別しています。構成管理機能はそもそもハードウェアに関する機能であるため、その操作はハードウェアに固有のライブラリを呼び出すことにより行います。
接続点は、ハードウェアに関連した状態と条件を示す情報を持っています。受容体の場合は 3 種類 ( empty、disconnected、connected) のいずれかの状態となり、占有装置の場合は 2 種類 ( configured と unconfigured) のどちらかの状態となります。
empty 状態は、接続点に占有装置が接続されていないときの受容体の通常状態を表します。 受容体はまた、その占有装置が通常のシステムアクセスから切り離されていると、disconnected 状態にもなり得ます。 一般に、システムが各種リソースをフルに使えるようにする前のハードウェア試験を行う場合、または占有装置を物理的に移動あるいは再構成するための準備段階では、この状態を使用します。connected 状態は、占有装置上のハードウェアリソースへアクセスが正常に行える状態を言います。 connected 状態は、占有装置を実装した受容体で構成管理操作が行われていない場の通常状態となります。 unconfigured 状態にあるハードウェアリソースは、Solaris ソフトウェアのデータ構造体に含まれていません。 つまり、こうしたハードウェアリソースは、Solaris オペレーティング環境で使用することができません。 configured 状態にあるハードウェアリソースはソフトウェアのデータ構造体に含まれますので、Solaris オペレーティング環境で使用することができます。
接続点の条件は、5 種類 ( unknown、ok、failing、failed、unusable) のいずれかとなります。電源投入時診断の結果と不揮発性の保持記録に従って、接続点はいずれかの条件でシステムと接続します。 また、接続点の条件は、configured (構成された) 占有装置を実装しているとき、4 種類 ( unknown、ok、failing、failed) のいずれかとなります。 動作中に、ハードウェアに依存する回復可能なエラーのしきい値を超過すると、接続点の条件は failing に変わります。 回復不可能なエラーが発生すると、接続点の条件は failed となります。接続点に unconfigured (構成されていない) 占有装置が実装されていると、接続点の条件は上記 5 種類のいずれかとなります。 ok 条件は、システムに設定されているしきい値の時間を経過すると、unknown 条件へ変更されます。
接続点は、電源異常、冷却異常、または特定不能や未対応の占有装置の実装、あるいは不適切に構成された占有装置の実装など、さまざまな原因により、unusable 条件となります。unusable 条件にある接続点は、システムが使用することができません。一般的には、物理的な原因を排除しない限り、接続点はこの状態のままとなります。
サーバーは、稼動状態の変化や条件の再評価に関する情報も保持しています。このような接続点の情報が変化すると、rcfgadm は rcfgadm を出力します。
接続点は、システムデバイス階層における接続点のタイプや位置に関連したハードウェア固有の識別子 (ap_id) により表現されます。ap_id の指定は曖昧となることがなく、必ず、1 つの接続点を特定しなければなりません。ap_id の指定方法には、物理的と論理的の 2 通りの方法があります。物理 ap_id は絶対パス名で記述し、論理 ap_id はユーザーにわかりやすい方法で接続点を特定する短縮形で表現します。
たとえば、スロット番号 7 を表す接続点の物理 ap_id が /devices/central/fhc/sysctrl:SB7 となっている場合、その論理 ap_id を簡単に SB7と表すことができます。また、システム上の第 2 PCI 入出力バスの第 3 受容体の論理 ap_id を pci2:plug3とすることもできます。
/devices/pci@71,2000/pci@2/SUNW,isptwo@4:scsi /devices/pci@71,2000/pci@2/SUNW,isptwo@4:scsi::dsk/c0t0d0 /devices/pci@71,2000/pci@2/SUNW,isptwo@4:scsi::dsk/c0t1d0 /devices/pci@71,2000/pci@2/SUNW,isptwo@4:scsi::dsk/c0t2d0 /devices/pci@71,2000/pci@2/SUNW,isptwo@4:scsi::dsk/c0t3d0 /devices/pseudo/ngdr@0:SB0 /devices/pseudo/ngdr@0:SB1 /devices/pseudo/ngdr@0:SB2 /devices/pseudo/ngdr@0:SB3 |
接続点を動的に作成することも可能です。 動的に作成された接続点は、システム内にすでに存在しているベースとなる接続点をもとに名前が付けられます。 動的接続点の ap_id は、ベースコンポーネントの後ろにコロンを 2 個 (::) 付け、次に動的コンポーネントを記述する形式になります。ベースコンポーネントは、ベースとなる接続点の ap_id となります。 動的コンポーネントはハードウェア固有のものとなり、対応するハードウェア関連のライブラリから生成されます。
c0 c0::dsk/c0t0d0 c0::dsk/c0t1d0 c0::dsk/c0t2d0 c0::dsk/c0t3d0 c0::dsk/c0t4d0 c0::dsk/c0t5d0 c0::dsk/c0t6d0 SB0 SB1 SB2 SB3 |
たとえば、物理 ap_id が/devices/sbus@1f,0/SUNW,fas@e,8800000:scsi、論理 ap_id が c0 という SCSI HBA をベース接続点として考えてみます。この 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 で始まるすべての接続点を表します。
c0 sbd |
ap_type を使用することはお勧めしません。 -s オプションに新たに追加された選択 (select) サブオプションの方が、接続点を選択する際により汎用的で柔軟性の高いメカニズムを持っています。オプションの項を参照してください。
rcfgadm は、主として、ハードウェア関連のライブラリに含まれている、ハードウェアに依存する機能とやり取りするので、その動作はハードウェアに依存します。ハードウェアに固有のオプションは、-o オプションのサブオプションとして用意されています。
このコマンドの引数は、getopt(3C) と getsubopt(3C) の構文規約に準拠しています。
以下のオプションをサポートしています。
-l オプションがすべての動的接続点もリストするように指定します。
ドメインの ID を指定します。
ヘルプメッセージのテキストを表示します。ap_id または ap_type を指定すると、この引数で指定された接続点について、ハードウェア関連のライブラリのヘルプルーチンを呼び出します。
指定された接続点の状態と条件をリストします。 -s オプションと選択 (select) サブオプションを使用すると、接続点の表示を制限することができます。 操作 (action) オプションのいずれも指定せずに rcfgadm を呼び出す操作と、引数を使用せずに -l オプションを指定する操作は同じ結果になります。 リスト表示の形式は -v と -s オプションにより制御することができます。 -a オプションを指定すると、動的な接続点も展開表示されます。
このコマンドの基本的なオプションの他に、ハードウェア固有のオプションを追加します。 ハードウェアオプションの文字列の形式および内容は、完全にハードウェア固有のものとなります。このオプションの文字列 (つまり、hardware_options) は、getsubopt(3C) の構文規約に準拠します。
リスト表示に関するオプションを list (-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) サブオプションの構文は以下のとおりです。
rcfgadm -s select=attr1(value1):attr2(value2)...
ここで、attr は ap_id、class、type のいずれかとなります。ap_id は論理 ap_id フィールド、class は接続点のクラス、type は type フィールドをそれぞれ表わします。 value1、value2 などは、表示を限定する値を示します。限定するタイプは、以下の一致 (match) サブオプションにより指定することができます。
rcfgadm -s match=match_type,select=attr1(value1)...
ここで、match_type は exact、partialのどちらかとなります。 デフォルトで設定される値は exact です。 選択 (select) サブオプションの引数には引用符を付けて、UNIX C シェルが引数を解釈しないようにします。
field_spec は、たとえば、data-field:data-field:data-field のように、1 つ以上のdata-field をコロン (:) により連結します。data-field は、ap_id、physid、r_state、o_state、condition、 type、busy、status_time、status_time_p、info のいずれかとなります。ap_id フィールドの出力は接続点の論理名、physid フィールドには物理名が入ります。 r_state フィールドは、empty、disconnected、connected のいずれかとなります。o_state フィールドは、configured、unconfigured のどちらかとなります。 busy フィールドは、busy (使用中) の接続点に限定する場合に y を、未使用については n を指定します。type と info の両フィールドはハードウェアに固有の値を入れます。 status_time_p フィールドは、status_time フィールドのパース実行形です。 接続点に関連するクラスが与えられている場合は、class フィールドにクラス名をリストします。
field_spec にフィールドを並べる順番は重要です。 並べ替え (sort) サブオプションでは、最初に指定したフィールドが並べ替えの第 1 キーとなります。 cols と cols2 サブオプションでは、指定した順番にフィールドが表示されます。 data-field についての並べ替えの順番は、並べ替え (sort) サブオプションの field_spec に指定する data-field 名の前にマイナス (-) を付けると、逆の順番になります。並べ替えのデフォルト設定は ap_id となっています。 cols と cols2 のデフォルト設定は、-v オプションを指定するかどうかにより異なります。 つまり、 -v オプションを指定しないとき、cols は ap_id:r_state:o_state:condition の順になり、cols2 は設定されません。 -v オプションを指定すると、cols は ap_id:r_state:o_state:condition:info の順になり、cols2 は status_time:type:busy:physid の順になります。delim のデフォルト設定はスペース 1 個となっています。 delim の値は任意の長さの文字列が指定できます。 ただし、区切り文字にコンマ (,) 文字は使用できません。getsubopt(3C) を参照してください。 以上のリスト表示に関するオプションを使用して、パースを出力させることができます。注意事項の項を参照してください。
冗長モードを設定します。 -c、-t、および -x オプションでは、実際に実行した操作ごとの結果を示すメッセージが表示されます。 -h オプションを指定した場合に、詳細なヘルプ情報が表示されます。 -l オプションでは、各接続点ごとに詳細な情報が表示されます。
command_name の 実行に影響を与える LC_TIME、LC-MESSAGES、および TZ の各環境変数については、environ(5) を参照してください。
LC_TIME
,LC-MESSAGES,
TZ.
コラムの見出しとエラーメッセージについて、rcfgadm が表示する方法を決めます。 出力データのリスト表示は、この変数の設定に左右されません。
状態が変化した時刻 (status_time) について、ユーザーが解読可能な形式を rcfgadm により表示させる方法を決めます。
状態が変化した時刻を変更する際に使用する時間帯を指定します。 この指定は、ユーザーが解読可能な形式 (status_time) にも、パース形式 (status_time_p) にも適用されます。
以下の属性については、attributes(5) を参照してください。
属性タイプ | 属性値 |
Availability | SUNWsspop |
cfgadm(1M)
ハードウェアリソースは、ハードウェアに固有の方法で unconfigured 状態にプールされます。これは、システムの初期化時や unconfigure (構成解除) 操作時など、さまざまな場合に発生します。unconfigured 状態にある占有装置は、なんらかの操作が行われない限り、システムは使用することができません。この操作には、オペレータによるコマンドの実行や自動構成メカニズムによる構成動作があります。
rcfgadm コマンドの表示オプションを使用して、たとえば、シェルスクリプトに記述した別のコマンドへパース入力を行うことができます。 パース出力を行うには、-s オプションを使用して必要なフィールドを選択しなければなりません。 また、-s オプションを使用してコラムの見出しを表示しないようにすることもできます。 以下の各フィールドの出力は必ず、パース形式となります: ap_id、physid、r_state、o_state、condition、busy、status_time_p、type。 パース出力の場合、フィールド値に空白文字が含まれることはありません。
以下に示すシェルスクリプト (一部のみ) では、CPU というタイプの ok 条件にあるunconfigured 状態の占有装置を見つけます。
found= rcfgadm -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 となっており、文字列による比較に適した形式で年、月、日、時、分、秒を出力します。
システム構成管理を行う方法についての詳細は、ハードウェアに関するマニュアルを参照してください。
SSP 3.5 最終更新日 2001年7月23