Menu Close
Settings Close

Language and Page Formatting Options

5.5. リモートの仮想化ホストへの簡単なアクセスの設定

libvirt ユーティリティーを使用してリモートホストシステムの仮想マシンを管理する場合は、-c qemu+ssh://root@hostname/system 構文を使用することが推奨されます。たとえば、ホスト 10.0.0.1 で、root で virsh list コマンドを実行します。

# virsh -c qemu+ssh://root@10.0.0.1/system list

root@10.0.0.1's password:

Id   Name              State
---------------------------------
1    remote-guest      running

ただし、便宜上、SSH および libvirt の設定を変更すれば、接続の詳細を完全に指定する必要がなくなります。たとえば、以下を行うことができます。

# virsh -c remote-host list

root@10.0.0.1's password:

Id   Name              State
---------------------------------
1    remote-guest      running

この改善機能を有効にするには、以下の手順を行います。

手順

  1. ~/.ssh/config ファイルを編集または作成し、以下をこれに追加します。ここで、host-alias は、特定のリモートホストに関連付けられる短縮名で、hosturl はホストの URL アドレスです。

    Host host-alias
            User                    root
            Hostname                hosturl

    たとえば、次の例は、root@10.0.0.1 に tyrannosaurus エイリアスを設定します。

    Host tyrannosaurus
            User                    root
            Hostname                10.0.0.1
  2. /etc/libvirt/libvirt.conf ファイルを編集するか作成し、以下を追加します。qemu-host-alias は、QEMU ユーティリティーおよび libvirt ユーティリティーが目的のホストに関連付けるホストのエイリアスです。

    uri_aliases = [
      "qemu-host-alias=qemu+ssh://host-alias/system",
    ]

    たとえば、次の例では、1 つ前の手順で設定した tyrannosaurus エイリアスを使用して、t-rex エイリアスを設定します。これは、qemu+ssh://10.0.0.1/system を表します。

    uri_aliases = [
      "t-rex=qemu+ssh://tyrannosaurus/system",
    ]

検証

  1. ローカルシステムで libvirt ベースのユーティリティーを使用し、-c qemu-host-alias パラメーターを追加することで、リモートの仮想マシンを管理できることを確認します。これにより、リモートホストの SSH でコマンドが自動的に実行されます。

    たとえば、以下が、10.0.0.1 リモートホスト (このホストへの接続は、上の手順で t-rex として設定) の仮想マシンを一覧表示していることを確認します。

    $ virsh -c t-rex list
    
    root@10.0.0.1's password:
    
    Id   Name              State
    ---------------------------------
    1    velociraptor      running
    注記

    virsh の他に、-c (または --connect) オプションと、上記のリモートホストアクセス設定は、以下のユーティリティーで使用できます。

次のステップ

  • libvirt ユーティリティーを、1 台のリモートホストで排他的に使用する場合は、libvirt ベースのユーティリティーのデフォルトターゲットとして特定の接続を設定することもできます。これを行うには、/etc/libvirt/libvirt.conf ファイルを編集して、uri_default パラメーターの値を qemu-host-alias に設定します。たとえば、次の例では、上の手順でデフォルトの libvirt ターゲットとして設定した t-rex ホストのエイリアスを使用します。

    # 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 = "t-rex"

    これにより、指定したリモートホストで、libvirt ベースのコマンドがすべて自動的に実行されます。

    $ virsh list
    root@10.0.0.1's password:
    
    Id   Name              State
    ---------------------------------
    1    velociraptor      running

    ただし、ローカルホストまたは別のリモートホストでも仮想マシンを管理する場合、この方法は推奨されません。

  • リモートホストに接続する場合は、リモートシステムに root パスワードを指定しないように設定することもできます。そのためには、以下の方法を 1 つ以上行います。

  • -c (または --connect) オプションを使用して、リモートホストで virt-installvirt-viewer、および virsh コマンドを実行できます。