Virt-Manager

提供: ArchWiki
2025年8月23日 (土) 14:45時点におけるKgx (トーク | 投稿記録)による版 (翻訳)
ナビゲーションに移動 検索に移動

virt-managerlibvirt ライブラリのグラフィカルフロントエンドであり、仮想マシンの管理機能を提供します。 virt-manager のインターフェースを使えば、ユーザーはターミナルを使わずに仮想マシンを作成・削除・操作できます。

virt-manager は主に KVM をサポートしているが、Xen や LXC といった他のハイパーバイザーでも動作可能。

インストール

まず libvirt または LXC のページを参照し、仮想マシンを作成できることを確認します。その後 virt-manager パッケージをインストール して下さい。 必要に応じて QEMU もインストールして下さい。

LXC 接続を使用する場合は libvirtd.service ユニットを 有効化/起動 します。

QEMU 接続を使用する場合は libvirtd.socket ユニットを 有効化/起動 します。

サービスが実行中かどうかは ユニットステータス で確認できます。

ノート: ドメインの 自動起動機能 を使用するには、libvirtd.service を有効にする必要があります。

設定

基本設定

自分を libvirt ユーザーグループ に追加して下さい。

また、virt-manager のデフォルトプール外にあるファイルやフォルダを利用する場合、それらの所有者を libvirt-qemu グループに設定しておくとよいでしょう。そうしないと、アクセス時にパーミッションエラーが発生する可能性があります。

# chown "$USER":libvirt-qemu /path/to/vm/folder
ヒント: 他にも解決方法はあります。もし忘れても virt-manager が権限変更を提案してくれます。

ヒントとテクニック

Socket を使わない非 root KVM

ノート: systemd のソケットを有効化するとこの設定は上書きされるので、ソケットを有効化したくない場合にのみ行ってください。

root 権限のない通常のユーザーとして使用するには、KVM を設定する必要があります。これにより、libvirt ネットワーク コンポーネントも有効になります。

次のように変更して、UNIX ドメイン ソケットの所有権を libvirt に設定し、UNIX ソケットの権限を読み取りと書き込みに設定します:

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

自分を libvirt ユーザーグループ に追加する。

さらに /etc/libvirt/qemu.conf に自分のユーザーを設定します。設定しないと QEMU がローカルディスクにアクセスする際に permission denied となります。

user = "libvirt-qemu" または group = "libvirt-qemu" を検索し、両方のエントリのコメントを解除して、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 接続のシステムバリアント (root) がデフォルトになります。

これをユーザー接続に変更するには、ファイル > 接続の追加 に移動します。

次に、ハイパーバイザーとして QEMU/KVM ユーザー セッション を選択し、[OK] をクリックします。 これにより、ユーザーセッションに自動接続されます。必要に応じて、システム接続を切断して削除することもできます。

ネットワーク

ノート:

ユーザーセッションでネットワークブリッジを使用するには、まず libvirt システム管理で設定する必要があります。

このためには、libvirt デーモン が実行されている必要があります。

正常に起動すると、QEMU 接続のシステムバリアント (root) が virt-managerで開きます。ネットワークタブで必要な設定を行い、ブリッジを設定してください。

ユーザーセッション仮想マシンでブリッジを使用できるようにするには、ブリッジの設定に応じて qemu-bridge-helper を設定します。

その後、ブリッジは、virt-manager ユーザーセッションで実行される仮想ネットワークで使用できるようになります。

NAT - Bridged - Host-Only

NAT

NAT は同じ IP 経由で VM をルーティングします。このオプションはハードウェアの表示 -> NIC で使用でき、追加の設定は必要ありません。

Bridged

ブリッジモードでは、VM がネットワーク内の独自のクライアントであるかのように動作します。 virt-manager では、インターフェースを選択する必要があります。

これは、自動的に選択される virtualbox や vmware とは異なります。 Bridged を使用するには、NAT を使用して 仮想インターフェース を作成する必要があります。

(独自のインターフェースを使用することも可能ですが、追加の設定が必要になる場合があります。)

Host-Only

ホストのみの設定では、ホストとゲスト間のネットワーク操作のみが許可されます。

このオプションは virt-manager には存在しません。 代わりに、仮想分離ネットワークに接続されたブリッジを使用する必要があります。#仮想インターフェースの作成 を参照してください。

接続の詳細

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

編集 → 接続の詳細 → 追加 へ進みます。

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

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

3Dアクセラレーション

virtio は準仮想化 3D グラフィックドライバです。基本的な 3D アクセラレーションを有効にするには、以下の手順を実行してください。

  1. 仮想マシンの設定ページに移動します。
  2. "ハードウェアの追加" ボタンをクリックし、"ビデオ" を選択し、"モデル" で "Virtio" を選択します。その後、サイドバー内の他の "ビデオ" 仮想ハードウェアを削除します。
  3. "Display Spice" に移動し、"Listen Type" を "None" に設定します。また、"OpenGL" チェックボックスをオンにして、適切なレンダラーを選択します。
  4. "Video Virtio" をクリックし、"3D Acceleration" にチェックを入れます。

mesa-utils パッケージの glxgears を使用して 3D グラフィックスをテストできます。glxgears -info はコンソールに OpenGL レンダラー情報を表示します。

参照