Go to main content
Oracle® Solaris 11.3 でのデバイスの管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

Reconfiguration Coordination Manager (RCM) スクリプトの概要

Reconfiguration Coordination Manager (RCM) は、システムコンポーネントの動的な除去を管理するフレームワークです。RCM を使用すると、システムリソースを順番に登録および解放できます。

    RCM スクリプト機能を使うと、DR 処理を簡単かつ効果的に実行できます。RCM スクリプトを作成すると、次の操作を実行できます。

  • 動的にデバイスを取り外したときに、デバイスを自動的に解放します。デバイスがアプリケーションによって起動した場合は、この処理によって、デバイスも終了します。

  • システムからデバイスを動的に取り外すときに、サイト固有のタスクを実行します。

  • カスタマイズしたスクリプトを記述して、再構成要求を受け取ったときに、ほかのシャットダウン操作を実行します。これは、スクリプトに登録されているリソースに影響します。


注 -  cfgadm -f コマンドは、再構成操作を強制することができます。ただし、このコマンドはアプリケーションを認識不能な状態のままにする可能性があります。アプリケーションからリソースを手動で解放すると、一般にエラーが発生します。このため、この構文を使用して再構成を実行しないようにしてください。

RCM スクリプトについて

RCM スクリプトは次のいずれかです。

  • 実行可能シェルスクリプト (Perl、shcsh、または ksh) または RCM デーモンが実行するバイナリプログラム。推奨言語は、Perl です。

  • スクリプトファイル所有者のユーザー ID を使用することにより、自分のアドレス領域で実行されるスクリプト。

  • cfgadm コマンドを使ってシステムリソースを動的に再構成するときに、RCM デーモンによって実行されるスクリプト。

RCM スクリプトを使用した場合、デバイスを動的に取り外すと、デバイスがアプリケーションから解放されます。デバイスが現在開かれている場合、RCM スクリプトはデバイスを閉じます。

たとえば、テープバックアップアプリケーションで RCM スクリプトを使用して、テープドライブを終了させたり、テープバックアップアプリケーションをシャットダウンしたりできます。

次のようにして RCM スクリプトを実行します。

$ script-name command [args ...]

RCM スクリプトにより、次の基本的な手順が実行されます。

  1. コマンド行引数から RCM コマンドを取得します。

  2. コマンドを実行します。

  3. 結果を名前と値のペアで stdout に記述します。

  4. 適切な終了ステータスで終了します。

RCM デーモンは、スクリプトのインスタンスを同時に 1 つ実行します。このため、RCM デーモンは、スクリプトの実行中には、そのスクリプトが終了するまで同じスクリプトを実行しません。

RCM スクリプトコマンド

    RCM スクリプトには、次の RCM コマンドを含める必要があります。

  • scriptinfo - スクリプト情報を収集します

  • register - リソースに処理対象を登録します

  • resourceinfo - リソース情報を収集します

    次の RCM コマンドの一部またはすべてを RCM スクリプトに含めることができます。

  • queryremove - リソースが解放されたかどうかを問い合わせます

  • preremove - リソースを解放します

  • postremove - リソースの削除後に通知します

  • undoremove - preremove で実行されたアクションを元に戻します

これらの RCM コマンドの詳細は、rcmscript(4) のマニュアルページを参照してください。

    デバイスを動的に取り外すと、RCM デーモンにより次のコマンドが実行されます。

  • スクリプトで識別されたリソースリスト (デバイス名) を収集するための、スクリプトの register コマンドが実行されます。

  • スクリプトの登録されたリソースが動的な取り外し操作によって影響を受ける場合、リソースを取り外す前にスクリプトの queryremove および preremove コマンドが実行されます。

  • 取り外し操作が成功した場合に、スクリプトの postremove コマンドが実行されます。ただし、取り外し操作に失敗した場合、RCM デーモンによりスクリプトの undoremove コマンドが実行されます。

RCM スクリプトディレクトリ

次の表に、RCM スクリプトを格納できる場所を示します。

表 6  RCM スクリプトディレクトリ
ディレクトリの場所
スクリプトタイプ
/etc/rcm/scripts
特定のシステム用のスクリプト
/usr/platform/`uname -i`/lib/rcm/scripts
特定のハードウェア実装用のスクリプト
/usr/platform/`uname -m`/lib/rcm/scripts
特定のハードウェアクラス用のスクリプト
/usr/lib/rcm/scripts
任意のハードウェア用のスクリプト