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

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

virt-manager を使用したくない場合 (例えば、サーバーに関連パッケージをインストールしたくない場合、ローカルで X サーバーを動作させていない場合、SSH の X11 転送が動作しない場合など)、libvirt から仮想マシンを起動するために virt-install ツールを利用できます。また、ローカルマシンにインストールした VNC クライアントからグラフィカルコンソールに接続できます。

VNC は標準的なプロトコルなので、VNC の仕様を実装した複数のクライアントが利用できます。 TigerVNC (複数のプラットフォーム)、 TightVNC (複数のプラットフォーム)、 RealVNC (複数のプラットフォーム)、 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=0.0.0.0 --noautoconsole \
  --os-type=linux --os-variant=centos7.0 \
  --location=/data/isos/CentOS-7-x86_64-NetInstall-1611.iso

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

KVM は、libvirt 名 centos、メモリ 1024MB の仮想マシンを起動します。仮想マシンは、 /data/isos/CentOS-7-x86_64-NetInstall-1611.iso ファイルを接続した仮想 CD-ROM ドライブ、ホストの /tmp/centos.qcow2 に保存した qcow2 形式の 10 GB ハードディスクを持ちます。また、libvirt の default ネットワークを使用するよう設定します。すべてのインターフェースでリッスンしている VNC サーバーがあります。libvirt は、VNC クライアントを自動的に起動しません。テキストコンソールを表示しません (--no-autoconsole)。最後に、libvirt は CentOS 7 ディストリビューションを実行する Linux ゲスト向けに設定を最適化しようとします。

注釈

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

osinfo-query os コマンドを実行し、 --os-variant オプションの利用できる値を確認します。

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

# virsh vncdisplay centos
:1

上の例では、ゲストの centos が VNC ディスプレイ :1 を使用します。これは、TCP ポート 5901 番に対応します。ローカルマシンの VNC クライアントをリモートマシンのディスプレイ :1 に接続できます。そして、インストールプロセスを進めていきます。

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.