5.5. リモートの仮想化ホストへの簡単なアクセスの設定
libvirt ユーティリティーを使用してリモートホストシステムの仮想マシンを管理する場合は、-c qemu+ssh://root@hostname/system
構文を使用することが推奨されます。たとえば、ホスト 192.0.2.1
で、root で virsh list
コマンドを実行します。
# virsh -c qemu+ssh://root@192.0.2.1/system list
root@192.0.2.1's password:
Id Name State
---------------------------------
1 remote-guest running
ただし、SSH および libvirt の設定を変更すれば、接続の詳細を完全に指定する必要がなくなります。以下に例を示します。
# virsh -c remote-host list
root@192.0.2.1's password:
Id Name State
---------------------------------
1 remote-guest running
この改善機能を有効にするには、以下の手順を行います。
手順
~/.ssh/config
ファイルを以下のように編集します。ここで、host-alias は特定のリモートホストに関連付けられた短縮名および root@192.0.2.1 のエイリアス、hosturl は host の URL アドレスです。# vi ~/.ssh/config Host example-host-alias User root Hostname 192.0.2.1
/etc/libvirt/libvirt.conf
ファイルを以下のように編集します。example-qemu-host-alias は、QEMU および libvirt ユーティリティーがqemu+ssh://192.0.2.1/system
に目的のホスト example-host-alias を関連付けるホストエイリアスです。# vi /etc/libvirt/libvirt.conf uri_aliases = [ "example-qemu-host-alias=qemu+ssh://example-host-alias/system", ]
検証
ローカルシステムで libvirt ベースのユーティリティーを使用し、
-c qemu-host-alias
パラメーターを追加することで、リモートの仮想マシンを管理できることを確認します。これにより、リモートホストの SSH でコマンドが自動的に実行されます。たとえば、以下のコマンドにより、前の手順で example-qemu-host-alias としてセットアップした接続である、192.0.2.1 リモートホスト上の仮想マシンがリスト表示されることを確認します。
# virsh -c example-qemu-host-alias list root@192.0.2.1's password: Id Name State ---------------------------------------- 1 example-remote-guest running
注記virsh
の他に、-c
(または--connect
) オプションと、上記のリモートホストアクセス設定は、以下のユーティリティーで使用できます。
次のステップ
libvirt ユーティリティーを、1 台のリモートホストで排他的に使用する場合は、libvirt ベースのユーティリティーのデフォルトターゲットとして特定の接続を設定することもできます。ただし、ローカルホストまたは別のリモートホストでも仮想マシンを管理する場合、この方法は推奨されません。
/etc/libvirt/libvirt.conf
ファイルを編集して、uri_default
パラメーターの値を、デフォルトの libvirt ターゲットとして example-qemu-host-alias に設定できます。# These can be used in cases when no URI is supplied by the application # (@uri_default also prevents probing of the hypervisor driver). # uri_default = "example-qemu-host-alias"
これにより、指定したリモートホストで、libvirt ベースのコマンドがすべて自動的に実行されます。
$ virsh list root@192.0.2.1's password: Id Name State --------------------------------- 1 example-remote-guest running
リモートホストに接続する場合、リモートシステムへの root パスワードの入力を回避できます。そのためには、以下の方法を 1 つ以上行います。
- リモートホストへのキーベースの SSH アクセスを設定する
- SSH 接続の多重化を使用して、リモートシステムに接続する。
- Identity Management における Kerberos 認証
-
-c
(または--connect
) オプションを使用して、リモートホストでvirt-install
、virt-viewer
、およびvirsh
コマンドを実行できます。