動的再構成 (DR: Dynamic Reconfiguratoin) を実行する DR ソフトウェアを使用すると、オペレーティングシステムに対するシステムボードの論理的な接続・切り離しを、マシンを稼働させたまま行うことができます。DR ソフトウェアは、「ホットスワップ」の実行時に使用します。ホットスワップとは、システムボードを物理的に取り外す、または取り付けるプロセスです。DR ソフトウェアを使用して、新しいシステムボードの追加、修復したシステムボードの再取り付け、あるいは Sun Enterprise 10000 システムのドメイン構成の変更ができます。
目的のシステムボードを使用中のドメインが存在する場合は、電源を切って取り外す前に、まずそのシステムボードを論理的に切り離す必要があります。新しいシステムボードを装着した場合は、電源の投入後にそのシステムボードをドメインに論理的に接続することができます。
DR ソフトウェアは、Hostview の GUI、または dr(1M) シェルアプリケーションを使って、SSP から操作できます (詳細は、hostview(1M) や dr(1M)のマニュアルページを参照してください)。DR は、以下の機能をサポートしています。
DR Attach - 任意のドメインで動作しているオペレーティングシステムに、システムボードを論理的に接続します。システムボードは、そのボードの資源 (プロセッサ、メモリー、および入出力アダプタ) がドメインの一部として構成され、Solaris オペレーティング環境がそれを使用できるようになった時点で、論理的に接続されたことになります。ただし、接続できるのは、どのドメインにも属していない電源が入った既存のシステムボードに限ります。通常システムボードの接続が必要になるのは、システムボードを装着して電源を入れた後、または別のドメインからシステムボードを切り離した後です。
DR Detach - 任意のシステムボードを、ドメインから論理的に切り離します。システムボードは、ボードのリソース (プロセッサ、メモリー、および入出力アダプタ) がドメイン構成から削除され、ドメインがそれを使用できなくなった時点で、論理的に切り離されたことになります。通常、システムボードの切り離しが必要になるのは、ボードを他のドメインに移動するとき、またはボードを取り外すときのどちらかです。
ドメイン内で DR 操作が実行されている間、dr_daemon(1M) (『Sun Enterprise 10000 Dynamic Reconfiguration リファレンスマニュアル』を参照) およびオペレーティング環境によって、状態や例外処理に関するメッセージがドメインの syslog メッセージバッファー (/var/adm/messages) および SSP メッセージファイル ($SSPOPT/adm/ホスト名/messages および $SSPOPT/adm/messages) に書き込まれます。これらのメッセージは、Hostview および dr (1M) シェルアプリケーションによって表示される状態および例外処理情報とともに、DR 要求の状態を判断するのに役立ちます。
同じプラットフォーム上で、同時に複数の DR 操作を実行することはできません。ただし、ドメインが異なっていれば、あるドメインに部分的に完了してから取り消された DR 操作があっても、別のドメインで新たな DR 操作を開始できます。しかし、同じドメインでの新たな DR 操作を開始するには、部分的に完了して取り消された DR 操作の終了が必要です。
複数のシステムボードにインタリーブされているメモリーを使用している場合、それらのシステムボードを切り離すことはできません。これは、DR がまだボード間のインタリーブをサポートしていないためです。デフォルトでは、hpost(1M) はメモリーがインタリーブされているボードをセットアップしません。hpost(1M) ファイルの .postrc (postrc(4) を参照) から、以下の行を見つけてください。
mem_board_interleave_ok |
mem_board_interleave_ok が存在すると、メモリーインタリーブを使用しているボードを切り離せない場合があります。
ボードを切り離す前に、オペレーティングシステムによってそのボードのメモリーが空にされている必要があります。ボードを空にするということは、ボードのページング可能なメモリーをスワップ領域にフラッシュし、ページング不可能なメモリー (すなわちカーネルまたは OBP メモリー) を別のメモリーボードにコピーするということです。ページング不可能なメモリーを再配置するためには、そのドメインのオペレーティング環境を一時的に停止する、すなわち休止する必要があります。一時停止させる時間は、そのドメインの入出力構成と現在の作業負荷によって異なります。オペレーティング環境を一時停止するのは、ページング不可能なメモリーを持つボードを切り離すときだけです。したがって、ドメインの操作に重大な影響を及ぼさないためには、ページング不可能なメモリーが常駐する場所を把握する必要があります。ボードに常駐メモリーがある場合、オペレーティング環境は、コピー先のメモリーを他に確保する必要があります。
以下のように、dr(1M) コマンドの drshow(1M) を使用して、目的のボード上のメモリーがページング可能かどうかを判断することができます。
% dr dr> drshow ボード番号 mem |
またボード上のメモリーがページング可能かどうかは、DR Memory Configuration ウィンドウからも確認できます。DR Memory Configuration ウィンドウは、Hostview の中で切り離し操作を実行すると表示されます。DR Memory Configuration ウィンドウについては、Solaris 8 Update 3 用「Sun Hardware Collection - Japanese」AnswerBook コレクションの『Sun Enterprise 10000 DR 構成マニュアル』で説明します。
常駐メモリーを切り離すとき、DR はメモリーのコピー先となる、ターゲットメモリー領域を選択します。DR ソフトウェアは、自動的に規則の遵守合計をチェックします。遵守合計を確認できない場合、DR ソフトウェアは DR メモリー操作の継続を無効にします。DR メモリー操作が無効になった場合は、以下の理由が考えられます。
ページング不可能なメモリーのコピーを保存できるだけの十分な容量がドメインにない
ドメインが他のボードのメモリーとインターリーブされている
Solaris 7 5/99 リリースでは、ターゲットボードが見つからない場合は切り離し操作が拒否され、DR はシステムコンソールに以下の警告メッセージを表示します (詳細については、『Sun Enterprise 10000 DR エラーメッセージ』を参照してください。
修正可能なメモリーエラーとは、システムボード上のメモリー (すなわち単一または複数の DIMM (Dual Inline Memory Module) やハードウェアの相互接続部分) に障害があり、修復が必要な状態を示しています。SSP が修正可能なメモリーのエラーを検出した場合は、診断データの保存を目的としたレコード停止ダンプの取得を開始するため、DR Detach 操作に影響が出る場合があります。したがって、レコード停止が修正可能なメモリーのエラーによって発生した場合は、レコード停止操作を完了させてから、DR Detach 操作を始めることをお薦めします。
障害の発生した構成要素によって修正可能なメモリーのエラーに関するメッセージが繰り返し表示された場合、SSP はレコード停止ダンプを複数取得します。この複数のダンプ取得が発生したときは、SSP 上のダンプ検出機能を一時的に停止します。実行中のダンプ取得が終了してから、DR Detach 操作を開始します。DR Detach 操作が完了したら、ダンプ検出機能を再開します。
SSP に ssp ユーザーとしてログインします。
レコード停止ダンプ検出機能を停止します。
SSP% edd_cmd -x stop |
このコマンドは全ドメインで稼働するすべてのイベント検出機能を中断します。
実行中のレコード停止ダンプを確認します。
SSP% ps -ef | grep hpost |
grep(1) コマンドで出力された hpost の -D オプションは、レコード停止ダンプが取得中であることを示します。
DR Detach 操作を実行します。
イベント検出機能を開始します。
SSP% edd_cmd -x start |
IDN 機能は、標準 TCP/IP プロトコルで相互接続されたドメイン間で通信することを可能にします。この機能を実現するために、IDN はハードウェア構成についての詳細な情報を保持し、ドメインの各メンバーのハードウェア構成を監視しています。
DR 機能は、ユーザーがオペレーティングシステムを停止せずに、ハードウェアを再構成することを可能にします。IDN が一貫した最新情報を保持するために、DR の実現には、IDN にハードウェア構成の変更をつねに認知させておく必要があります。
DR は、IDN からドメインへのリンクを切り離し、ハードウェアを再構成して、ドメインを IDN に再リンクすることによって、この機能を実現します。ドメインのリンク切り離しと再リンクは、DR 処理の完全な取り付けと完全な切り離しの段階で行われます。DR はドメインが IDN のメンバーであるかどうかを決定し、この段階で、ドメインのリンク切り離しと再リンクを実行します。ユーザーによる何らかの操作は必要ありません。ただし、メンバーであるドメインが認識されない状態(いわゆる AWOL)である場合、特に、ドメインが無応答状態にある場合、リンク切り離し処理はできません。ユーザーが DR を実行しようとしたときに、1 つ以上のドメインが認識されない状態である場合、IDN 内部にあるすべての認識されない (AWOL) ドメインをリンク切り離しする必要があります(これは、すべての認識されない (AWOL) ドメインに対して domain_unlink(1M) コマンドを実行することを意味します)。
ドメインが IDN にリンクされていない間は、そのドメインに対する、またはそのドメインからのデータ転送はできません。しかし、ドメインは、SSP の domain_config(4) ファイルで定義された IDN のメンバーであり続けます。また、domain_status(1M) コマンドを使用した場合、IDN のメンバーとしてもリストに保持され続けます。
DR と IDN 間の相互通信のために、いかなる場合も、単一の Sun Enterprise 10000 システムにおいては、ただ 1 つだけの DR または IDN 操作が許可されます。
ある条件において、コマンドの強制オプションを使用する必要があるかもしれません。DR 操作の流れにおいて、domain_unlink(1M) に対して強制オプションを使用することもできます。IDN のメンバーであるドメインを使用している場合は、強制オプションの使用には十分な注意が必要です。強制オプションの詳細については、『Sun Enterprise 10000 InterDomain Networks ユーザーマニュアル』を参照してください。
それぞれのドメインで動作する dr_daemon(1M) は、Hostview や dr(1M) シェルアプリケーション (どれも SSP で動作します) との相互処理を、遠隔手続き呼び出し (RPC) を使って行います。
RPC の時間切れや接続障害についての詳細は、『Sun Enterprise 10000 DR 構成マニュアル』を参照してください。