Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第18章 リモートゲストのリモート管理

本セクションでは、ゲストをリモートで管理する方法を説明します。

18.1. トランスポートモード

リモート管理では、libvirt は以下のトランスポートモードをサポートします。

Transport Layer Security (TLS)

Transport Layer Security TLS 1.0(SSL 3.1)が認証および暗号化された TCP/IP ソケット(通常はパブリックポート番号でリッスン)。これを使用するには、クライアント証明書とサーバー証明書を生成する必要があります。標準のポートは 16514 です。詳細な手順は、「TLS および SSL 経由のリモート管理」 を参照してください。

SSH

セキュアシェルプロトコル(SSH)接続上で転送されます。libvirt デーモン(libvirtd)がリモートマシンで実行している必要があります。SSH アクセス用にポート 22 を開く必要があります。SSH キー管理のソート(例: ssh-agent ユーティリティー)を使用するか、パスワードの入力を要求されます。詳細な手順は、「SSH を使用したリモート管理」 を参照してください。

UNIX ソケット

UNIX ドメインソケットはローカルマシンでしかアクセスできません。ソケットは暗号化されず、認証に UNIX パーミッションまたは SELinux を使用します。標準のソケット名は /var/run/libvirt/libvirt-sock および /var/run/libvirt/libvirt-sock-ro です(読み取り専用接続向け)。

Ext

ext パラメーターは、libvirt の範囲外にあることでリモートマシンに接続することができる任意の外部プログラムに使用されます。このパラメーターはサポートされていません。

TCP

暗号化されていない TCP/IP ソケット。実稼働環境での使用は推奨されません。これは通常無効となっていますが、管理者は信頼できるネットワークでテストまたは使用することができます。デフォルトのポートは 16509 です。

指定されていない場合は、デフォルトのトランスポートは TLS です。

リモート URI

Uniform Resource Identifier(URI)は virsh および libvirt によってリモートホストに接続するために使用されます。URI は、virsh コマンドに --connect パラメーターと共に使用して、単一のコマンドやリモートホストで移行することもできます。リモート URI は、通常のローカル URI と、ホスト名またはトランスポート名、またはその両方を取ることで形成されます。特別なケースとして、「remote」の URI スキームを使用すると、最適なハイパーバイザードライバーについてプローブするリモート libvirtd サーバーに指示します。これは、ローカル接続の NULL URI を渡すことと同じです。

libvirt URI は一般的な形式を取ります(角括弧内のコンテンツ「[]」はオプション関数を表します)。
driver[+transport]://[username@][hostname][:port]/path[?extraparameters]
ハイパーバイザー(ドライバー)が QEMU の場合は、パスは必須です。
以下は、有効なリモート URI の例です。
  • qemu://hostname/
外部ロケーションを対象とするには、トランスポートメソッドまたはホスト名を指定する必要があります。詳細は、libvirt アップストリームのドキュメント を参照してください。

リモート管理パラメーターの例

  • SSH トランスポートおよび SSH ユーザー名 virtuser を使用して、host2 という名前のリモート KVM ホストに接続します。それぞれの connect コマンドは、connect [URI] [--readonly] です。virsh connect コマンドの詳細は、を参照してください。 「virsh Connect を使用したハイパーバイザーへの接続」
    qemu+ssh://virtuser@host2/
  • TLS を使用して、host2 という名前のホストのリモート KVM ハイパーバイザーに接続します。
    qemu://host2/

テスト例

  • 標準以外の UNIX ソケットでローカルの KVM ハイパーバイザーに接続します。この場合、UNIX ソケットへの完全パスは明示的に指定されます。
    qemu+unix:///system?socket=/opt/libvirt/run/libvirt/libvirt-sock
  • ポート 5000 の IP アドレス 10.1.1.10 を使用してサーバーに暗号化されていない TCP/IP 接続を使用して libvirt デーモンに接続します。これにより、デフォルト設定でテストドライバーを使用します。
    test+tcp://10.1.1.10:5000/default

追加の URI パラメーター

追加のパラメーターをリモート URI に追加できます。以下の表では、認識されたパラメーターについて説明しています。その他のパラメーターはすべて無視されます。パラメーターの値は、パラメーターおよび特殊文字が URI 形式に変換される前に、疑問符(?)が付加される必要があることに注意してください。

表18.1 追加の URI パラメーター

名前 トランスポートモード 説明 使用例
name すべてのモード リモート virConnectOpen 関数に渡される名前。この名前は通常、transporthostnameport numberusername、および追加パラメーターをリモート URI から削除しますが、非常に複雑な場合は名前を明示的に指定する方が望ましい場合があります。 name=qemu:///system
コマンド SSH と ext 外部コマンド。ext トランスポートの場合、これは必須です。ssh の場合、デフォルトは ssh です。PATH はコマンドを検索します。 command=/opt/openssh/bin/ssh
ソケット UNIX および ssh UNIX ドメインソケットへのパス。これはデフォルトを上書きします。ssh トランスポートの場合、これはリモート netcat コマンドに渡されます(netcat を参照してください)。 socket=/opt/libvirt/run/libvirt/libvirt-sock
no_verify tls 0 以外の値に設定すると、クライアントがサーバーの証明書のチェックを無効にします。クライアントの証明書または IP アドレスのサーバーチェックを無効にするには、libvirtd 設定を変更する必要があります。 no_verify=1
no_tty ssh 0 以外の値に設定すると、リモートマシンにログインできない場合に ssh がパスワードを要求しないように停止します。端末にアクセスできない場合は、これを使用します。 no_tty=1

このページには機械翻訳が使用されている場合があります (詳細はこちら)。