virt-install の使用とローカル VNC クライアントを用いた接続

virt-install の使用とローカル VNC クライアントを用いた接続

If you do not wish to use virt-manager (for example, you do not want to install the dependencies on your server, you do not have an X server running locally, the X11 forwarding over SSH is not working), you can use the virt-install tool to boot the virtual machine through libvirt and connect to the graphical console from a VNC client installed on your local machine.

Because VNC is a standard protocol, there are multiple clients available that implement the VNC spec, including TigerVNC (multiple platforms), TightVNC (multiple platforms), RealVNC (multiple platforms), Chicken (Mac OS X), Krde (KDE), Vinagre (GNOME).

以下の例は、 qemu-img コマンドを使用して、空のイメージファイルを作成する方法、および virt-install コマンドを使用して、そのイメージファイルを用いて仮想マシンを作成する方法を示します。以下を root として実行します。

# qemu-img create -f qcow2 /tmp/centos.qcow2 10G
# virt-install --virt-type kvm --name centos --ram 1024 \
  --disk /tmp/centos.qcow2,format=qcow2 \
  --network network=default \
  --graphics vnc,listen= --noautoconsole \
  --os-type=linux --os-variant=centos7.0 \

Starting install...
Creating domain...                     |    0 B     00:00
Domain installation still in progress. You can reconnect to
the console to complete the installation process.

The KVM hypervisor starts the virtual machine with the libvirt name, centos, with 1024 MB of RAM. The virtual machine also has a virtual CD-ROM drive associated with the /data/isos/CentOS-7-x86_64-NetInstall-1611.iso file and a local 10 GB hard disk in qcow2 format that is stored in the host at /tmp/centos.qcow2. It configures networking to use libvirt default network. There is a VNC server that is listening on all interfaces, and libvirt will not attempt to launch a VNC client automatically nor try to display the text console (--no-autoconsole). Finally, libvirt will attempt to optimize the configuration for a Linux guest running a CentOS 7 distribution.


libvirt default ネットワークの利用時、libvirt が仮想マシンのインターフェースを virbr0 という名前のブリッジに接続します。libvirt により管理される dnsmasq プロセスが動作しています。 サブネットに IP アドレスを払い出します。また、libvirt がこのサブネットに IP アドレスを NAT する iptables ルールを作成します。

Run the osinfo-query os command to see a range of allowed --os-variant options.

virsh vncdisplay vm-name コマンドを使用して、VNC ポート番号を取得します。

# virsh vncdisplay centos

In the example above, the guest centos uses VNC display :1, which corresponds to TCP port 5901. You should be able to connect a VNC client running on your local machine to display :1 on the remote machine and step through the installation process.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.