名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | ファイル | 属性 | 関連項目 | 注意事項
sbd.so.1 プラグインライブラリは、sbd クラスのシステムボードの接続、構成、構成解除、および切り離しを行う際の動的再構成機能を提供します。また、システムをリブートすることなく、システムの動作中にシステムボードを接続、切り離すことも可能にします。
cfgadm コマンドは、/usr/sbin に置かれています。cfgadm(1M) を参照してください。
各ボードスロットは、デバイスツリーで、単一の接続点 (attachment point) として表示されます。各構成要素は、動的接続点として表示されます。各構成要素のタイプ、状態 (state)、条件 (condition)、および各ボードスロットの状態と条件は、-a オプションを使って表示できます。
次は、構成要素の受容体 (receptacle) 状態の名前と機能説明です。
構成要素がボードスロットに接続されています。
次は、構成要素の占有装置 (occupant) 状態の名前と機能説明です。
構成要素は、Solaris オペレーティング環境で使用可能です。
構成要素は、Solaris オペレーティング環境で使用可能な状態にありません。
次は、ボード条件の種類と機能説明です。
ボードはテストに失敗しました。
ボードは機能しています。
ボードはテストされていません。
ボードスロットは使用できません。
ボードを取り付けると、受容体状態は、empty から disconnected に変ります。ボードを取り外すと、受容体状態は、disconnected から empty に変わります。
警告: connected 状態にあるボード、または電源が投入され、disconnected 状態にあるボードを取り外すと、オペレーティングシステムに障害が発生し、システムが回復不能な損傷を受ける場合があります。
次は、ボードの受容体状態の名前と機能説明です。
ボードは、電源が投入され、システムバスに接続されています。ボード上の構成要素を表示できるのは、ボードが connected 状態になった後に限ります。
ボードは、システムバスから切り離されています。disconnected 状態でも、ボードには、電源が投入されている場合があります。したがって、ボードの電源を切断し、disconnected 状態にしてから、ボードをスロットから取り外してください。
ボードが存在しません。
disconnected 状態のボードの占有装置状態は、常に、unconfigured です。次の表は、ボードの占有装置状態の名前と機能説明です。
少なくとも、ボード上の 1 つの構成要素が構成されています。
ボード上のすべての構成要素が構成解除されています。
動的システムドメイン (DSD、このマニュアルではドメインという) に基づくプラットフォームは、シャーシのスロットを電気的に分離されたハードウェアパーティション (すなわち、DSD) に分割します。DSD に基づいていないプラットフォームは、永続的にすべてのスロットをシステムに割り当てます。
スロットは、空でも実装されていてもかまいません。また、任意の数のドメインを使用可能にすることも、割り当てることもできます。あるドメインが使用できるスロットの数は、システムコンローラ上で維持されている使用可能構成要素リスト (ACL: Available Component List) により制御されます。ACL は、Solaris オペレーティング環境におけるアクセス制御リストではありません。
スロットは、あるドメインの ACL にあり、別のドメインに割り当てられていない場合に限り、その特定のドメインで認識可能になります。未割り当てスロットは、ACL 内のスロットをもっているドメインすべてにおいて認識可能になります。スロットがあるドメインに割り当てられると、そのスロットは、他のドメインでは認識できなくなります。
あるドメインで認識可能であり、未割り当てのスロットは、まず、そのドメインに割り当てをしてから、別の状態変更コマンドを適用する必要があります。この割り当ては、-x assign を使って明示的に行うことも、暗黙的に connect の一部として行うこともできます。スロットは、別のドメインが使用するためには、まず、割り当てを解除する必要があります。割り当て解除は、-x unassign を直接使用するか、または disconnect のオプションとして -o unassign を使って、常に明示的に行います。
ボードスロットの状態またはボード上の構成要素の状態を変更する関数は、どの接続点に対しても同時に実行できます。状態変更操作は、一度に一回しか許されません。状態変更情報の Busy フィールドの Y は、操作を実行中であることを示します。
configure
unconfigure
connect
disconnect
ボードの可用性を変更するコマンドは、どの接続点に対しても同時に実行できます。可用性変更操作は、一度に一回しか許されません。この関数は、cfgadm -l 出力中の情報文字列も変更します。Busy フィールドの Y は、操作を実行中であることを示します。
assign
unassign
ボードスロットまたはボード上の構成要素の条件を変更する関数はどの接続点に対しても同時に実行できます。条件変更操作は、一度に一回しか許されません。この関数は、cfgadm -l 出力中の情報文字列も変更します。Busy フィールドの Y は、操作を実行中であることを示します。
poweron
poweroff
test
ここでは、構成解除プロセスについて説明します。特に、構成解除プロセスの異なる段階での、コピーと名前変更時の操作元と操作先のボード状態を具体的に示します。
次のコーディング例では、ボード 0 上の永続メモリーをドメインの別のボードに移動しておく必要があります。したがって、ボード 0 が操作元、ボード 1 が操作先となります。
状態変更操作は、ビジーとなっているボードでは、起動できません。説明を簡単にするため、CPU 情報は、コーディング例から省略してあります。
構成解除プロセスは、次のコマンドで開始します。
# cfgadm -c unconfigure -y sbd/slot0::memory & |
まず、ボード 0 の永続メモリーと同じアドレス範囲にあるボード 1 上のメモリーを削除する必要があります。このフェーズの間、操作元ボード、操作先ボード、およびメモリー接続点は、ビジーとなります。状態は、次のコマンドを使って表示できます。
# cfgadm -a -s cols=ap_id:type:r_state:o_state:busy ¥ sbd/slot0 sbd/slot1 Ap_Id Type Receptacle Occupant Busy sbd/slot0 cpu/mem connected configured y sbd/slot0::memory memory connected configured y sbd/slot1 cpu/mem connected configured y sbd/slot1::memory memory connected configured y |
ボード 1 上のメモリーの削除が終了すると、ボード 1 は、unconfigured となります。ボード 0 上のメモリーは、次の例のように、configured のままですが、やはり、ビジーとなります。
Ap_Id Type Receptacle Occupant Busy sbd/slot0 cpu/mem connected configured y sbd/slot0::memory memory connected configured y sbd/slot1 cpu/mem connected configured y sbd/slot1::memory memory connected unconfigured n |
その後、ボード 0 のメモリーが、ボード 1 にコピーされます。コピーが終了すると、メモリーの占有装置状態が切り替わります。ボード 0 上のメモリーは、unconfigured となり、ボード 1 上のメモリーが configured となります。プロセスのこの時点で、次の例のように、ボード 0 だけがビジーのままになります。
Ap_Id Type Receptacle Occupant Busy sbd/slot0 cpu/mem connected configured y sbd/slot0::memory memory connected unconfigured n sbd/slot1 cpu/mem connected configured n sbd/slot1::memory memory connected configured n |
プロセス全体が終了した後も、次の例のように、ボード 0 上のメモリーは unconfigured のままであり、接続点はビジーではありません。
Ap_Id Type Receptacle Occupant Busy sbd/slot0 cpu/mem connected configured n sbd/slot0::memory memory connected unconfigured n sbd/slot1 cpu/mem connected configured n sbd/slot1::memory memory connected configured n |
ページング不可能なメモリーは移動され、ボード 0 上のメモリーは unconfigured となります。この時点で、どちらのボード上でも、新しい状態変更操作を実行することができます。
プラットフォーム固有オプションは、システムボードプラグインが解釈するオプションに続いて指定できます。プラットフォーム固有オプションはすべて、platform キーワードの後に指定しなければなりません。次の例は、プラットフォーム固有オプションをもつコマンドの一般的な形式です。
command -o sbd_options,platform=platform_options
このマニュアルページには、cfgadm コマンド用の -v オプション、-s オプション、または -h オプションの機能説明はありません。これらのオプションについての機能説明は、cfgadm(1M) を参照してください。次のオプションが、cfgadm_sbd プラグインライブラリによってサポートされています。
状態変更関数を実行します。次の関数を使うことができます。
占有装置状態を unconfigured に変更します。この関数は、システムボード上のすべての構成要素およびシステムボードスロットに適用されます。
unconfigure 関数は、CPU リストから CPU を削除した後、システムメモリープールから物理メモリーを削除します。使用中のデバイスがある場合は、cfgadm コマンドは失敗し、障害をユーザーに報告します。デバイスがビジーでなくなると、すぐにコマンドを再試行できます。CPU が使用中の場合は、コマンドを実行する前に、CPU をオフラインにしておきます。pbind(1M)、psradm(1M)、および psrinfo(1M) を参照してください。
unconfigure 関数は、物理メモリーを他のシステムボードに移動した後、構成解除するボードからメモリーを削除します。移動するメモリータイプにより、別のボード上に十分なメモリーを発見できない場合、または該当する物理メモリー範囲を発見できない場合は、コマンドが失敗します。
永続メモリーの場合は、メモリーが移動され、メモリーコントローラが再プログラミングされている間、オペレーティングシステムを停止 (すなわち、休止) しなければなりません。オペレーティングシステムの休止が確認された場合は、構成解除操作に進むように要求されます。yes または no で答えるには、それぞれ、-y オプションまたは -n オプションを常に使ってください。
メモリーの移動は、メモリー容量とシステム負荷により、終了するまで数分かかる場合があります。メモリー移動操作の進行状況は、メモリー接続点に対して、status コマンドを実行して監視できます。また、cfgadm コマンドを停止して、メモリー移動操作を中断することもできます。削除されたメモリーは、システムメモリープールに戻されます。
受容体状態を disconnected に変更します。この関数は、システムボードスロットだけに適用されます。
占有装置状態が configured の場合は、disconnect 関数は、占有装置を構成解除しようとします。構成解除後、システムボードの電源を切断します。この時点で、ボードをスロットから取り外すことができます。
この関数は、動的システムドメインをサポートするプラットフォーム上では、ボードを assigned 状態のままにします。
-o nopoweroff を指定すると、disconnect 関数は、ボードを電源投入状態のままにします。-o unassign を指定すると、disconnect 関数は、ドメインからボードを割り当て解除します。
ボードがドメインから割り当て解除されると、別のドメインに割り当てることができます。割り当てられた場合は、割り当てを解除された元のドメインは、ボードの使用ができなくなります。
占有装置状態を configured に変更します。この関数は、システムボード上のすべての構成要素とシステムボードスロットに適用されます。
受容体状態が disconnected の場合、configure 関数は、受容体を接続しようとします。接続後、connect 関数によって作成されたデバイスツリーを順に調べていき、必要であれば、デバイスを接続します。この関数を実行すると構成済みの構成要素を除き、ボード上のすべての構成要素が構成されます。
複数の CPU の場合、configure 関数は、複数の CPU を CPU リストに追加します。メモリーの場合、configure 関数は、メモリーを確実に初期化した後、メモリーをシステムメモリープールに追加します。追加された複数の CPU とメモリーは、configure 関数が正常に終了した後、いつでも使用できる状態になります。
I/O デバイスの場合、デバイスを使用可能にするには、まず、mount コマンドと ifconfig コマンドを使用する必要があります。ifconfig(1M) と mount(1M) を参照してください。
受容体状態を connected に変更します。この関数は、システムボードスロットだけに適用されます。
ボードスロットがドメインに割り当てられていない場合は、connect 関数は、スロットをドメインに割り当てようとします。次に、ボードの電源を投入し、テストを行った後、ボードをシステムバスに電気的に接続し、構成要素を調べます。
connect 関数が正常に終了すると、-a オプションを使ってボード上の構成要素の状態を表示できます。connect 関数は、すべての構成要素を unconfigured 状態のままにします。
割り当てステップは、動的システムドメインをサポートするプラットフォームだけに適用されます。
ソフトウェアの状態変更の制約を無効にします。-t オプションとともに指定すると、-f オプションは、テスト済みである場合でも、システムボードを強制的にテストします。
-f オプションが、ハードウェアとオペレーティングシステムの根本的な安全性と可用性に対する制約を無効にすることは絶対にありません。
各接続点タイプに応じて、一般的な情報とプラットフォーム固有情報を一覧表示します。プラットフォーム固有情報は、info フィールドに追加されます。
構文解析が可能な info フィールドは、次項から構成されています。
cpu タイプは、次の情報を表示します。
ここで、# は CPU の ID を表した番号です。
ここで、# は CPU のスピードを MHz 単位で表した数値です。
ここで、# は E-cache のサイズを M バイト単位で表した数値です。
memory タイプは、該当する場合に次の情報を表示します。
ここで、# はベース物理アドレスを表した数値です。
ここで、# はメモリーのサイズを K バイト単位で表した数値です。
ここで、# はページング不可能なメモリーのサイズを K バイト単位で表した数値です。
メモリーを構成解除できないようにするオぺレーティングシステムの設定です。
ボードが、他のボードとのインタリーブに参加します。
操作元の接続点を表します。
操作先の接続点を表します。
ここで、# は削除済みのメモリーの容量を K バイト単位で表した数値です。
ここで、# はまだ削除できるメモリーの容量を K バイト単位で表した数値です。
io タイプは、次の情報を表示します。
I/O 構成要素に対する物理パスを表します。
I/O 構成要素が参照されています。
board タイプは、次の情報を表示します。
ボードがドメインに割り当てられています。
ボードの電源が投入されています。
-o parsable を指定しないと、同じ項目がもっと読みやすい形式で、info フィールドに表示されます。
ブール名、または一連の「名前=値」ペアとして info フィールドに情報を戻します。「名前=値」ペアは、1 つのスペース文字で区切られ、二重引用符で囲まれます。二重引用符とバックスラッシュ (¥) 文字からは、1 つのバックスラッシュ (¥) で抜けます。ブール名が存在しない場合は、反対が適用されることを示します。
-o parsable オプションは、-s オプションとともに使うことができます。-s オプションついては、cfgadm(1M) マニュアルページを参照してください。
ボードをテストします。
ボードは、適切なレベルのテストに合格していなければ、接続できません。デフォルトでは、ボードは、適切なレベルのテストに合格しているので、再テストする必要はありません。ただし、-f オプションを使用して、テストをもう一度強制的に実行できます。
sbd-class 関数を実行します。次の関数を使うことができます。
1 つのボードをあるドメインに割り当てます。
受容体状態は、disconnected または empty である必要があります。ボードは、ドメイン使用可能構成要素リストに載っている必要もあります。動的システムドメインを参照してください。
あるドメインから 1 つのボードの割り当てを解除します。
受容体状態は、disconnected または empty である必要があります。ボードは、ドメイン使用可能構成要素リストに載っている必要もあります。動的システムドメインを参照してください。
システムボードの電源を投入します。
受容体状態は、disconnected である必要があります。
システムボードの電源を切断します。
受容体状態は、disconnected である必要があります。
受容体接続点 ID は、形式 sbd/slot_nameX を取ります。ここで、X はスロット番号と等しくなります。
構成要素接続点 ID は、形式 component_typeX を取ります。ここで、component_type は、「構成要素タイプ」に記載されている構成要素タイプの 1 つと、X はスロット番号とそれぞれ等しくなります。
構成要素番号は、ボード相対ユニット番号です。
# cfgadm -a -s "select=class(sbd)" Ap_Id Type Receptacle Occupant Condition sbd/slot0 cpu/mem connected configured ok sbd/slot0::cpu0 cpu connected configured ok sbd/slot0::memory memory connected configured ok sbd/slot1 pci connected configured ok sbd/slot1::pci0 pci connected configured ok sbd/slot1::pci1 pci connected configured failed sbd/slot2 cpu/mem disconnected unconfigured failed sbd/slot3 cpu/mem disconnected unconfigured unknown sbd/slot4 unknown empty unconfigured unusable |
スロット 1 の 2 番目の PCI ノードはテストに失敗しました。
スロット 2 のボードはテストに失敗しました。
スロット 4 は使用不可です。したがって、そのスロットにボードをホットプラグできません。
# cfgadm -a -s "select=class(sbd):type(cpu)" Ap_Id Type Receptacle Occupant Condition sbd/slot0::cpu0 cpu connected configured ok sbd/slot0::cpu1 cpu connected configured ok sbd/slot0::cpu2 cpu connected configured ok sbd/slot0::cpu3 cpu connected configured ok |
# cfgadm -l -s noheadings,cols=info sbd/slot0::cpu0 cpuid 16 speed 400 Mhz ecache 8 Mbytes |
# cfgadm -l -s noheadings,cols=info -o parsable sbd/slot0::cpu0 "cpuid=16", "speed=400", "ecache=8" |
# cfgadm -a -s noheadings,cols=ap_id:info -o parsable sbd/slot1 sbd/slot1::pci0 "device=/devices/saf@0/pci@0,2000" referenced sbd/slot1::pci1 "device=/devices/saf@0/pci@1,2000" referenced |
この例では、メモリーサイズは M バイト単位で表示されます。
# cfgadm -c unconfigure -y sbd/slot0::memory & # cfgadm -l -s noheadings,cols=info -o parsable ¥ sbd/slot0::memory sbd/slot1::memory "address=0x0", "size=16384", "target=sbd/slot1::memory", "deleted=1240", "remaining=6144", "address=0x1000000", "size=16384", "source=sbd/slot0::memory" |
# cfgadm -x assign sbd/slot2 |
# cfgadm -x unassign sbd/slot3 |
プラグインライブラリモジュール
記号名
cfgadm コマンド
以下の属性については、attributes(5) を参照してください。
属性の種類 | 属性の値 |
---|---|
Availability | SUNWkvm.u |
cfgadm(1M), devfsadm(1M), ifconfig(1M), mount(1M), pbind(1M), psradm(1M), psrinfo(1M), config_admin(3CFGADM), attributes(5)
ここでは、メモリー削除操作の進行状況および cfgadm コマンドのプラットフォーム固有動作を監視する方法について説明します。
次のシェルスクリプトは、メモリー削除操作の進行状況を監視するために使用できます。
# cfgadm -c unconfigure -y sbd/slot0::memory & #!/bin/sh while true do eval `cfgadm -l -s noheadings,cols=info -o parsable sbd/slot15.0::memory` if [ -n "$remaining" ] then echo $remaining mbytes else echo memory delete is done exit 0 fi sleep 1 done |
-t オプションと -x オプションは、Sun Fire 15000プラットフォーム上では違った動作をします。次に、その 2 つのオプションの動作を示します。
システムコントローラが、CPU を使い、LPOST とその後に hpost コマンドを実行して、システムボードをテストします。I/O ボードのテストの場合は、ドライバが、-t オプションに答えてテストを始めると、テストは、自動的にユーザーの操作介入なしに実行されます。ドライバは、CPU の構成およびある範囲の隣接物理メモリーの構成を解除します。その後、システムコントローラにコマンドを送信し、ボードをテストします。システムコントローラが、トランザクション/エラーケージの内側から CPU とメモリーを使用して、I/Oボードをテストします。
Sun Fire 15000 システム管理モデルでは、プラットフォーム管理者が、システムコントローラからプラットフォームハードウェアを制御します。プラットフォーム管理者だけが、ドメインの使用可能構成要素リストにボードを追加することによって、ドメインとの間で、未使用のボードを割り当てまたは割り当ての解除を行うことができます。ドメイン管理者は、ボードがすでにドメインの使用可能構成要素リスト中に存在する場合にかぎり、そのドメインに対してボードの割り当てまたは割り当て解除を行うことができます。
Sun Fire 15000 プラットフォームの場合、論理システムスロットは、slot_nameX.Y と表されます。ここで、X は拡張位置 (0 〜 17) を表し、Y はスロット番号 (0 〜 1) を表します。
次の例では、ドメインには、3 枚の CPU ボードまたはメモリーボード、および 2 枚の I/O ボードが含まれています。
# cfgadm -l -s "select=class(sbd)" Ap_Id Type Receptacle Occupant Condition sbd/slot3.0 CPU connected configured ok sbd/slot11.0 CPU connected configured ok sbd/slot11.1 CPU connected configured ok sbd/slot15.0 CPU connected configured ok sbd/slot15.1 hpci connected configured ok |
名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | ファイル | 属性 | 関連項目 | 注意事項