KVMをインストールして、仮想マシンを起動するところまでを記載します。
Table of Contents
1 qemu-kvmとlibvirtのインストール
qemu-kvmとKVM設定用のパッケージをインストールします。
$ sudo yum install -y qemu-kvm libvirt-client virt-install \ virt-manager virt-viewer bridge-utils
2 bridgeインターフェース
外部から仮想マシンへアクセスする場合は、bridgeインターフェースを設定 してください。
3 libvirtグループ
libvirtグループに所属しているとsudoなしでvirt-managerを実行できます。
$ sudo gpasswd libvirt -a <username>
4 isoディレクトリの作成
複数のユーザでisoイメージを共有できるようにisoディレクトリを作成します。ubuntu-16.04-desktop-amd64.isoをisoディレクトリに格納します。
$ sudo mkdir /var/lib/libvirt/iso $ sudo mv ubuntu-16.04-desktop-amd64.iso /var/lib/libvirt/iso/ $ sudo chown qemu:qemu /var/lib/libvirt/iso/ubuntu-16.04-desktop-amd64.iso
5 VNC用ポートの開放
他のマシンから仮想マシンのディスプレイにアクセスできるようにするために、vnc-server.xmlを利用してVNC用のポートを開放します。
同時に稼働する仮想マシンが多くなると4ポートでは足りなくなるかもしれません。5903の値を大きくしてください。
$ sudo cat /usr/lib/firewalld/services/vnc-server.xml <?xml version="1.0" encoding="utf-8"?> <service> <short>Virtual Network Computing Server (VNC)</short> <description>A VNC server provides an external accessible X session. Enable this option if you plan to provide a VNC server with direct access. The access will be possible for displays :0 to :3. If you plan to provide access with SSH, do not open this option and use the via option of the VNC viewer.</description> <port protocol="tcp" port="5900-5903"/> </service>
ポートを開放します。
$ sudo firewall-cmd --add-service=vnc-server --permanent $ sudo firewall-cmd --reload
6 kvm_intel nestedの有効化
kvm_intel nestedを有効化することで、仮想マシン上でKVMを利用した仮想マシンを作成することができるようになります。
$ sudo su -c \ 'echo options kvm_intel nested=1 > /etc/modprobe.d/qemu-system-x86.conf' $ sudo reboot
7 virt-installで仮想マシンを作成する
qemu-imgでディスクを作成後にvirt-installで仮想マシンを作成します。VNCのパスワードは適時変更してください。
$ sudo qemu-img create -f raw /var/lib/libvirt/images/ubuntu-16.04-vm.raw 80G $ sudo virt-install --name ubuntu-16.04-vm --memory 1024 --vcpus 1 \ --cdrom /var/lib/libvirt/iso/ubuntu-16.04-desktop-amd64.iso \ --network bridge=br0 --os-type linux --os-variant ubuntu14.04 \ --file /var/lib/libvirt/images/ubuntu-16.04-vm.raw \ --graphics vnc,listen=0.0.0.0,password=password,keymap=ja
virt-viewerが起動し、仮想マシンの画面が表示されます。
virt-viewerと閉じておくことで、他のマシンからもVNC経由でアクセスできます。
$ open vnc://<server>:<port>