ページング不可能な OpenBoot PROM(OBP) やカーネルメモリーが搭載されているシステムボード上で、DR 切り離し操作を行うと、オペレーティング環境が少しの間休止します。つまり、ドメインのセンタープレーンにおける、オペレーティング環境とデバイスのすべての活動が、操作の重要な段階において停止します。この休止はターゲットドメインに影響を与えるだけで、システム内の他のドメインには影響しません。
オペレーティング環境は、ボードを切り離す前に、プロセス、プロセッサ、およびデバイスの全活動を一時的に停止しようとします。オペレーティング環境が休止できない場合、以下のような理由が画面に表示されます。
ドメイン内でリアルタイムプロセスが実行中である
オペレーティング環境が休止できないデバイス (つまり、一時停止に対して危険なデバイス) が開いている
プロセスが一時停止できない状態は、通常一時的なものです。休止に成功するまで操作を繰り返すことができます。
リアルタイムプロセスが実行中である、または一時停止に対して危険なデバイスが開いているために休止が失敗した場合は「強制休止を実行できる状態」です。休止の再試行または強制再試行のどちらかを実行することができます。休止の強制は、強制休止を実行できる状態でも、オペレーティング環境に休止を試行し続ける許可を与えることを意味します。
force オプションを使用する際は、慎重に実行してください。
リアルタイムプロセスが動作中である場合は、そのプロセスを一時停止することによって、プロセスが実行する機能に悪影響を与えないかどうかを判断します。影響がなければ、オペレーティング環境の休止を強制することができます (休止を強制するには、『Sun Enterprise 10000 Dynamic Reconfiguration ユーザーマニュアル』の「Hostview を使用してボードを切り離す」で説明するように、Hostview の Force ボタンをクリックするか、dr(1M) シェルアプリケーションで force オプションを付けて complete_detach(1M) コマンドを入力します)。影響がある場合は、操作を中止して後で再度試みてください。
一時停止に対して危険なデバイスが開いていて、閉じることができない場合は、手動でそのデバイスを一時停止してから、オペレーティング環境に休止を強制することができます。オペレーティング環境が再開したら、手動でそのデバイスを再開します。「一時停止に対して安全なデバイスと一時停止に対して危険なデバイス」を参照してください。
一時停止に対して安全なデバイスとは、オペレーティング環境の休止中に、ドメインのセンタープレーンにアクセスしない (たとえば、メモリーへのアクセスやシステムの中断がない) デバイスです。オペレーティング環境の休止 (一時停止/再開) をサポートし、一時停止要求が正常に完了することを保証するドライバは、一時停止に対して安全と見なされます。一時停止に対して安全なドライバが管理するデバイスは、一時停止要求があったときに開いていたとしても、ドメインのセンタープレーンにはアクセスしません。他の入出力デバイスはすべて、開いているときは一時停止に対して危険です。
サンの提供するドライバのうち一時停止に対して安全であるものは、st、sd、isp、esp、fas、sbus、pci、pci-pci、qfe、hme (SunFastEthernetTM)、nf (NPI-FDDI)、qe (Quad Ethernet)、le (Lance Ethernet)、SSA ドライバ (soc、pln、ssd)、および Sun StorEdgeTM A5000 ドライバ (sf、socal、ses) です。
soc および pln ドライバでデバイスの中断ができるようにするには、/etc/system ファイルを編集して pln_enable_detach_suspend 変数および soc_enable_detach_suspend 変数の値を 1 に設定する必要があります。以下に例を示します。
set pln:pln_enable_detach_suspend=1 set soc:soc_enable_detach_suspend=1 |
一時停止に対して危険なデバイスが開いている場合、オペレーティング環境は、休止要求を拒否します。デバイスを手動で一時停止できる場合は、オペレーティング環境に休止を強制することができます。デバイスを手動で一時停止するには、そのデバイスを開いているプロセスを終了することによって、デバイスを閉じなければならない場合もあるので、ユーザーにデバイスを使用しないように伝えるか、ケーブルを外します。たとえば、非同期の任意入力を許可するデバイスが開いている場合は、オペレーティング環境を休止させる前にケーブルの接続を外すことによって、トラフィックがそのデバイスに到着してそのデバイスがドメインのセンタープレーンにアクセスすることを防止することができます。オペレーティング環境が再開してから、再度ケーブルを接続します。デバイスがドメインのセンタープレーンにアクセスするのを一時停止できない場合は、オペレーティング環境の休止は強制できません。強制すると、ドメインの障害やハングアップが生じることがあります。この場合は、一時停止に対して危険なデバイスが閉じた状態になるまで DR 操作を延期します。
一時停止に対して危険なデバイスの処理を実行中に、休止操作を強制すると、ドメインがハングアップすることがあります。ドメインがハングアップしても、Sun Enterprise 10000 システムで実行中の他のドメインには影響しません。
Solaris 8 オペレーティング環境においては、サンがサポートするテープデバイスは基本的にすべて一時停止に対して安全かつ切り離しに対して安全です (サンがサポートするデバイス一覧に関しては st(7D) マニュアルページを参照してください)。切り離すシステムボードにサンのテープデバイスが含まれる場合は、そのテープデバイスの一時停止を実行しなくても、そのボードを安全に切り離せます。サンが本来サポートしないテープデバイスも使用できますが、これを切り離しに対して安全にする必要があります。入力/出力操作および DR 操作を正常に行うには、/kernel/drv/st.conf 内に ST_UNLOADABLE (0x0400) フラグを設定して適切なエントリを作成する必要があります (詳細は、st(7D) マニュアルページを参照してください)。st.conf を変更した後、新しいエントリを処理するためにドメインを再起動してください。
Sun StorEdgeTM A3000 (旧称 RSM Array 2000) は、自動負荷均衡と自動フェイルオーバー機能を備えた二重コントローラパスを備えています。StorEdge A3000 のコントローラを片方または両方に持つシステムボードを切り離す場合は、切り離し操作を開始する前にコントローラをオフラインにするか、アイドル状態にします。コントローラは、rm6 または rdacutil コマンドを使って手動でオフラインにできます。