ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris の管理: デバイスとファイルシステム Oracle Solaris 11 Information Library (日本語) |
PCI ホットプラグ処理 (hotplug ) のトラブルシューティング
cfgadm コマンドによる SCSI ホットプラグ (タスクマップ)
SPARC: SCSI デバイスを SCSI バスに取り付ける方法
SPARC: SCSI コントローラ上の同一デバイスを交換する方法
cfgadm コマンドによる PCI または PCIe ホットプラグ (タスクマップ)
cfgadm コマンドによる PCI または PCIe ホットプラグ
アプリケーション開発者 RCM スクリプト (タスクマップ)
15. Oracle Solaris Internet Storage Name Service (iSNS) の構成と管理
Reconfiguration Coordination Manager (RCM) は、システムコンポーネントの動的な除去を管理するフレームワークです。RCM を使用すると、システムリソースを順番に登録および解放できます。
新しい RCM スクリプト機能を使用すると、アプリケーションを停止したり、動的な再構成の間にアプリケーションからデバイスを手際良く解放したりする独自のスクリプトを記述できます。スクリプトによって登録されたリソースに要求が影響を与える場合、RCM フレームワークは再構成要求に応じてスクリプトを自動的に起動します。
リソースを動的に除去する場合は、アプリケーションからリソースを手動で解放しておく必要があります。あるいは、-f オプションを指定して cfgadm コマンドを使用することで、再構成オペレーションを強制することも可能です。ただし、このオプションはアプリケーションを認識不能な状態のままにする可能性があります。また、アプリケーションからリソースを手動で解放すると、一般にエラーが発生します。
RCM スクリプト機能を使うと、動的再構成処理を簡単かつ効果的に実行できます。RCM スクリプトを作成すると、次の操作を実行できます。
動的にデバイスを取り外したときに、デバイスを自動的に解放します。デバイスがアプリケーションによって起動した場合は、この処理によって、デバイスも終了します。
システムからデバイスを動的に取り外すときに、サイト固有のタスクを実行します。
実行可能シェルスクリプト (Perl、sh、csh、または ksh) または RCM デーモンが実行するバイナリプログラム。推奨言語は、Perl です。
スクリプトファイル所有者のユーザー ID を使用することにより、自分のアドレス領域で実行されるスクリプト。
cfgadm コマンドを使ってシステムリソースを動的に再構成するときに、RCM デーモンによって実行されるスクリプト。
RCM スクリプトを使用した場合、デバイスを動的に取り外すと、デバイスがアプリケーションから解放されます。デバイスが開いている場合には、RCM スクリプトによって閉じられます。
たとえば、テープバックアップアプリケーションで RCM スクリプトを使用して、テープドライブを終了させたり、テープバックアップアプリケーションをシャットダウンしたりできます。
次のようにして RCM スクリプトを起動します。
$ script-name command [args ...]
RCM スクリプトにより、次の基本的な手順が実行されます。
コマンド行引数から RCM コマンドを取得します。
コマンドを実行する
結果を名前と値のペアで stdout に記述します。
適切な終了ステータスで終了します。
RCM デーモンは、スクリプトのインスタンスを同時に 1 つ実行します。たとえば、RCM デーモンは、スクリプトの実行中には、そのスクリプトが終了するまで同じスクリプトを実行しません。
次の RCM コマンドを RCM スクリプトに含める必要があります。
scriptinfo - スクリプト情報を収集します
register - リソースに処理対象を登録します
resourceinfo - リソース情報を収集します
次の RCM コマンドの一部またはすべてを RCM スクリプトに含めることができます。
queryremove - リソースが解放されたかどうかを問い合わせます
preremove - リソースを解放します
postremove - リソースの削除後に通知します
undoremove - preremove で実行された動作を元に戻します
これらの RCM コマンドの詳細は、rcmscript(4) のマニュアルページを参照してください。
デバイスを動的に取り外すと、RCM デーモンにより次のコマンドが実行されます。
スクリプトで識別されたリソースリスト (デバイス名) を収集するための、スクリプトの register コマンドが実行されます。
スクリプトの登録されたリソースが動的な取り外し操作によって影響を受ける場合、リソースを取り外す前にスクリプトの queryremove および preremove コマンドが実行されます。
取り外し操作が成功した場合に、スクリプトの postremove コマンドが実行されます。ただし、取り外し操作に失敗した場合、RCM デーモンによりスクリプトの undoremove コマンドが実行されます。