機械翻訳について

8.2 Oracle VM Guest Additionsパッケージ

Oracle VM Guest Additionsをインストールするには、まず一連のパッケージをyumリポジトリから仮想マシンにダウンロードします。 パッケージは、Unbreakable Linuxネットワーク(ULN)またはOracle Linux Yum Serverからダウンロードできます。 必要なパッケージをダウンロードしたら、yum installを使用してインストールします。

次の表は、Oracle VM Guest Additionsのパッケージを示します。

パッケージ

説明

必須またはオプション

libovmapi

Oracle VM APIのサポートを追加するライブラリ。

必須

libovmapi-devel

Oracle VM APIの開発者サポートを追加するライブラリ。

オプション

ovmd

構成イベントを処理し、仮想マシンとOracle VM Managerとの間のメッセージの送受信を可能にするデーモン。

必須

python-simplejson

PythonのJSONエンコーダおよびデコーダ。

必須

xenstoreprovider

Oracle VM APIカーネル・インフラストラクチャと通信するライブラリ。

必須

ovm-template-config

基本的なオペレーティング・システム構成スクリプト。

必須

ovm-template-config-authentication

仮想マシンの認証を構成するためのスクリプト。

オプション

ovm-template-config-datetime

仮想マシンの日時設定を構成するためのスクリプト。

オプション

ovm-template-config-firewall

仮想マシンのファイアウォールを構成するためのスクリプト。

オプション

ovm-template-config-network

仮想マシンのネットワーク設定を構成するためのスクリプト。

オプション

ovm-template-config-selinux

仮想マシンのSELinux設定を構成するためのスクリプト。

オプション

ovm-template-config-ssh

仮想マシンのssh設定を構成するためのスクリプト。

オプション

ovm-template-config-system

仮想マシンのシステム設定を構成するためのスクリプト。

オプション

ovm-template-config-user

仮想マシンのユーザー設定を構成するためのスクリプト。

オプション

Microsoft Windowsゲスト

Microsoft Windowsゲストの場合、Oracle VM Guest AdditionsはOracle VM Paravirtual Driversに含まれています。 ゲストの追加の実装は、次のコンポーネントで構成されています:

  • vmapi.dll: 呼び出し可能なインタフェースを公開する動的リンク・ライブラリ

  • ovmsvc: イベントとメッセージを送受信するサービス

  • xenpci: ハイパーバイザとやり取りするドライバ

  • ovmcmd: ゲストの追加を呼び出すためのコマンド

vmapi.dll

vmapi.dllは、Windowsのゲスト・オペレーティング・システムのWindowsアプリケーションとxenpciドライバ間の通信用のインタフェースを公開します。 アプリケーションはこのライブラリをロードし、エクスポートされた関数を呼び出してxenpciにアクセスします。 通常、デバイスI/Oコントロール(IOCTL)は、xenpciドライバと通信するために使用されます。 次の表に、関数名とその説明を示します:

機能

説明

OVMAPI_Register

OVMAPIを初期化し、オプションでコールバックを登録

OVMAPI_ParamGetValue

OVMAPIエンジンに格納されている名前と値のペアを取得

OVMAPI_ParamSetValue

名前と値のペアを作成または変更

OVMAPI_Subscribe

アプリケーション登録イベント・ハンドラで特定のイベントを受信

OVMAPI_UnSubscribe

アプリケーションが登録したイベント・ハンドラ内の特定のイベントをブロック

OVMAPI_EventComplete

後でステータス・コードを確定してイベントを完了

OVMAPI_ParamGetValueSize

パラメータ値のバイト単位のサイズを取得

OVMAPI_GetSessionFileDescriptors

ドライバへの特別な呼び出しに使用する内部ファイル記述子を取得

OVMAPI_UserEventPublish

アプリケーション固有のイベントを管理サーバーおよび同じVM上で実行されている他のOVMAPI対応アプリケーションに送信

OVMAPI_ParamGetAllNames

アプリケーションにとって興味のある既存のパラメータをブラウズ

OVMAPI_ParamGetCount

既存のパラメータの数を取得

OVMAPI_UnRegister

OVMAPIの使用を終了

ovmsvc

ovmsvcサービスは、Windows VMの起動時に自動的に開始されます。 このサービスをインストールまたはアンインストールするコマンドは、それぞれovmsvc installまたはovmsvc uninstallです。 ovmsvcサービスは、Oracle VM Managerから送信されたメッセージを監視し、Windows VM固有の情報(オペレーティング・システムのバージョンやVMのIPアドレスなど)を送信します。 vmapi.dllを使用してWindowsゲストとOracle VM Manager間の通信を実装します。 次の図は、Windows VM内で実行されているovmsvcを示しています。

この図は、Windows VM内からのスクリーンショットを示しています。 Oracle VM Serviceのプロパティが表示され、サービスが開始済ステータスであることが示されます。

ovmsvcが起動すると、xenpciデバイスが開き、メッセージが処理されるコールバック関数が登録されます。 vmapiメッセージに対応するイベントを監視するスレッドが作成されます。 ovmsvcの現在のコールバック機能は、VMシャットダウン・メッセージを処理します。スナップショットなどの他のメッセージは、追加機能として実装できます。

xenpci

Oracle VM Managerでメッセージを交換するアプリケーションは、メッセージを処理するためにいくつかのIOCTLを実装するxenpciドライバを使用します。 xenpciドライバは、Xenドメインで共有されるメモリー領域であるxenstoreに直接アクセスします。 ovmsvcは、xenstoreとの間でVMメッセージを送受信するためのAPI関数を呼び出します。

xenpciドライバは、xenbus_watch関数を使用して着信メッセージをモニターします。 xenpciドライバ初期化はxenstoreキー"control/oracle-vmapi/to-guest/last-write"に時計機能を登録します。 Oracle VM Managerによって送信されたメッセージは、このxenstoreキーに設定されます。 このxenstoreキーが変更されると、xenpciのウォッチ機能が起動されます。 ウォッチ関数はイベントをチェックして送信し、モニター・スレッドはイベントを認識し、コールバック関数はAPIメッセージを処理します。

ovmsvcは起動プロセス中にWindows VMメッセージを送信し、xenpciのIOCTLを使用してxenstoreキー"control/oracle-vmapi/from-guest/%d/%s"を書き込みます。 ovmsvcは定期的にメッセージを更新し、ゲストIPアドレスなどの情報をゲストからOracle VM Managerに同期させます。

Oracle Solaris

Oracle VM Guest Additionsは、SPARCおよびx86上のOracle Solarisでも使用できます。 オプションで、Solaris IPSリポジトリからインストールできます : pkg://solaris/system/management/ovm-guest-additions