https://virt-manager.org/

KVM で仮想環境を構築して、リモートPC からアクセスしてみました。

ゲストOS の作成と環境設定には仮想マシンマネージャー(virt-manager)を使いました。リモートPC からアクセスしてもサウンドは有効です。

GNOME Boxes からもアクセスできます。

virt-manager

目次

システム構成

  • サーバPC: Ubuntu GNOME 15.10
  • リモートPC: Ubuntu GNOME 15.10

サーバPC の設定

  1. パッケージのインストール
    $ sudo apt-get install openssh-server kvm libvirt-bin bridge-utils virt-manager

仮想環境の作成

仮想マシンマネージャー(virt-manager)でサーバPC 上にゲストOS をインストールします。
リモートPC の環境が構築済みであれば、リモートPC からでも作業できます。

  1. [システムツール]-[仮想マシンマネージャー]を選択
  2. [ファイル]-[新しい仮想マシン]を選択
  3. 画面の指示に従ってOS をインストールします。
    [管理しているストレージか、他の既存のストレージを選択する]でイメージの格納先とイメージファイル名を指定できます。
  4. [表示]-[詳細]を選択し、「タイトル」を適宜変更します。なお、「名前」の方は半角空白を指定できません。

リモートPC の設定

  1. パッケージのインストール

    $ sudo apt-get install virt-manager
  2. SSH の設定

    $ ssh-keygen
    $ ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_hostname
  3. サーバへの接続設定

  4. [システムツール]-[仮想マシンマネージャー]を選択

  5. [ファイル]-[接続を追加]を選択
    - リモートホストに接続をチェック
    - ユーザ名を変更
    - ホスト名にサーバPC を指定

  6. [接続]を押下

  7. 仮想マシンの実行

  8. 仮想マシンを一覧から選択して、[編集]-[仮想マシンの詳細]を選択

  9. [仮想マシン]の[実行]または[復元]を選択

  10. [表示]-[画面の拡大縮小]-[仮想マシンのウィンドウを自動的にリサイズ]をチェック

Tips

virsh で一覧表示

$ virsh list --all
Id 名前 状態
-------------------------------------------------- --
- antergos_2015.12.21 シャットオフ
- centos_7.0 シャットオフ
- debian_8.2.0 シャットオフ
- fedora_23 シャットオフ
- haiku_r1a4 シャットオフ
- kali_2.0 シャットオフ
- opensuse_42 シャットオフ
- pc-bsd_10.2 シャットオフ
- sabayon_15.12 シャットオフ
- solus_1.0 シャットオフ
- steamos_2.0 シャットオフ
- ubuntu_gnome_16.04 シャットオフ

GNOME Boxes によるローカル接続

ローカルからGNOME Boxes で仮想マシンに接続できます。 スナップショットも共有されます。
gnome boxes import

GNOME Boxes によるリモート接続

リモートからGNOME Boxes で仮想マシンに接続するには、以下のようにポートの設定を変更します

/etc/libvirt/qemu/ubuntu-gnome-1604.xml(変更前)
87     <graphics type='spice' autoport='yes'/>
/etc/libvirt/qemu/ubuntu-gnome-1604.xml(変更後)
87     <graphics type='spice' port='15900' autoport='no' listen='0.0.0.0'>
88 <listen type='address' address='0.0.0.0'/>
89 </graphics>
$ sudo virsh define /etc/libvirt/qemu/ubuntu-gnome-1604.xml

その後、virt-manager で仮想マシンを実行状態にしておき、GNOME Boxes 上で接続URI をspice://192.168.0.2:15900 として接続します。

qcow2 形式イメージへ変換

スナップショットを作るためには、qcow2 形式でイメージを作成します。 別の形式から変換する場合は、以下のコマンドを実行します。

$ qemu-img convert -O qcow2 before-raw.img  after-qcow2.img

イメージの移動と再登録

イメージを移動する場合は、ファイルの移動の他に定義の変更も必要です。

$ mv ubuntu-gnome-1604.img /mnt/VMs/
$ virsh edit ubuntu-gnome-1604

/etc/libvirt/qemu/ubuntu-gnome-1604.xml
34     <disk type='file' device='disk'>
35 <driver name='qemu' type='qcow2'/>
36 <source file='/mnt/VMs/ubuntu-gnome-1604.img'/>
37 <target dev='hda' bus='ide'/>
38 <address type='drive' controller='0' bus='0' target='0' unit='0'/>
39 </disk>

$ sudo virsh define /etc/libvirt/qemu/ubuntu-gnome-1604.xml

Android から接続