Connect to remote virtual machines
KVM で仮想環境を構築して、リモートPC からアクセスしてみました。
ゲストOS の作成と環境設定には仮想マシンマネージャー(virt-manager)を使いました。リモートPC からアクセスしてもサウンドは有効です。
GNOME Boxes からもアクセスできます。
目次
システム構成
- サーバPC: Ubuntu GNOME 15.10
- リモートPC: Ubuntu GNOME 15.10
サーバPC の設定
- パッケージのインストール
$ sudo apt-get install openssh-server kvm libvirt-bin bridge-utils virt-manager
仮想環境の作成
仮想マシンマネージャー(virt-manager)でサーバPC 上にゲストOS をインストールします。
リモートPC の環境が構築済みであれば、リモートPC からでも作業できます。
- [システムツール]-[仮想マシンマネージャー]を選択
- [ファイル]-[新しい仮想マシン]を選択
- 画面の指示に従ってOS をインストールします。
[管理しているストレージか、他の既存のストレージを選択する]でイメージの格納先とイメージファイル名を指定できます。 - [表示]-[詳細]を選択し、「タイトル」を適宜変更します。なお、「名前」の方は半角空白を指定できません。
リモートPC の設定
パッケージのインストール
$ sudo apt-get install virt-manager
SSH の設定
$ ssh-keygen
$ ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_hostnameサーバへの接続設定
[システムツール]-[仮想マシンマネージャー]を選択
[ファイル]-[接続を追加]を選択
- リモートホストに接続をチェック
- ユーザ名を変更
- ホスト名にサーバPC を指定[接続]を押下
仮想マシンの実行
仮想マシンを一覧から選択して、[編集]-[仮想マシンの詳細]を選択
[仮想マシン]の[実行]または[復元]を選択
[表示]-[画面の拡大縮小]-[仮想マシンのウィンドウを自動的にリサイズ]をチェック
Tips
virsh で一覧表示
$ virsh list --all |
GNOME Boxes によるローカル接続
ローカルからGNOME Boxes で仮想マシンに接続できます。 スナップショットも共有されます。
GNOME Boxes によるリモート接続
リモートからGNOME Boxes で仮想マシンに接続するには、以下のようにポートの設定を変更します
87 <graphics type='spice' autoport='yes'/> |
87 <graphics type='spice' port='15900' autoport='no' listen='0.0.0.0'> |
$ 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
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