Virt-Manager
virt-manager は libvirt ライブラリのグラフィカルフロントエンドであり、仮想マシンの管理機能を提供します。 virt-manager のインターフェースを使えば、ユーザーはターミナルを使わずに仮想マシンを作成・削除・操作できます。
virt-manager は主に KVM をサポートしているが、Xen や LXC といった他のハイパーバイザーでも動作可能。
目次
インストール
まず libvirt または LXC のページを参照し、仮想マシンを作成できることを確認します。その後 virt-manager パッケージをインストール して下さい。 必要に応じて QEMU もインストールして下さい。
LXC 接続を使用する場合は libvirtd.service ユニットを 有効化/起動 します。
QEMU 接続を使用する場合は libvirtd.socket ユニットを 有効化/起動 します。
サービスが実行中かどうかは ユニットステータス で確認できます。
設定
基本設定
自分を libvirt ユーザーグループ に追加して下さい。
また、virt-manager のデフォルトプール外にあるファイルやフォルダを利用する場合、それらの所有者を libvirt-qemu グループに設定しておくとよいでしょう。そうしないと、アクセス時にパーミッションエラーが発生する可能性があります。
# chown "$USER":libvirt-qemu /path/to/vm/folder
ヒントとテクニック
Socket を使わない非 root KVM
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 アクセラレーションを有効にするには、以下の手順を実行してください。
- 仮想マシンの設定ページに移動します。
- "ハードウェアの追加" ボタンをクリックし、"ビデオ" を選択し、"モデル" で "Virtio" を選択します。その後、サイドバー内の他の "ビデオ" 仮想ハードウェアを削除します。
- "Display Spice" に移動し、"Listen Type" を "None" に設定します。また、"OpenGL" チェックボックスをオンにして、適切なレンダラーを選択します。
- "Video Virtio" をクリックし、"3D Acceleration" にチェックを入れます。
mesa-utils パッケージの glxgears を使用して 3D グラフィックスをテストできます。glxgears -info はコンソールに OpenGL レンダラー情報を表示します。