付録A VDSM サービスとフック

VDSM サービスは、Red Hat Virtualization Hosts (RHVH) および Red Hat Enterprise Linux ホストを管理するために Red Hat Virtualization Manager が使用します。VDSM は、ホストのストレージ、メモリー、ネットワークリソースを管理および監視します。また、仮想マシンの作成、統計収集、ログ収集、およびその他のホスト管理タスクを調整します。VDSM は、Red Hat Virtualization Manager により管理される各ホスト上でデーモンとして実行されます。クライアントからの XML-RPC 呼び出しに応答します。Red Hat Virtualization Manager は VDSM クライアントとして機能します。

VDSM はフックを介して拡張可能です。フックは、重要なイベントが発生したときにホスト上で実行されるスクリプトです。サポートされているイベントが発生すると、VDSM はホスト上の /usr/libexec/vdsm/hooks/nn_event-name/ にある実行可能フックスクリプトを英数字順に実行します。慣例により、各フックスクリプトには、ファイル名の前に含まれる 2 桁の番号が割り当てられ、スクリプトが実行される順序が明確になります。任意のプログラミング言語でフックスクリプトを作成できますが、この章に含まれる例では Python が使用されます。

イベントのホストで定義されたすべてのスクリプトが実行されることに注意してください。特定のフックをホスト上で実行される仮想マシンのサブセットに対してのみ実行する必要がある場合は、仮想マシンに関連付けられた カスタムプロパティー を評価することにより、フックスクリプト自体がこの要件を処理することを確認する必要があります。

警告

VDSM フックは Red Hat Virtualization の動作に干渉する可能性があります。VDSM フックのバグは、仮想マシンのクラッシュやデータの損失を引き起こす可能性があります。VDSM フックは注意して実装し、厳密にテストする必要があります。Hooks API は新しく、将来大幅に変更される可能性があります。

イベント駆動型フックを使用して VDSM を拡張できます。フックを使用して VDSM を拡張することは実験的な技術であり、この章は経験豊富な開発者を対象としています。

仮想マシンにカスタムプロパティーを設定することで、フックスクリプトに仮想マシン固有のパラメーターを追加で渡すことができます。

A.1. VDSM フックのインストール

デフォルトでは、VDSM フックはインストールされていません。特定のフックが必要な場合は、手動でインストールする必要があります。

前提条件

  • ホストリポジトリーを有効にします。
  • root パーミッションでホストにログインしている。

手順

  1. 利用可能なフックのリストを取得します。

    # dnf list vdsm\*hook\*
  2. ホストをメンテナンスモードにします。
  3. 目的の VDSM フックパッケージをホストにインストールします。

    # dnf install <vdsm-hook-name>

    たとえば、vdsm-hook-vhostmd パッケージをホストにインストールするには、次のように入力します。

    # dnf install vdsm-hook-vhostmd
  4. ホストを再起動します。