Sun Enterprise 10000 Dynamic Reconfiguration ユーザーマニュアル

DR Detach 操作のための構成

この節では、論理的な切り離し操作を実行するための DR の構成方法について説明します。

入出力デバイス

重要なシステムリソースに接続されている入出力コントローラをホストしているボードを切り離す場合、DR Detach 機能は、代替パス設定機能 (AP : Alternate Pathing) 、または Solstice` DiskSuite` によるミラー化機能と連携して動作します。たとえば、この種のボードのコントローラに接続されているディスク上に、ルート (/) パーティションまたは /usr パーティションがある場合、このディスクへのハードウェア代替パスがなかったり (かつ AP がこれを利用するように構成されている)、またはディスクがミラー化されていなかったりすると、そのボードを切り離せません。つまり、ドメイン内の他のボードが、代替パスまたはミラーのホストとなっている必要があります。同じことがネットワークコントローラの場合にもあてはまります。SSP と Sun Enterprise 10000 プラットフォームを接続する Ethernet コントローラのホストとなっているボードは、このネットワーク接続を維持するための代替パスが他のボードの Ethernet コントローラに指定されていない限り、切り離すことはできません。

soc ドライバや pln ドライバでデバイスの中断ができるように設定するには、/etc/system ファイルを編集して、pln_enable_detach_suspend 変数や soc_enable_detach_suspend 変数の値を次のように 1 に設定しておく必要があります。


set pln:pln_enable_detach_suspend=1
set soc:pln_enable_detach_suspend=1

ドメインのスワップ領域は、別々のボードがホストとなっているコントローラに接続されているディスク上に、複数のパーティションとして構成する必要があります。この種の構成では、スワップ領域を動的に追加・削除できるので、特定のスワップパーティションに重要性が偏らなくなります (詳細は、swap(1M) を参照してください)。


注 -

メモリー (swapfs) やディスクのスワップ領域を切り離す場合は、現在実行中のプログラムに対応できるだけの十分なメモリーまたはスワップ領域が、ドメイン内に残っている必要があります。


あまり重要ではないシステムリソースをホストしているボードは、リソースへの代替パスの有無に関係なく切り離すことができます。切り離すボード上のデバイスはすべて、切り離しの前に閉じる必要があります。そのボードに関連するすべてのファイルシステムのマウントを解除し、スワップパーティションを削除してください。マウントを解除する前に、ファイルやデバイスを開いているプロセスの終了や、(lockfs(1M) を使用した) ファイルシステムにハードロックの設定が必要な場合もあります。

ボード上の入出力デバイスに関連するすべてのドライバは、ドライバの切り離しエントリポイントにおいて、DDI_DETACH オプションをサポートする必要があります。このオプションは、デバイスまたはアダプタに関連付けられているすべてのシステムリソースを解放します。

メモリー

複数のシステムボードにインタリーブされているメモリーを使用している場合、それらのシステムボードを切り離すことはできません。これは、DR がまだボード間のインタリーブをサポートしていないためです。デフォルトでは、hpost(1M) はメモリーがインタリーブされているボードをセットアップしません。hpost(1M) ファイルの .postrc (postrc(4) を参照) から、以下の行を見つけてください。


mem_board_interleave_ok

mem_board_interleave_ok が存在すると、メモリーインタリーブを使用しているボードを切り離せない場合があります。


注 -

ndd(1m) コマンドを使用してネットワークドライバのパラメタを設定した場合、ここで施したパラメタの設定内容が DR Attach や DR Detach を実行した後は無効になる可能性があります。DR 操作の後も変更内容が持続するようにドライバパラメタを設定したい場合は、/etc/system ファイルや driver.conf ファイルを編集してください。


ページング可能なメモリーとページング不可能なメモリー

ボードを切り離す前に、オペレーティングシステムによってそのボードのメモリーが空にされている必要があります。ボードを空にするということは、ボードのページング可能なメモリーをスワップ領域にフラッシュし、ページング不可能なメモリー (すなわちカーネルまたは OBP メモリー) を別のメモリーボードにコピーするということです。ページング不可能なメモリーを再配置するためには、そのドメインのオペレーティング環境を一時的に停止する、すなわち休止する必要があります。一時停止させる時間は、そのドメインの入出力構成と現在の作業負荷によって異なります。オペレーティング環境を一時停止するのは、ページング不可能なメモリーを持つボードを切り離すときだけです。したがって、ドメインの操作に重大な影響を及ぼさないためには、ページング不可能なメモリーが常駐する場所を把握する必要があります。ボードに常駐メモリーがある場合、オペレーティング環境は、コピー先のメモリーを他に確保する必要があります。

以下のように、dr(1M) コマンドの drshow(1M) を使用して、目的のボード上のメモリーがページング可能かどうかを判断することができます。


% dr
dr> drshow ボード番号 mem

またボード上のメモリーがページング可能かどうかは、DR Memory Configuration ウィンドウからも確認できます。DR Memory Configuration ウィンドウは、Hostview の中で切り離し操作を実行すると表示されます。DR Memory Configuration ウィンドウについては、「ドメイン情報の表示」で説明します。

ターゲットメモリーに関する制約事項

常駐メモリーを切り離すとき、DR はメモリーのコピー先となる、ターゲットメモリー領域を選択します。DR ソフトウェアは、自動的に規則の遵守合計をチェックします。遵守合計を確認できない場合、DR ソフトウェアは DR メモリー操作の継続を無効にします。DR メモリー操作が無効になった場合は、以下の理由が考えられます。

Solaris 7、Solaris 8 では、ターゲットボードが見つからない場合は切り離し操作が拒否され、DR はシステムコンソールに以下の警告メッセージを表示します。


WARNING: sfdr: sfdr_pre_release_mem: no available target for mem-unit (board.0)

修正可能なメモリーのエラー

修正可能なメモリーエラーとは、システムボード上のメモリー (すなわち単一または複数の DIMM (Dual Inline Memory Module) やハードウェアの相互接続部分) に障害があり、修復が必要な状態を示しています。SSP が修正可能なメモリーのエラーを検出した場合は、診断データの保存を目的としたレコード停止ダンプの取得を開始するため、DR Detach 操作に影響が出る場合があります。したがって、レコード停止が修正可能なメモリーのエラーによって発生した場合は、レコード停止操作を完了させてから、DR Detach 操作を始めることをお薦めします。

障害の発生した構成要素によって修正可能なメモリーのエラーに関するメッセージが繰り返し表示された場合、SSP はレコード停止ダンプを複数取得します。この複数のダンプ取得が発生したときは、SSP 上のダンプ検出機能を一時的に停止します。実行中のダンプ取得が終了してから、DR Detach 操作を開始します。DR Detach 操作が完了したら、ダンプ検出機能を再開します。

ダンプ検出機能の再開
  1. SSP に ssp ユーザーとしてログインします。

  2. レコード停止ダンプ検出機能を停止します。


    SSP% edd_cmd -x stop
    

    このコマンドは全ドメインで稼働するすべてのイベント検出機能を中断します。

  3. 実行中のレコード停止ダンプを確認します。


    SSP% ps -ef | grep hpost
    

    grep(1) コマンドで出力された hpost-D オプションは、レコード停止ダンプが取得中であることを示します。

  4. DR Detach 操作を実行します。

  5. イベント検出機能を開始します。


    SSP% edd_cmd -x start
    

スワップ領域

ドメインのスワップ領域は、スワップデバイスと swapfs (メモリー) から構成されます。ドメインには、ページング可能なメモリーをフラッシュできるだけの十分なスワップ領域が必要です。たとえば、2 GB のドメインから 1 GB のメモリーを切り離す場合、負荷に応じて、1 GB のスワップ領域が必要です。スワップ領域が不足している場合、DR は、メモリーを搭載しているボードを切り離せません。この場合、メモリーのドレインが完了しないので、ユーザーによる切り離し操作の中止が必要です。