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


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

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

リモートマネジメントの場合、libvirt は以下のトランスポートモードに対応します。

トランスポートレイヤーセキュリティー (Transport Layer Security, TLS)

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

SSH

SSH (Secure Shell Protocol) 接続で転送されます。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

URI (Uniform Resource Identifier) は、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 コマンドは [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
  • 暗号化されていない TCP/IP 接続を使用して、ポート 5000 の IP アドレス 10.1.1.10 のサーバーに libvirt デーモンを接続します。これは、デフォルト設定でテストドライバーを使用します。
    test+tcp://10.1.1.10:5000/default

追加の URI パラメーター

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

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

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.