機械翻訳について

8.7 Microsoft Windows (ovmcmd)でのOracle VM Guest Additionsの使用

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コマンドで、サポートされているインタフェースのリストを表示します。

シェル・モードでovmcmdを実行するには、次のいずれかのコマンドを入力します:

  • 32ビットWindows: ovmcmd ovmapishell

  • 64ビットWindows: ovmcmd_x64 ovmapishell

この例は、64ビットWindows上のovmcmdシェルを示しています:

この図は、64ビットWindows VM内のovmcmdシェルのスクリーンショットを示しています。

コマンド

シェル・モードでは、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を参照してください。