切り離し操作を完了するためには、その前に、すべてのボードリソース (プロセッサ、メモリー、および入出力デバイス) の使用を停止する必要があります。メモリー、プロセッサ、およびネットワークデバイスの使用は、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 がエラーメッセージを表示します。
インタフェースがドメインの主ネットワークインタフェースである場合。すなわち、IP アドレスが /etc/nodename ファイル内のネットワークインタフェース名と一致するインタフェースです。ドメインの主ネットワークインタフェースを停止すると、ネットワーク情報のネームサービスが稼動しなくなり、ftp(1)、rsh(1)、rcp(1)、rlogin(1) のようなアプリケーションを使用して遠隔ホストへのネットワーク接続ができなくなるので注意してください。NFS のクライアントやサーバーの操作にも影響を与えます。
システムの SSP ホストと同じサブネット上にあるインタフェースである場合。すなわち、/etc/ssphostname 内の SSP ホスト名と一致する IP アドレスのサブネット上にあるインタフェースです。このインタフェースを停止すると、ホストと SSP の間の通信が中断します。DR 操作が開始されるのは SSP 上に限られているので、切り離しプロセスの制御が失われることになります (/etc/ssphostname ファイルには、ホストを制御する SSP の名前が記載されています。したがって、SSP の名前を変更した場合は、/etc/ssphostname を手動で更新してください)。
代替パス指定 (Alternate Pathing:AP) メタデバイスへの plumb の実行時に、そのインタフェースがその AP メタデバイスのアクティブな代替パスである場合。AP が使用しているアクティブなインタフェースのパスを含むボードは切り離すことができません。AP 2.1 ではこのアクティブパスの切り替えは自動的に処理されますが、手動で切り離しの対象とならないボード上のインタフェースに切り替えることもできます。このようなパスがない場合は、ifconfig down および ifconfig unplumb コマンドを AP インタフェース上で手動で実行します (アクティブパスを手動で切り替えるには、apconfig(1M) コマンドを使用します)。
ネットワークインタフェースのマウントを解除すると、NFS クライアントシステムに影響が及ぶ場合があります。
非ネットワークデバイスは、切り離しの前に必ず閉じてください。Hostview のデバイス一覧や、drshow(1M) コマンドによる入出力一覧には、特定のデバイスをいくつのプロセスが開いているかを示す open count フィールドがあります。これらのデバイスを開いているプロセスを特定するには、そのドメインで fuser(1M) コマンドを使用します。
非ネットワークデバイスに対しては、以下に示す特定の操作が必要です。ただし、この操作の順番は厳密に遵守する必要はありません。
Alternate Pathing や Solstice DiskSuite ミラーリングの冗長機能を使用して、ボードに接続されているデバイスにアクセスするようにしている場合は、デバイスやネットワークに他のシステムボードのコントローラを使用してアクセスできるように、これらのサブシステムを再構成します。Alternate Pathing 2.1 の場合は、代替インタフェースが使用可能であれば、システムが自動的にディスクデバイスを代替インタフェースに切り換えます。
ボード常駐パーティションを持つ Solstice DiskSuite メタデバイスを含めて、ファイルシステムのマウントを解除します (例 : umount /partit)。
ボード常駐パーティションから、Alternate Pathing または Solstice DiskSuite のデータベースを削除します。Alternate Pathing または Solstice DiskSuite のデータベースの場所は、ユーザーが明示的に選択したり、変更したりすることができます。
Sun Enterprise Volume Manager または Veritas Volume Manager が使用する専有領域を削除します。デフォルトでは、 Volume Manager は自身が制御する各デバイスの専有領域を使用しますから、そのようなデバイスは、切り離しの前に Volume Manager の制御から外しておく必要があります。
swap(1M) を使用して、スワップ構成からディスクパーティションを削除します。
デバイスや raw パーティションを直接開くプロセスをすべて終了するか、またはボード上の開いているデバイスを閉じるように、プロセスに命令を与えます。
切り離しに対して危険なデバイスがボード上にある場合は、デバイスのすべてのインスタンスを閉じ、modunload(1M) を使用してドライバを削除します。
オペレーティング環境を中断させる必要がある場合は、現在実行中のリアルタイムプロセスをすべて強制終了します。
share(1M) ユーティリティを使用して共有ファイルシステムのマウントを解除すると、NFS クライアントシステムに影響を与える場合があります。
非ネットワークデバイスの場合は、以下の特定の操作が必要です。ただし操作の順番に関しては、厳密に遵守する必要はありません。
オペレーティング環境を中断する必要がある場合は、現在実行中のリアルタイムプロセスをすべて強制終了します。
ボード上のプロセッサに関与するすべてのプロセスを強制終了します。
ボードを切り離すと、ボードのプロセッサに結合されていたすべてのプロセスは自動的に結合を解除されます。解除されたプロセスを再び他のプロセッサに結合する場合は、pbind(1M) を使用します。
起動プロセッサの役割は、システムクロックタイマーの中断を処理し、ネットワークコンソールの BBSRAM バッファーを維持することです。起動プロセッサが常駐するボードを切り離す前に、dr_daemon(1M) は、起動プロセッサの役割を別のアクティブな (オンラインの) プロセッサに割り当てる必要があります。
すべてのボードの使用を停止したら、Complete Detach 操作を実行することができます。この時点でまだ使用中のデバイスがある場合、切り離し操作は失敗し、使用中のデバイスが報告されます。問題が解決したら、Complete Detach 操作を再度実行してください。
切り離すボードにページング不可能なメモリーが含まれる場合、Complete Detach 操作は、休止に関する問題が原因となって失敗することがあります。詳細は、「システムの休止操作」を参照してください。休止の問題が解決したら、Complete Detach 操作を再度実行することができます。
この時点で、必要であれば、切り離し操作を中止することができます。中止した場合、ボード上のメモリーは通常の用途に戻り、切り離されたボードデバイスが再接続されます。ボードが使用されないようにシステム構成を変更していた場合 (ファイルシステムのマウントを解除した場合や、ネットワークの設定を ifconfig コマンドで解除した場合) は、ユーザーが手動でこれらの変更を取り消し、デバイスを通常の稼動状態に戻してください。
ボードがオペレーティング環境から正常に切り離されると、次にこのボードはホストのハードウェアドメインから移動させられて、センタープレーンから切り離されます。さらに、SSP の domain_config(4) ファイルのボードのリストが自動的に更新されます。
これで、ボードを他のドメインに接続する、電源を切る、ホットスワップを使って削除する、接続しないままシステム内に残しておく、または後で再接続するといった作業ができます。