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

システムボードの切り離し

この節では、DR Detach を実行した場合に発生する処理の概要を示します。詳細な手順については、「Hostview を使用してボードを切り離す」を参照してください。

オペレーティング環境が現在使用しているシステムボードは、「DR Detach 操作のための構成」に記載されている条件を満たしていれば、切り離すことができます。適切なボードを選択したら、Drain および Complete Detach という 2 つの操作を実行して、ボードを切り離します。

Drain 操作

Drain 操作の主な目的は、オペレーティング環境がボードのメモリーを空にするときの方法を決定し、必要なら、ボード上のページング不可能なメモリーのコピー先となるターゲットメモリー領域を選択することです。Drain 操作を要求したときに、適切なターゲットメモリー領域が使用できない場合、要求は拒否されます。この理由で Drain が拒否された場合は、ターゲットメモリーが使用可能になるまで再試行を続けてかまいません。「DR Detach 操作のための構成」を参照してください。

Drain 操作が始まると、ボード上のページング可能なメモリーはディスクにフラッシュされ、ドメインが使用できなくなります。1 ページ分のメモリーに空きができると、そのページは今後使用できるようにロックされます。Drain は、ボード上の CPU および入出力リソースを使用しているプロセスに対して目に見えるような影響は与えません。ただし、ドメインが使用できるメモリーは減少します。


注 -

メモリーをドレインした後に、現在の作業負荷に対応できるだけの十分なメモリーとスワップ領域が、ドメイン内に残っている必要があります。


Drain 操作の実行中、Hostview や dr(1M) を使用して、ドレインするページがあと何枚残っているか、またボード上のデバイスの使用状況など、切り離しの進行状況を監視することができます。この情報を使用して、残りのボードデバイスを切り離すためのドメインの準備を行うことができます。

切り離し操作は、途中で取り消すことができます。取り消した場合、ボード上のメモリーが通常の用途に戻ります。Drain プロセスの途中または Drain 操作の完了後に、操作を取り消すこともできます。Drain 中にメモリーに極端な負荷がかかる場合は、ドレインされたページの割合がほとんど増加しないか全く増加しません。このような場合は、ドメインの作業負荷が減少するまで Drain を中止して、メモリーの負担を減少させることができます。

Drain 操作は、すべてのメモリーページの使用が解放された時点で終了です。この後は、切り離し完了の操作を行います。

Complete Detach 操作

切り離し操作を完了するためには、その前に、すべてのボードリソース (プロセッサ、メモリー、および入出力デバイス) の使用を停止する必要があります。メモリー、プロセッサ、およびネットワークデバイスの使用は、DR によって自動的に停止させられますが、非ネットワーク入出力デバイスの使用は、ユーザー自身が手動で停止する必要があります。


注 -

切り離すボード上にあるコンポーネントを確認するには、dr(1M) コマンドのオプションの 1 つである drshow(1M)、または Hostview に表示されるウィンドウを使用します (Configuration メニューを選択し、Board プルダウンメニューから Detach メニュー項目を選択します)。またもう 1 つの選択肢として、ドメイン上で prtdiag(1M) コマンドを使用する方法もあります。この方法ではコンポーネントの特定に、より少ない情報を用います。


ネットワークデバイス

DR は、現在切り離し操作が進行中であるボード上の全ネットワークインタフェースの使用を自動的に停止します。切り離し操作が完了すると、dr_daemon(1M) がそのボード上の構成済みインタフェースをすべて特定し、それぞれのインタフェースに対して以下の ifconfig(1M) コマンドを発行します。

ifconfig インタフェース名 down

ifconfig インタフェース名 unplumb

FDDI インタフェースが切り離されている場合、ユーザーが切り離し操作を実行する前に、DR は、FDDI ネットワーク監視デーモンを終了し、切り離しが完了してから再起動します。FDDI インタフェースを搭載したボードが接続されている場合、nf デバイスの /usr/sbin/nf_snmd デーモンは、起動も停止もしないので注意してください。

DR は、以下の条件のいずれかに当てはまるネットワークインタフェースを搭載したボード上では、上記のコマンドを実行しません。このような場合には、切り離し操作は失敗し、DR がエラーメッセージを表示します。


注意 - 注意 -

ネットワークインタフェースのマウントを解除すると、NFS クライアントシステムに影響が及ぶ場合があります。


非ネットワークデバイス

非ネットワークデバイスは、切り離しの前に必ず閉じてください。Hostview のデバイス一覧や、drshow(1M) コマンドによる入出力一覧には、特定のデバイスをいくつのプロセスが開いているかを示す open count フィールドがあります。これらのデバイスを開いているプロセスを特定するには、そのドメインで fuser(1M) コマンドを使用します。

非ネットワークデバイスに対しては、以下に示す特定の操作が必要です。ただし、この操作の順番は厳密に遵守する必要はありません。

  1. Alternate Pathing や Solstice DiskSuite ミラーリングの冗長機能を使用して、ボードに接続されているデバイスにアクセスするようにしている場合は、デバイスやネットワークに他のシステムボードのコントローラを使用してアクセスできるように、これらのサブシステムを再構成します。Alternate Pathing 2.1 の場合は、代替インタフェースが使用可能であれば、システムが自動的にディスクデバイスを代替インタフェースに切り換えます。

  2. ボード常駐パーティションを持つ Solstice DiskSuite メタデバイスを含めて、ファイルシステムのマウントを解除します (例 : umount /partit)。

  3. ボード常駐パーティションから、Alternate Pathing または Solstice DiskSuite のデータベースを削除します。Alternate Pathing または Solstice DiskSuite のデータベースの場所は、ユーザーが明示的に選択したり、変更したりすることができます。

  4. Sun Enterprise Volume Manager または Veritas Volume Manager が使用する専有領域を削除します。デフォルトでは、 Volume Manager は自身が制御する各デバイスの専有領域を使用しますから、そのようなデバイスは、切り離しの前に Volume Manager の制御から外しておく必要があります。

  5. swap(1M) を使用して、スワップ構成からディスクパーティションを削除します。

  6. デバイスや raw パーティションを直接開くプロセスをすべて終了するか、またはボード上の開いているデバイスを閉じるように、プロセスに命令を与えます。

  7. 切り離しに対して危険なデバイスがボード上にある場合は、デバイスのすべてのインスタンスを閉じ、modunload(1M) を使用してドライバを削除します。

  8. オペレーティング環境を中断させる必要がある場合は、現在実行中のリアルタイムプロセスをすべて強制終了します。


注意 - 注意 -

share(1M) ユーティリティを使用して共有ファイルシステムのマウントを解除すると、NFS クライアントシステムに影響を与える場合があります。


プロセス

非ネットワークデバイスの場合は、以下の特定の操作が必要です。ただし操作の順番に関しては、厳密に遵守する必要はありません。

  1. オペレーティング環境を中断する必要がある場合は、現在実行中のリアルタイムプロセスをすべて強制終了します。

  2. ボード上のプロセッサに関与するすべてのプロセスを強制終了します。

ボードを切り離すと、ボードのプロセッサに結合されていたすべてのプロセスは自動的に結合を解除されます。解除されたプロセスを再び他のプロセッサに結合する場合は、pbind(1M) を使用します。

プロセッサ

起動プロセッサの役割は、システムクロックタイマーの中断を処理し、ネットワークコンソールの BBSRAM バッファーを維持することです。起動プロセッサが常駐するボードを切り離す前に、dr_daemon(1M) は、起動プロセッサの役割を別のアクティブな (オンラインの) プロセッサに割り当てる必要があります。

Complete Detach 操作の終了

すべてのボードの使用を停止したら、Complete Detach 操作を実行することができます。この時点でまだ使用中のデバイスがある場合、切り離し操作は失敗し、使用中のデバイスが報告されます。問題が解決したら、Complete Detach 操作を再度実行してください。

切り離すボードにページング不可能なメモリーが含まれる場合、Complete Detach 操作は、休止に関する問題が原因となって失敗することがあります。詳細は、「システムの休止操作」を参照してください。休止の問題が解決したら、Complete Detach 操作を再度実行することができます。

この時点で、必要であれば、切り離し操作を中止することができます。中止した場合、ボード上のメモリーは通常の用途に戻り、切り離されたボードデバイスが再接続されます。ボードが使用されないようにシステム構成を変更していた場合 (ファイルシステムのマウントを解除した場合や、ネットワークの設定を ifconfig コマンドで解除した場合) は、ユーザーが手動でこれらの変更を取り消し、デバイスを通常の稼動状態に戻してください。

ボードがオペレーティング環境から正常に切り離されると、次にこのボードはホストのハードウェアドメインから移動させられて、センタープレーンから切り離されます。さらに、SSP の domain_config(4) ファイルのボードのリストが自動的に更新されます。

これで、ボードを他のドメインに接続する、電源を切る、ホットスワップを使って削除する、接続しないままシステム内に残しておく、または後で再接続するといった作業ができます。

切り離し操作ボタン

Hostview の detach ウィンドウでは、切り離し操作中、以下のボタンが表示されます。

表 3-1 Hostview のボタン

ボタン 

説明 

drain 

メモリーをドレインします (「Drain 操作」を参照)。ドレイン操作が終了すると、drain ボタンが complete ボタンに変わります。

complete 

ボードが完全にドレインされた後に、切り離し操作を完了します (「Complete Detach 操作」を参照)。

force 

ドメインを強制的に休止させることによって、detach 操作を完了できるようになります (「システムの休止操作」を参照)。強制可能な休止状態があるために complete detach 操作が失敗した場合は、force ボタンが有効になります。

reconfig 

ドメインのデバイスディレクトリを自動的に再構成します。完全にボードを切り離した後で、reconfig を実行してください。reconfig を使用する場合は、細心の注意を払ってください (詳細は、「DR 操作後の再構成」を参照)。

abort 

DR 操作を取り消して、ボードを通常動作に戻します。このボタンは、ドレイン操作が開始されたときに有効になり、complete detach が開始されるまで有効です。メモリーのドレインを中止したり、切り離しを取り消すときに、この abort を選択します (「システムボードの切り離し」を参照)。

dismiss 

現在実行中の操作を取り消します。ボードの状態 (In Use、drain、Present) はそのままになります。dismiss を選択して、切り離し操作の任意の時点で DR Detach ウィンドウを消去することができます。dismiss は、切り離し操作のために現在 SSP 上で行われているすべての処理を終了します。ただし dismiss は、dr_daemon(1M) への RPC 呼び出しによってホスト上で実行されている処理は終了しません。RPC 呼び出しが開始されると、ホストは、Hostview が RPC 呼び出しが終了するのを待っているかどうかに関係なく、RPC 呼び出しを完了します。ホストの dr_daemon(1M) は、切り離し操作の進行状況を追跡します。drain が開始した後で、dr_daemon(1M) はこの状態を記憶します。ですから、ウィンドウを消しても、後で切り離し操作を完了したり中止したりすることが可能です。

help

DR 切り離し操作に関するオンライン情報を表示します。 

Hostview を使用してボードを切り離す

注 -

以下の操作を実行する前に、「システムボードの切り離し」をお読みください。


  1. Hostview ウィンドウの View メニューから、目的のボードが接続されているドメインを選択します。

  2. 切り離すボードのアイコンをクリックします。

  3. Hostview メニューから Configuration > Board > Detach を選択します。

    detach - Board and Domain Selection ウィンドウが表示されます (図 3-4)。

    図 3-4 detach - Board and Domain Selection ウィンドウ

    Graphic

  4. select ボタンをクリックします。

    Board および Source domain フィールドには情報が自動的に入力されます (手動でこれらのフィールドを変更することもできます)。

  5. execute ボタンをクリックします。

    ターゲットドメインが起動されていない場合は、単に SSP のドメイン再構成ファイルが操作されるだけです。ドメインが動作中の場合は、以下のウィンドウが表示されます (図 3-5)。

    図 3-5 Darin 操作のための Dynamic Reconfiguration ウィンドウ

    Graphic

  6. drain ボタンをクリックします。

    Hostview がメモリーのドレインを開始します。メモリー情報が表示され、Drain 操作の進行状況を確認することができます。

    DR Properties ウィンドウで Auto Update Domain Information Displays オプションを有効にすると、メモリードレインの状態表示が一定間隔で自動的に更新されます。「ドメイン情報の表示」を参照してください。

    Drain 操作が失敗すると、Information 区画に原因が表示されます。原因が判明したら、問題を解決し、drain をもう 1 度選択します。

    この後、すぐに次の手順に進んでかまいません。Drain の完了を待つ必要はありません。

  7. ボード上でどのデバイスがアクティブであるかを判断するには、device ボタンをクリックします。

    DR Device Configuration ウィンドウが表示されます。このウィンドウにはデバイスの使用状況のスナップショットが表示され、一定間隔で更新されます。

  8. ボードに常駐する入出力デバイスの使用をすべて停止します。

    詳細は、「Complete Detach 操作」を参照してください。

    complete ボタンが表示された時点で、DR はメモリーのドレインを終了していますから、次の手順に進むことができます。

  9. complete ボタンを選択します。

    この操作は、オペレーティング環境の休止が必要な場合は特に、完了するのに数分かかります。完了した時点で、ボードデバイスはオペレーティングシステムから切り離されています。

    complete 操作が失敗した場合は、以下のような理由が考えられます。

    • ドメイン内のすべてのオンラインプロセッサが、切り離そうとするボード上にある。

    • 切り離そうとするボードに、「デフォルトの」一連のプロセッサの最終プロセッサが含まれている。この場合は Detach 操作を再度試みる前に、別のシステムボードのプロセッサを追加してください。

    • 切り離そうとするボード上に主ネットワークインタフェースがある。この場合は、これらのネットワークの使用をすべて手動で停止する必要があります (「Complete Detach 操作」を参照)。

    • 切り離そうとするボード上にまだ使用中の入出力デバイスがある。Information 区画に、エラーが検出されたデバイスが表示されます (「Complete Detach 操作」を参照)。

    • オペレーティング環境の休止 に失敗している。エラーの原因を突き止めて、問題を解決してください (「システムの休止操作」を参照)。

      障害の原因を取り除いたら、complete または force を選択して、切り離し操作を完了します。問題がなければボードが切り離され、リセットされます。ボードが正常に切り離されると、以下のメッセージが表示されます。

      Board detachment completed successfully. 


    注意 - 注意 -

    reconfig オプションを選択する前に、「DR 操作後の再構成」を必ず読んでください。


これで、デバイスのディレクトリの再構成や、Detach ウィンドウの取り消しができる状態になります。この後は、ホットスワップを使用してボードの電源を切り削除する、別のドメインに接続しなおす、接続しないままシステム内に残す、後で再接続する、などの操作が可能です。

dr(1M)コマンドを使用してボードを切り離す

以下の操作を実行する前に、「システムボードの切り離し」を参照してください。ボードの切り離し処理は、Hostview を使用する場合も dr(1M) を使用する場合も、似ています。基本的な概念はこの節では繰り返しません。dr(1M) プログラムについては第 1 章「動的再構成の概要」に説明があります。

  1. domain_switch(1M) コマンドを使用して、SUNW_HOSTNAME を適切なドメインに設定します。

  2. SSP ウィンドウで dr(1M) コマンドを使用して、dr(1M) プロンプトを表示します。

    以下の例では、ターゲットドメインは xf3 です。

    % dr

    Checking environment... 

    Establishing Control Board Server connection... 

    Initializing SSP SNMP MIB... 

    Establishing communication with DR daemon... 

     

    xf3: Domain Status - Summary 

     

    BOARD #: 0 1 2 5 6 8 9 10 11 13 physically present. 

    BOARD #: 4 7 being used by the domain. 

    dr> 

  3. drain(1M) を使用して、ボードをドレインします。

    dr> drain 6

    Removing board 6 from domain_config file. 

    Start draining board 6 

    Board drain started. Retrieving Domain Info... 

     

    Bound Processes for Board 6 

     

    cpu user sys procs 

    --- ---- --- ----- 

    24 0 1  

    25 0 1  

    26 0 1  

    27 0 1  

     

    Active Devices for Board 6 

     

    device opens name usage 

    ------ ----- ---- ----- 

    ssd384 0 /dev/rdsk/c5t0d0s4 AP database 

     

    Memory Drain for Board 6 - IN PROGRESS 

     

    Reduction = 1024 MBytes 

    Remaining in Domain = 1024 MBytes 

    Percent Complete = 99% (5696 KBytes remaining) 

     

    Drain operation started at Wed Oct 09 18:06:00 1996 

    Current time Wed Oct 09 18:06:34 1996 

    Memory Drain is in progress. When Drain has finished, 

    you may COMPLETE the board detach. 

     

    dr> 

    drain(1M) コマンドによってドレイン操作が開始され、すぐにシェルプロンプトに戻ります。以下のコマンドを実行すると、ドレイン操作の進行状況を確認できます。

    dr> drshow ボード番号 drain


    注 -

    drain(1M) コマンドに wait オプションを付けてドレインを開始することもできます。この場合は、ドレインが完了するまでシェルプロンプトに戻りません。wait オプションについての詳細は、drain(1M) を参照してください。


  4. Drain 操作が正常に完了したら、complete_detach(1M) を使用して切り離しを完了します。

    dr> complete_detach 6

    Completing detach of board 6 

    Operating System has detached the board. 

    Reconfiguring domain mask registers. 

    Board 6 placed into loopback. 

    Board detachment completed successfully. 

    dr> 

    「Operating system failed to quiescent due to forcible conditions」というメッセージが表示されて Complete Detach が失敗し、かつ休止障害を発生させた根本的な原因が分かっている場合は、complete_detach に force オプションを付けて再試行してください (休止障害の原因解明に役立つコンソールメッセージが表示されます)。詳細は、complete_detach(1M) を参照してください。

    Detach 操作を途中で中止する場合は、上記の complete_detach の代わりに abort_detach ボード番号 コマンドを使用します。