すべてのドライバが Sun Enterprise 10000 システムの Dynamic Reconfiguration(DR: 動的再構成) 機能をサポートしているわけではありません。DR をサポートするためには、ドライバが DDI_DETACH と DDI_SUSPEND/DDI_RESUME の 3 つの基本的な DDI/DKI(Device Driver Interface/Device Kernel Interface) を実行できることが必要です。これら 2 つの機能は、それぞれ DR に異なる影響を与えます。
デバイスのホストとなっているシステムボードは、そのデバイスのドライバが DDI_DETACH インタフェースをサポートしているか、または現在読み込まれていない場合にのみ切り離しが可能です。DDI_DETACH は、他のデバイスを処理している他のインスタンスに影響することなく、ドライバの特定のインスタンスを切り離すことができます。DDI_DETACH をサポートしているドライバは、切り離しに対して安全と呼ばれます。DDI_DETACH をサポートしていないドライバは、切り離しに対して危険と呼ばれます。
読み込まれている切り離しに対して危険なドライバを切り離すには、以下の処理が必要です。
切り離そうとする切り離しに対して危険なデバイスのコントローラ、およびドメイン内の全ボード上にある同種のコントローラの使用をすべて停止する
切り離しに対して危険なドライバの読み込みを解除する必要があるので、ドメイン内のすべてのシステムボードにある同種のコントローラの使用も停止させる必要があります。残りのコントローラは DR 切り離しが終了した後、再度使用できるようになります。
標準の Solaris インタフェースを使用して、ボード上のこれらのドライバをすべて手動で閉じてアンロードする
『SunOS リファレンスマニュアル』の modunload(1M) マニュアルページを参照してください。
通常の方法でシステムボードを切り離す
上記の処理が完了できない場合は、ブラックリストに登録されているボードを使ってドメインを再起動し (blacklist(4) マニュアルページ参照)、後でそのボードを削除することもできます。
他社のドライバ (Sun 以外のベンダーから購入したドライバ) の多くは、標準の Solaris modunload(1M) インタフェースをサポートしていません。通常の操作中、これらの機能を呼び出す条件はめったに起こりませんが、機能が欠けていたり、不適切な動作をしたりすることがあります。他社のデバイスを評価したりインストールする段階で、これらのドライバの機能をテストすることをお薦めします。
ページング不可能なメモリーを搭載しているボードの DR 切り離しを行うには、ドメインを休止させる必要があります。メモリーを切り離せるのは、ドメイン全体で (切り離そうとしているボード上だけでなく)、すべてのドライバが DDI_SUSPEND/DDI_RESUME ドライバインタフェースをサポートしているか、または閉じている場合に限られます。DDI 機能をサポートしているドライバは一時停止に対して安全と呼ばれ、そうでないドライバは一時停止に対して危険と呼ばれます。
ドメインの休止を実行できる状態にする最も簡単な方法は、一時停止に対して危険なデバイスをすべて閉じることです。各ネットワークドライバに対して、ifconfig(1M) コマンドに down パラメタを付けて実行してから、再度 unplumb パラメタを付けて実行します (詳細は、ifconfig(1M) マニュアルページを参照してください)。
unplumb は、すべてのネットワークドライバに対して 実行できるはずです。ただしこの動作は、通常の環境ではほとんどテストされることがなく、ドライバエラーになることがあります。DR を使用する場合は、一時停止に対して危険なデバイスを評価したりインストールする段階で、これらのドライバの機能をテストすることをお薦めします。
一時停止に対して危険なドライバが開いているためにシステムが休止を拒否する場合は、動作しているドメインを強制的に休止することができます。これによって、オペレーティング環境に対して切り離しを強制することができます。システム内で一時停止に対して危険なデバイスが開いていても切り離しを強制的に行うことはできます。ただし、切り離しに対して危険なデバイスがボード上にあってそのドライバが読み込まれている場合、切り離しを強制することはできませんので注意してください。
オペレーティング環境の休止を正常に強制するには、コントローラを手動で休止する必要があります。この手順はデバイスによって異なります。休止操作の実行中に、デバイスによるデータの転送やメモリーの参照など、休止操作を妨げるような動作が発生しないようにしてください。コントローラの休止手順をすべてテストしてから、システム全体の休止を実行してください。
コントローラを正常に休止せずにオペレーティング環境の強制休止 (force) オプションを使用すると、ドメイン障害に続いて再起動が発生することがあります。