Oracle VM Guest Additionsには、Linuxのovmd
コマンドと同様に、その機能と対話するためのovmcmdというコマンドライン・ツールが用意されています。 コマンドライン・ツールは、Oracle VM Paravirtual Driversのインストール時に配布され、フォルダ内にあります : C:\Program Files (x86)\Oracle Corporation\Oracle VM Windows PV Drivers
。
シェル
実行可能バイナリ・ファイルovmcmdは32ビットWindowsで使用され、ovmcmd_64は64ビットWindowsで使用されます。 ovmcmdは、Windowsのコマンドラインを使用して直接実行できます。 ovmcmdコマンドは、複数の変数を設定するのに便利な独自のシェル・モードを提供します。 パラメータを指定せずにovmcmdと入力すると、サポートされるインタフェースのリストが表示されます。
![この図は、Windows VM内のコマンド・ウィンドウのスクリーンショットを示しています。 追加のパラメータなしでovmcmdを入力すると表示されるovmcmdコマンドで、サポートされているインタフェースのリストを表示します。](images/ovmcmd-help.png)
シェル・モードでovmcmdを実行するには、次のいずれかのコマンドを入力します:
32ビットWindows: ovmcmd ovmapishell
64ビットWindows: ovmcmd_x64 ovmapishell
この例は、64ビットWindows上のovmcmdシェルを示しています:
![この図は、64ビットWindows VM内のovmcmdシェルのスクリーンショットを示しています。](images/ovmcmd-64bit-shell.png)
コマンド
シェル・モードでは、ovmcmdはセッションを設定し、イベント・ハンドラを接続します。 ユーザーは、ovmcmdを再発行することなく、OVMAPIShell
シェル・プロンプトでコマンドを入力することができます。 ovmcmdを実行しているWindowsのコマンドラインで個々のコマンドを指定できるため、これはオプションです。 シェル・モードを使用して、パラメータ値を含むメッセージを送受信したり、xenstoreの内容を表示することができます。 メッセージを送受信するためのコマンドは、「GuestとOracle VM Managerの間の会話」に示されています。 ovmcmdのコマンド名では、大文字と小文字は区別されません。
Xenstore
コマンドは、Xenの内部知識が豊富な人のみが使用してください。 これらのコマンドは次のとおりです:
XenstoreRead: xenstoreキーの値を読み取ります。 サブコマンドに続くパラメータは、読み取るxenstoreキーです。
OVMAPIShell>XenstoreRead /local/domain/708/device/vif/0/state 4 OVMAPIShell>
XenstoreWrite: xenstoreキーに値を書き込むか、新しいxenstoreキーを作成します。 パラメータは、xenstoreキーと書き込まれる値です。 xenstoreキーが読み取り専用の場合、エラー・メッセージが表示されます。
OVMAPIShell>XenstoreWrite /local/domain/708/control/test 1 Operation Succeeded OVMAPIShell>XenstoreWrite /local/domain/708/test 2 Operation Failed OVMAPIShell>
XenstoreDir: xenstoreディレクトリを一覧表示します。 パラメータは、表示するxenstoreディレクトリです。
OVMAPIShell>XenstoreDir /local/domain/0 vm device control error memory guest hvmpv data cpu 1 availability 2 availability [...] OVMAPIShell>
SendMessageコマンドは、メッセージの送信に使用されます。 ただし、この方法で送信されたメッセージは保存されません。
OVMAPIShell>SendMessage value 1 Operation Succeeded OVMAPIShell>
メッセージを送信し、同時にパラメータのキーと値のペアを保存するには、ParamSetValueコマンドを使用します。
OVMAPIShell>ParamSetValue guestparam1 guestval 1 ParamSetValue returned 0 OVMAPIShell>OVMCmdEventHandler: Received Event type 64, size 12, ID 6 ParamSetValue returned 0
指定したパラメータの値を取得するには、ParamGetValueコマンドを使用します。
OVMAPIShell>ParamGetValue guestparam1 guestval ParamGetValue returned 0, guestparam1 = guestval (len = 9)
GuestとOracle VM Managerの間の会話
ゲストVMとOracle VM Managerの間の会話は、メッセージの送受信に基づいて行われます。
会話のWindows VM側から: ovmcmdコマンドParamSetValueを使用してパラメータを設定し、ゲストVMからOracle VM Managerにメッセージを送信します。 たとえば、ParamSetValue mykey myval
はキー"mykey"の値を"myval"に設定し、Oracle VM Managerにメッセージを送信します。
C:\Program Files (x86)\Oracle Corporation\Oracle VM Windows PV Drivers>OVMCmd_64 ParamSetValue mykey myval ParamSetValue returned 0
SendMessageコマンドも使用できます。
C:\Program Files (x86)\Oracle Corporation\Oracle VM Windows PV Drivers>OVMCmd_64 SendMessage foo bar Operation Succeeded
Oracle VM Managerからメッセージを読み取るには、次のようにReadParameterコマンドを使用します。 必要に応じて出力を後で処理するためにファイルにパイプすることができます。
C:\Program Files (x86)\Oracle Corporation\Oracle VM Windows PV Drivers>OVMCmd_64 ReadParameter sesame Success: sesame = street (7)
会話のOracle VM Manager側: Oracle VM Managerユーザー・インタフェースからメッセージを表示するには、サーバーとVMタブでVMを選択し、右クリックしてイベントを表示を選択します。
または、Oracle VM CLI sendVmMessageコマンドを使用してゲストにメッセージを送信します。
OVM> sendvmmessage vm name=VMNAME
key=managerparam
message=managerval
log=no
詳細は、「Oracle VM Managerコマンドライン・インタフェース・ユーザー・ガイド」のsendVmMessageを参照してください。