Virt-manager

提供: ArchWiki
2025年7月31日 (木) 19:59時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (英語版より訳出)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Virt-Manager は、仮想マシン管理サービスを提供する Libvirt ライブラリ向けのグラフィカルユーザーインターフェースです。Virt-manager のインターフェースにより、端末を使用せずに仮想マシンの作成・削除・操作が簡単に行えます。

Virt-manager は主に KVM をサポートしますが、Xen や LXC など他のハイパーバイザーにも対応しています。

インストール

まず Libvirt または Linux コンテナ のページを参照し、仮想マシンを作成できるように設定します。その後 virt-manager パッケージをインストールします。必要であれば QEMU もインストールしてください。

LXC 接続を使うには、libvirtd.service ユニットを有効化/起動します。

QEMU 接続を使うには、libvirtd.socket ユニットを有効化/起動します。

サービスが正常に起動していることを確認するには、ユニットステータスを確認してください。

設定

基本設定

自分自身を libvirt ユーザーグループに追加します。

また、Virt-manager のデフォルトプール以外のファイル/フォルダを使用する場合、それらが libvirt-qemu グループに属していることを確認すると良いでしょう。そうでない場合、パーミッションエラーが発生する可能性があります。

# chown "$USER":libvirt-qemu /path/to/vm/folder
ヒント: 他にもこの問題を解決する方法はあります。設定を忘れた場合でも、Virt-manager はこれらの設定変更の許可を求めてくれます。

Socket を使わない root なしの KVM

ノート: systemd ソケットを有効化するとこの設定は無効になります。ソケットを使いたくない場合にのみ設定してください。

通常ユーザー(root ではない)として使用するには、KVM の設定が必要です。これにより libvirt のネットワーク機能も有効になります。

以下の設定を変更して、UNIX ドメインソケットの所有権を libvirt にし、ソケットのパーミッションを読み書き可能にします:

/etc/libvirt/libvirtd.conf
...
unix_sock_group = 'libvirt'
...
unix_sock_rw_perms = '0770'
...

自分のユーザーを libvirt ユーザーグループに追加します。

また、/etc/libvirt/qemu.conf にユーザーを設定します。そうしないと、QEMU がローカルドライブへアクセスしようとしたときにパーミッション拒否エラーになります。

user = "libvirt-qemu"group = "libvirt-qemu" を検索し、コメントを外して自分のユーザー名または ID に変更してください。編集後は以下のようになります。

/etc/libvirt/qemu.conf
# Some examples of valid values are:
#
#       user = "qemu"   # A user named "qemu"
#       user = "+0"     # Super user (uid=0)
#       user = "100"    # A user named "100" or a user with uid=100
#
user = "username"

# The group for QEMU processes run by the system instance. It can be
# specified in a similar way to user.
group = "username"

Virt-Manager を開くと、デフォルトでは QEMU 接続の system バリアント(root)が使用されます。

これを user 接続に変更するには、File > Add Connection に移動します。

ハイパーバイザーとして QEMU/KVM User session を選択して OK をクリックします。これにより user セッションに自動接続されるようになります。system 接続は切断・削除しても構いません。

ネットワーキング

ノート:
  • virt-manager 記事では user session で virt-manager および libvirt を使うことに焦点を当てていますが、これはネットワーク機能が制限されます(詳細は libvirt FAQ を参照)。system バリアント(root)を使用することでより多くのネットワーク機能が利用可能です。
  • ネットワーク関連の問題が発生した場合は libvirt も参照してください。

user session でネットワークブリッジを使用するには、まず libvirt のシステム管理側でセットアップする必要があります。

そのためには libvirtデーモン が起動している必要があります。

正常に起動すれば、Virt-manager 上で QEMU 接続の system バリアント(root)を開けます。ネットワークタブでブリッジを希望の設定で作成します。

その後、user session の仮想マシンからそのブリッジを使用するには、ブリッジ構成に従って qemu-bridge-helper を設定してください。

設定が完了すると、そのブリッジは user session の仮想ネットワーク内で利用可能になります。

NAT - ブリッジ - ホストオンリー

NAT

NAT は、VM をホストと同じ IP 経路にルーティングします。このオプションは Show hardware -> NIC で選択でき、追加設定は不要です。

ブリッジ

ブリッジモードは、VM がネットワーク内の独立したクライアントとして動作します。 Virt-manager では、明示的にインターフェースを選択する必要があります。

VirtualBox や VMware のように自動選択はされません。 ブリッジを使用するには、NAT を使った 仮想インターフェースの作成 が推奨されます。

(実際のインターフェースも使えますが、追加設定が必要になる場合があります。)

ホストオンリー

ホストオンリー構成では、ホストとゲスト間のネットワーク操作のみが可能です。

Virt-manager にはこのオプションは存在しません。 代わりに、仮想的に分離されたネットワークに接続されたブリッジを使用します。詳しくは #Creating a Virtual Interface を参照してください。

接続の詳細

仮想インターフェースの作成

Edit -> Connection Details -> add に移動します。

以下のオプションが利用可能です:

NAT、Routed、Open、Isolated、SR-IOV Pool

3D アクセラレーション

virtio はパラバーチャルな 3D グラフィックドライバです。基本的な 3D アクセラレーションを有効にするには:

  1. 仮想マシンの設定ページへ移動します。
  2. "Add Hardware" ボタンをクリック > Video > "Model" を "Virtio" に設定。その後、他の "Video" 仮想ハードウェアを削除します(サイドバー内)。
  3. "Display Spice" に移動し、"Listen Type" を "None" に設定。"OpenGL" チェックボックスを有効にし、適切なレンダラーを選択します。
  4. "Video Virtio" を選択し、"3D Acceleration" にチェックを入れます。

3D グラフィックのテストには mesa-utils パッケージの glxgears を使用できます。glxgears -info を使えば、OpenGL レンダラーの情報も表示されます。

ゲスト用ユーティリティ

参照