第8章 |
|
この章では、ドメインソフトウェアとサーバーハードウェアを制御する機能について説明します。制御機能は、管理者の判断で実行できます。SMS でも、制御機能によって ASR (Automatic System Recovery : 自動システム回復) が利用できるため便利です。
ドメイン制御機能では、ドメイン上で実行されるソフトウェアを制御します。これには、ドメインを起動したり中断できる機能が含まれます。ドメイン制御機能は、ドメイン管理者だけが実行できます。
ここでは、ドメイン内で Solaris OS を起動する際のさまざまな側面について説明します。
setkeyswitch(1M) は、ドメインの起動を開始および処理します。このコマンドは、必要なドメインハードウェアの電源を投入し、POSTを実行して論理ドメイン内のハードウェアを Sun Fire ハイエンドシステムの物理ハードウェアドメインでテストおよび構成します。また、ドメイン上で Solaris OS を起動するのに必要な OpenBoot PROM をダウンロードして実行します。
仮想キースイッチが適切に設定されたドメインだけが、起動制御の対象となります。仮想キースイッチ を参照してください。
OpenBoot PROM 起動パラメタは、ドメインの仮想 NVRAM に格納されます。osd(1M) は OpenBoot PROM に対してそれらパラメタ値を提供し、OpenBoot PROM は指定されたとおりにドメインの起動を実行します。
特定のパラメタ、特にドメインの起動に失敗したときに OpenBoot PROM 自体からは調整できないパラメタは、setobpparams(1M) によって設定し、次の起動試行の際に有効にすることができます。
ドメインのキースイッチ制御 (仮想キースイッチ) では、ドメインの起動を手動で開始します。
setkeyswitch は、正しく構成されたドメインのキースイッチ制御がオフまたはスタンバイの位置から、いずれかのオンの位置に変化したときに、そのドメインを起動します。
setobpparams(1M) では、手動で開始した (キースイッチ制御) ドメインの起動処理を OpenBoot PROM で停止できる手段を提供します。詳細は、OpenBoot PROM 変数の設定 および setobpparams のマニュアルページを参照してください。
次のコンポーネントは、poweron および poweroff コマンドを使用して電源を制御できます。
プラットフォーム管理者は、システム全体の電源を制御することが可能で、location オプションを使用せずにこれらのコマンドを実行できます。ドメイン管理者は、それぞれのドメインに割り当てられたシステムボードの電源を制御することが可能です。ドメインの権限だけを持つユーザーは、location オプションを使用する必要があります。
1. システムコンポーネントの電源を投入するには、次のコマンドを入力します。
電源を投入するシステムコンポーネントの場所で、ユーザーがドメイン管理者の場合は、権限を持つコンポーネントの場所を指定します。 |
詳細は、poweron(1M) のマニュアルページを参照してください。
2. システムコンポーネントの電源を切断するには、次のコマンドを入力します。
電源を切断するシステムコンポーネントの場所で、ユーザーがドメイン管理者の場合は、権限を持つコンポーネントの場所を指定します。 |
警告メッセージの後で、y または n のいずれかを入力します。
詳細は、poweroff(1M) のマニュアルページを参照してください。
ドメインでオペレーティングシステムを実行しているときにシステムの電源を切断しようとすると、コマンドは失敗してウィンドウのメッセージパネルにメッセージが表示されます。その場合は、アクティブなドメインに対して setkeyswitch domain_id standby コマンドを発行することにより、プロセッサを安全にシャットダウンすることができます。シャットダウンが完了した時点で、コマンドを再発行して電源を切断できます。
停電のためプラットフォームの電源が失われる場合は、pcd によって、電源が失われる前の各ドメインの最後の状態が記録および保存されます。
SC でのみ電源が失われた場合、SC の電源を投入してください。Sun Fire ハイエンドシステムのドメインは、SC の電源が失われたことに影響されません。SC とドメインの両方の電源が失われた場合は、以下の手順で電源障害から回復してください。スイッチの場所については、『Sun Fire 15K/12K システムサイト計画の手引き』を参照してください。
1. Sun Fire ハイエンドシステムのバルク電源と、SC の電源スイッチを手動で切断します。
これによって、電源が復元したときに発生する可能性のある電源サージを回避します。
2. 電源が復元したら、Sun Fire ハイエンドシステムのバルク電源を手動で投入します。
これによって SC が起動し、SMS デーモンが開始されます。SC プラットフォームのメッセージファイルを参照して、SMS デーモンの完了をチェックしてください。
電源が投入されて Solaris OS が実行されているドメインは、OS の実行状態に戻ります。OpenBoot PROM のドメインは、やがて OpenBoot PROM の実行状態に戻ります。
回復プロセスは、SMS の操作が実行される前に完了させる必要があります。ドメインのメッセージファイルをモニターして、回復プロセスが完了したかどうかを判断することができます。
SMS はドメイン管理ソフトウェア (Solaris ソフトウェアまたは dsmd) からの要求に応じてドメインを再起動します。ドメインソフトウェアは、以下の状況で再起動サービスを要求します。
ASR (Automatic System Recovery : 自動システム回復) は、ソフトウェアまたはハードウェアの障害や許容できない環境条件によって、1つまたは複数のドメインがアクティブでない状態に陥った後、システムを復元して正しく構成されたドメインを実行できるようにするための手順で構成されます。
SMS ソフトウェアは、ASR の一部としてソフトウェアから発行された再起動要求をサポートしています。クラッシュしたドメインは、すべて dsmd によって自動的に再起動されます。
ASR が必要な状況は、ドメインをクラッシュさせる障害 (パニックなど) が検出された際に、ドメインソフトウェアによってドメインの起動が要求される場合です。
ドメインソフトウェアのハングの検出など、Solaris ソフトウェアハングイベント で説明されているような他の状況もあります。その場合、SMS は回復プロセスの一部としてドメインの起動を実行します。
dsmd は OpenBoot PROM パラメタの auto-boot? を無視します (auto-boot? は、サービスプロセッサのないシステム上で、システムがパワーオンリセットの状況で自動的に再起動するのを回避するパラメタです)。dsmd はキースイッチ制御を無視しません。キースイッチがオフまたはスタンバイに設定されている場合、キースイッチ設定はドメインが ASR の再起動アクションの対象かどうか判断する際に考慮されます。
SMS はハードウェアのモニタリングやエラーの検出および応答を行うため、SMS は最後の起動以降に記録されたハードウェアエラーに基づいて、高速再起動を要求するかどうかを決定します。
POST は、指定された入力の数に基づいてハードウェア構成を制御しますが、ブラックリストのデータに関係なく (ブラックリストの編集 を参照)、ハードウェア構成が変更されているかどうかを判断し、高速再起動を回避します。システム管理で高速再起動が要求された場合、POST は現在の入力によって示されるハードウェア構成が、最後の起動で使用されたハードウェア構成と一致しているかどうかを検証し、一致していない場合は高速 POST 処理が失敗します。システム管理ソフトウェアでは、フルテスト (低速) のドメイン起動を要求して、この種の POST 障害から回復します。
Sun Fire ハイエンドシステム管理ソフトウェアは、制御可能なドメインの起動プロセスの一部に費やされる時間を最少限に抑えます。
ドメインソフトウェアを中止したり、ドメインソフトウェアまたはハードウェアに対してリセットを発行する必要のある、特定のエラー状況がドメインで発生する場合があります。ここでは、dsmd によって提供されるドメインの中止 / リセット機能について説明します。
dsmd は、コアイメージを取得しようとパニックになって要求しているドメインの Solaris OS を中止するための、ソフトウェア的な実行メカニズムを提供します。ユーザーの操作は必要ありません。
SMS には reset(1M) コマンドが用意されており、ユーザーはこのコマンドを使用してドメインソフトウェアを中止し、ドメインハードウェアに対してリセットを発行できます。
reset コマンドが発行されると、OpenBoot PROM に制御が渡されます。ユーザーインタフェースで reset コマンドが発行された場合、OpenBoot PROM はそのデフォルト設定を使用して、Solaris 環境に対してドメインを起動するかどうかを決定します。dsmd によって reset コマンドが発行された場合、OpenBoot PROM は Solaris OS に対してドメインを強制的に起動するパラメタを提供します。
reset コマンドは、指定されたドメインのすべての CPU ポートに対して信号を送信します。これはハードリセットであり、ハードウェアをクリーンな状態にします。ただし -x オプションを使用すると、reset コマンドは指定されたドメインのプロセッサに対して XIR 信号を送信できます。これはソフトウェアで行われ、ソフトリセットと見なされます。仮想キースイッチが安全位置にある場合は、エラーメッセージが発行されます。デフォルトでは、オプションの "Are you sure?" プロンプトが表示されます。たとえば、次のメッセージが表示されます。
sc0:sms-user:> reset -d C Do you want to send RESET to domain C? [y|n]:y RESET to processor 4.1.0 initiated. RESET to processor 4.1.1 initiated. RESET initiated to all processors for domain: C |
メインまたはスペアの SC をリセットする方法については、SC のリセットおよび再起動 を参照してください。
ホットプラグ可能ユニット (HPU) の電源投入のリセットが行われたときに正しい状態を反映させるため、LED を備えた HPU のインジケータ LED が、SMS ソフトウェアによって点灯または消灯されます。
ハードウェア制御は、プラットフォームハードウェアの構成や制御を行う機能です。いくつかの機能はドメイン上で実行されます。
システム管理サービスソフトウェアは、POST を 2 つの状況で実行します。
1. POST はドメインの起動時に実行され、そのドメインで利用可能なすべてのハードウェア機能をテストおよび構成します。
POST はセルフテストに失敗したハードウェアコンポーネントをすべて除去して、正しく動作するハードウェアを用いて起動可能なドメインを構築します。
POST は、ハードウェアのテスト結果を報告して障害の分析に役立つ、詳細な診断機能を提供します。ハードウェアの障害が原因だと明示されずにドメインが再起動される場合は、POST を要求してドメイン構成のテストは行わずに確認のみを行うことができます。
2. システムボードをドメインに追加する DR 操作が開始される前に、POST が実行されてシステムボードのコンポーネントがテストおよび構成されます。
POST によって候補のシステムボードが機能することが示されると、DR 操作でシステムボードを物理 (ハードウェア) ドメインに安全に組み込むことができます。
POST は通常は自動的に実行されますが、POST の自動実行に影響する表示可能なユーザーインタフェースがあります。
これによって、システムボードなどの DCU 上で動作する標準のドメイン構成インタフェースよりも、ドメインで使用されるハードウェアコンポーネントを綿密に制御できます。
SMS は 3 つのブラックリストをサポートしています。具体的には、プラットフォーム用、ドメイン用、そして内部の ASR (自動システム回復) 用のブラックリストです。
編集可能なブラックリストファイルでは、POST によって使用不可であると見なされる特定のハードウェア資源を指定します。ブラックリストで指定されたハードウェア資源は、ドメインの相互接続で調査、テスト、または構成されません。
通常、これらのブラックリストファイルは空であり、存在しなくてもかまいません。
ここでは、ブラックリスト機能は資源管理の目的で使用されます。
ブラックリストによって、実在するすべてのハードウェアよりも少ないシステムを構成できます。ブラックリストの用途としては、ベンチマークを行う場合や、メモリーの使用を制限して DR でのボード切り離しを高速化する場合、およびトラブルシューティングで構成を検証する場合などがあります。
Sun Fire ハイエンドシステムの POST は、プラットフォーム用とドメイン用の 2 つの編集可能な標準ブラックリストファイルをサポートしています。
/etc/opt/SUNWSMS/config/platform/blacklist
/etc/opt/SUNWSMS/config/domain_id/blacklist
注 - ブラックリストファイルでは、物理的な場所に基づいて資源を指定します。コンポーネントを物理的に移動した場合は、対応するブラックリストのエントリもすべて変更する必要があります。 |
ブラックリストファイルでは、(位置指定などを行うことで) ブラックリストの対象となるコンポーネントを論理的に指定します。ブラックリストは特定のコンポーネントに伴って移動せず、ホットスワップ処理を通じてそのコンポーネントの位置に残ります。
ブラックリストファイルを編集するには、プラットフォーム管理者、ドメイン管理者、またはドメイン構成者の特権が必要です。
domain_id - ドメインの ID。有効な domain_id は、A 〜 R までの英字で、大文字と小文字は区別されません。 |
|
domain_indicator が指定されていない場合は、プラットフォームのブラックリストが編集されます。コンポーネントの場所は、すべてスラッシュで区切って指定します。location 形式は、オプションであり、特定の位置にあるボード上の特定のコンポーネントを指定するために使用されます。
複数の location 引数をスペースで区切って指定できます。
プロセッサ位置は、単一のプロセッサまたはプロセッサペアを示します。システムボード上には 4 つのプロセッサが存在します。ボード上のプロセッサペアは、procs 0 と 1、および procs 2 と 3 です。
注 - プロセッサペアの一方の CPU/メモリープロセッサをブラックリストに登録すると、両方のプロセッサが使用されなくなります。 |
MaxCPU には、procs 0 と 1、および 1 つのみの proc ペア (PP0) の 2 つのプロセッサがあります。このボードの場所として PP1 を使用すると、disablecomponent コマンドは終了してエラーメッセージを表示します。
HsPCI および HsPCI+ アセンブリには、ホットプラグが可能なカセットが内蔵されています。
バス位置には、アドレス、データおよび応答の 3 つがあります。
注 - システムコントローラのセンタープレーンサポートボードまたはバスの無効化に disablecomponents コマンドを使用しないでください。 |
domain_id - ドメインの ID。有効な domain_id は、A 〜 R までの英字で、大文字と小文字は区別されません。 |
|
domain_indicator が指定されていない場合は、プラットフォームのブラックリストが編集されます。コンポーネントの場所は、すべてスラッシュで区切って指定します。location 形式は、オプションであり、特定の位置にあるボード上の特定のコンポーネントを指定するために使用されます。
複数の location 引数をスペースで区切って指定できます。
プロセッサ位置は、単一のプロセッサまたはプロセッサペアを示します。CPU/メモリーボード上には 4 つのプロセッサが存在します。ボード上のプロセッサペアは、procs 0 と 1、および procs 2 と 3 です。
注 - プロセッサペアの一方の CPU/Mem プロセッサをブラックリストに登録すると、両方のプロセッサが使用されなくなります。 |
MaxCPU には、procs 0 と 1、および 1 つのみの proc ペア (PP0) の 2 つのプロセッサがあります。このボードの場所として PP1 を使用すると、disablecomponent コマンドは終了してエラーメッセージを表示します。
HsPCI および HsPCI+ アセンブリには、ホットプラグが可能なカセットが内蔵されています。
詳細は、enablecomponent(1M) および disablecomponent(1M) のマニュアルページを参照してください。
障害が繰り返し (ときどき) 発生するハードウェアは、さまざまな理由で以降のドメイン構成から除外する必要があります。このような障害は、コンポーネントを物理的に交換するまで、ときどき発生する可能性があります。障害のあるコンポーネントは、CPU ボード上の 1 つのプロセッサなど、サブコンポーネントである場合もあります。そのコンポーネントを交換するまで、その他のコンポーネントのサービスについては電源を切断して運用を中止したくないと考えるでしょう。ハードウェアが損傷している場合は、POST を実行するたびにその障害を検出するのは時間の浪費です。障害がときどき発生する場合は、POST 実行時にその障害を回避せず、OS が実行されている場合のみエラーにするとよいでしょう。
この障害を回避するには、esmd コマンドで 別の ASR ブラックリストファイルを作成および編集します。環境条件により電源が切断されているコンポーネントは自動的にリストに登録され、POST から除外されます。poweron、setkeyswitch、addboard、および moveboard コマンドは、除外するコンポーネントについて ASR ブラックリストに問い合わせをします。上記のコマンドのうち、poweron 以外のコマンドを実行すると、警告メッセージが表示されます。poweron では、警告メッセージではなく、コンポーネントの電源投入を継続するか中止するかを問い合わせるメッセージが表示されます。詳細は、enablecomponent(1M)、disablecomponent(1M) および showcomponent(1M) のマニュアルページを参照してください。
メインの SC は、Sun Fire ハイエンドシステムのラックに収められた以下のコンポーネントの電源を制御します。
Sun Fire ハイエンドシステムの I/O ラックでの電源制御については、HPU の LED を参照してください。
SMS では、rcfgadm(1M) コマンドによって、ドメインの Solaris コマンドインタフェース (cfgadm(1M)) で Sun Fire ハイエンドシステムの HsPCI I/O ボード内の HPCI アダプタスロットの電源の投入または切断を要求することができます。詳細は、rcfgadm のマニュアルページを参照してください。
仮想キースイッチ で説明されているキースイッチ制御インタフェースの setkeyswitch コマンドでは、ドメインに割り当てられたハードウェアの電源をユーザーが投入または切断できます。
電源操作は、すべて電源制御ソフトウェアによってログに記録されます。
電源制御ソフトウェアは、コンポーネントの電源を投入または切断するためのすべてのハードウェア要件に従います。たとえば、SMS はコンポーネントの電源を投入する前に、適切な電源が利用可能かどうかをチェックします。電源制御インタフェースは、ハードウェア要件に違反している場合にはユーザー指定による電源投入または切断の操作を行いません。ハードウェア要件またはハードウェア推奨手順に反して実行された電源操作は、メッセージログに記録されます。
デフォルトでは、電源制御ソフトウェアはソフトウェアの実行に影響する電源操作を拒否します。電源制御ユーザーインタフェースには、このデフォルト動作を変更して、実行中のソフトウェアをクラッシュさせる危険を冒しても、電源操作を強制的に完了させる方法があります。このような電源操作の強制変更は、メッセージログに記録されます。
HPU の LED で説明されているように、SMS は LED を備えた HPU のインジケータ LED を点灯または消灯して、HPU の電源が投入または切断された場合に正確な状態を反映させます。
esmd コマンドは、Sun Fire ハイエンドシステムのファンの速度を制御します。一般に、ファンの速度はノイズレベルを最小に抑えながら適切に冷却を行えるもっとも遅い速度に設定されます。
ホットプラグは、実行されているドメインに影響を与えずに、電源が投入されたプラットフォームからボードを物理的に着脱できる機能を指します。ホットプラグ操作の際には、ボードはすべてのドメインから切り離されます。
ホットプラグ可能なハードウェアコンポーネントは、ホットプラグ可能ユニット (HPU) と呼ばれます。HPU を安全に取り外せる場合は、HPU 上の 取り外し可能インジケータ LED が点灯します。取り外し可能 LED についての詳細は、HPU の LED を参照してください。ボード存在レジスタは、HPU が存在するかどうかを示し、HPU の着脱を感知します。
Sun Fire ハイエンドシステムの HsPCI および HsPCI+ I/O アセンブリは、HsPCI および HsPCI+ I/O アセンブリが取り付けられているスロットに関連する 取り外し可能インジケータ LED を備えています。各スロットはホットプラグコントローラを備えています。このコントローラは、スロットの電源を制御し、スロット内のアダプタの存在を検出します。ただし、SMS がほかの Sun Fire ハイエンドシステムの HPU をサポートするのとは異なり、HsPCI および HsPCI+ I/O アセンブリのホットプラグを制御するソフトウェアは、ドメイン上の Solaris 環境の一部です。
SMS では、ユーザーがアダプタスロットの電源を投入したり切断することが可能です。
SMS ソフトウェアは、ドメインから実行可能なソフトウェアインタフェースを提供し、I/O ボード上のアダプタスロットに関連するハードウェアデバイスを制御します。
この節で説明しているほかのホットプラグの目的に対しては、HPU にはホットプラグ可能な I/O アダプタは含まれません。
SMS ソフトウェアは、Sun Fire ハイエンドシステムのラック内にあるすべての HPU のホットプラグサービスを可能にするサポートを必要に応じて提供します。
HPU がすべてのドメインから切り離されると、ホットプラグに必要なソフトウェアサポートは電源切断の制御だけです。
動的再構成 (DR) は、ドメインから DCU (システムボード) を切り離す際に使用されます。
HPU が取り外されると、HPU の存在インジケータによってその不在が検出され、ハードウェア構成 で説明されているようにハードウェア構成ステータスが変更されます。
ホットアンプラグの際に予想されるユーザーの対話モードは次のとおりです。
HPU のインジケータ LED が取り外し可能ではないと示している場合は、poweroff コマンドを使って HPU の電源切断を要求します。
電源切断機能で HPU がドメインによって使用されていることが検出されると、電源切断機能はエラーとなり、DR を使用して最初に HPU のアクティブな運用を解除する必要があることが示されます。
詳細については、『Sun Fire ハイエンド/ミッドレンジシステム Dynamic Reconfiguration ユーザーマニュアル』を参照してください。
新たに挿入された HPU の存在が検出され、ハードウェア構成 で説明しているようにハードウェア構成の変更が報告されます。
SC はメインとスペアの SC に対してソフトウェア処理型のリセットをサポートし、システムコントローラの外付けのリセットボタンと同様の機能を提供します。SC は、主にフェイルオーバーの後にリセットされます。メインの SC ソフトウェアがスペアの SC (存在する場合) をリセットしたり、その逆を行うことも可能です。SC は自身をリセットすることはできません。
resetsc (1M) コマンドで、他の SC にリセット信号を送ります。他の SC が存在しない場合、resetsc コマンドはエラーになって終了します。
詳細は、resetsc のマニュアルページを参照してください。
LED は、ホットプラグ可能ユニット (HPU) のステータスを反映します。LED は 3 つのグループで構成されます。
この節では、SMS ソフトウェアが準拠する HPU の LED 制御のポリシーについて説明します。
システムコントローラを除くすべての Sun Fire ハイエンドシステムの HPU は、メインのシステムコントローラで実行されている SMS ソフトウェアの制御により、電源が投入されテストされます。
特に電源投入時リセットのときの LED の初期状態は、電源投入時リセットのときに POST が自動的に実行されることを前提として設計されています。この前提条件を満たす Sun Fire ハイエンドシステムの HPU は、システムコントローラだけです。システムコントローラの電源が投入されると、プロセッサは PROM から SC-POST コードの実行を開始します。
その他の HPU は、POST によってテストされるものもあれば、SMS ソフトウェアによってテスト (またはモニター) されるものもあり、通常は電源投入後すぐにテストが実行されますが、必ずしもそうならない場合もあります。
さらに、一方のドメインから他方のドメインに動的に再構成される HPU の電源投入の際には、POST を何度も実行することが可能です。POST と SMS の両方で同じ物理 HPU の障害を検出することも可能です。両者の違いは、システムコントローラと他の Sun Fire ハイエンドシステムの HPU との間の電源やテストの制御で、それらの管理に対するポリシーが異なります。
システムコントローラは、HPU の 3 組の LED を提供します。
Sun Fire ハイエンドシステムのラックに電源が投入されると、システムコントローラに電源が供給されます。動作インジケータ LED と 取り外し可能インジケータ LED は、ハードウェアによって適切に初期化されます。障害を正確に反映し、SC-POST の実行を妨げる問題が存在することが分かるように、3 つの障害 LED がすべて点灯します。
SMS ソフトウェアは、スペアのシステムコントローラの電源切断時に、動作インジケータ LED を消灯して、取り外し可能インジケータ LED を点灯します。SMS ソフトウェアは、ソフトウェアが実行されているメイン SC の電源が切断されると、動作インジケータや取り外し可能インジケータの LED を調整できなくなります。
SC-OpenBoot PROM ファームウェアおよび SMS ソフトウェアは、ハードウェアエラーを検出すると、システムコントローラ上の該当する障害 LED を点灯します。
システムコントローラ以外の HPU の LED を管理する際は、以下のポリシーが適用されます。
注 - Sun Fire ハイエンドシステムは、HPU の電源が投入されたり電源投入時リセットされたときに、動作インジケータ LED を点灯して、取り外し可能インジケータ LED を消灯します。 |
SC では、障害 LED は電源投入時に点灯し、テスト期間中は点灯が維持され、障害が検出されなかった場合は消灯します。
障害は、SC-POST が以降の障害 LED を点灯できた後に検出されます。
SC が POST によってテストされている短い間を除いて、SC の障害 LED は電源投入以降に障害が発生したことを示します。非 SC HPU の場合も同様です (障害 LED の点灯は、電源投入以降に障害が検出されたことを示します)。Sun Fire ハイエンド システム内の、LED を備えた非 SC HPU については、SMS は電源投入または電源投入リセットが発生する際に障害インジケータ LED を消灯状態にします。
Copyright© 2005, Sun Microsystems, Inc. All rights reserved.