Oracle VM Guest Additionsデーモン(ovmd)は、Oracle VM Managerとゲストの間の双方向メッセージング・チャネルを容易に作成できるようにします。これを使用すると、ファーストブートのインストール構成が可能となり、キー/値のペアを含むメッセージを送受信できます。
ovm_vmmessageユーティリティを使用することにより、Oracle VM Managerを介して、メッセージを、任意のゲストで実行しているOracle VM Guest Additionsデーモンに送信できます。このユーティリティは、Oracle VM Managerにアクセスできる任意のLinuxシステムまたはOracle VM Managerホスト自体にインストールできます。このツールを使用する方法の詳細は、2.5項「Oracle VM Virtual Machine Messagingの使用方法」を参照してください。
Oracle VM Managerユーザー・インタフェース内に直接含まれるメッセージング機能を使用して、任意のゲストで実行しているOracle VM Guest Additionsデーモンに、メッセージを直接送信することもできます。詳細は、『Oracle VMユーザーズ・ガイド』の仮想マシンへのメッセージ送信に関する説明を参照してください。
ovm-template-configスクリプトとovmdを組み合せて使用すると、仮想マシンの起動時に、仮想マシン内のシステムおよびアプリケーションの構成パラメータをリモートから構成できます。この機能の詳細は、3.6項「Oracle VMテンプレート構成スクリプトおよびモジュール」を参照してください。
Oracle VM Managerは、ovmdを使用して、ゲストからIPアドレス情報を取得します。この情報は、Oracle VM Managerユーザー・インタフェースで仮想マシンの詳細情報を表示するときに含まれます。詳細は、3.5項「ゲストIPアドレスの表示」を参照してください。
ovmdをコマンドラインから直接実行して、ovmdの機能外で操作をデーモンまたはシステム・サービスとして実行できます。--help
パラメータを指定してovmdを実行すると、コマンドラインから直接実行する場合にサポートされるオプションの概要が、次のように表示されます。
# ovmd --help usage: ovmd [options] options: -p, --set-param=PARAM Set param in format: key=value. -g, --get-param=KEY Get param value. -r, --delete-param=KEY Delete param by key name. -x, --delete-params Delete all params. -l, --list-params List all params. -e, --event=EVENT Inject event. -s, --script=SCRIPT Run script. -d, --debug=LEVEL Set debug level: 0(DEBUG_OFF), 1(DEBUG_STDERR) or 2(DEBUG_SYSLOG). Default: 2. -f, --pid-file=FILENAME Set the pathname of the process ID (PID) file. -t, --time-period=secs Set the period for daemon mode(default=10 seconds). -v, --version Show version number and exit. -h, --help Show this help information.
ovmdをOracle Linuxでサービスとして実行できるようにするには、chkconfigコマンドをrootとして実行します。
# chkconfig ovmd on
ovmdサービスを起動するには、次のコマンドをrootとして実行します。
# /etc/init.d/ovmd start
ovmdはサービスとして構成されると、Oracle VM Managerを介して送信されるメッセージ要求をリスニングします。
仮想マシンをテンプレートとして動作するように構成する場合、またはクローンすることを意図する場合、次回の起動時にあたかも初めて起動するかのように動作するように仮想マシンをセットアップし、VM APIまたは仮想マシン・コンソールで構成情報を入力できるようにすることをお薦めします。これを行うには、次のコマンドを仮想マシン内でrootとして実行します。
# ovmd -s cleanup # service ovmd enable-initial-config # shutdown -h now
次回の起動時に、仮想マシンはあたかも初回起動であるかのように動作します。ovmdをサービスとして実行するように構成している場合、メッセージング機能とovm-template-configスクリプトを使用することにより、このサービスをリモートから構成できます。
メッセージング・チャネルを使用する方法の詳細は、3.4.3項「メッセージング・チャネルの使用方法」を参照してください。また、ovm-template-configスクリプトの詳細は、3.6項「Oracle VMテンプレート構成スクリプトおよびモジュール」を参照してください。
この項では、Oracle VM Guest Additionsがインストールされている場合の、Oracle VM Managerと実行中のOracle Linux仮想マシンとの間のメッセージ交換の例を説明します。Oracle VMユーティリティに含まれるovm_vmmessageツールが、Oracle Linuxゲストと通信するために使用されます。メッセージング・ユーティリティの詳細は、2.5項「Oracle VM Virtual Machine Messagingの使用方法」を参照してください。
ovmdを使用する場合、次の構文を使用して情報を仮想マシン内からOracle VM Managerに送信します。
# ovmd -p key1=value1
メッセージが、問題の仮想マシンのVirtual Machine API Incoming MessageイベントとしてOracle VM Managerユーザー・インタフェースに表示されます。イベントを拡張すると、情報交換が行われるときに、説明にキー/値のペアおよび日時が表示されます。
ゲストからのメッセージは、Oracle VM Managerコマンドライン・ユーティリティovm_vmmessageを使用して取得することもできます。これを行うには、キーを問い合せると、値をレスポンス内に返されます。
# ./ovm_vmmessage -u admin -p password
-h localhost -v MyVM02 -q key1
Oracle VM VM Message utility 0.5.2.
Connected.
VM : 'MyVM02' has status : Running.
Querying for key 'key1.
Query successful.
Query for Key : 'key1' returned value 'value1'.
Key set 7 minutes ago.
ovm_vmmessageを使用する場合、次の構文を使用して情報を仮想マシンに送信します。
# ./ovm_vmmessage -u admin -p password
-h localhost -v MyVM02 -k key2 -V value2
Oracle VM VM Message utility 0.5.2.
Connected.
VM : 'MyVM02' has status : Running.
Sending message.
Message sent successfully.
ゲスト内からovmdを送信する場合、次の構文を使用して、Oracle VM Managerからメッセージを取得できます。
# ovmd --list {"key1":"value1"} {"key2":"value2"}
ovmd --listコマンドは、送信メッセージも受信メッセージもすべて取得します。そのキーで、必要な特定のメッセージを識別できます。不要なメッセージを削除するには、次の構文を使用します。
# ovmd -r key1 # ovmd --list {"key2":"value2"}