OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2014/05/06

OSSでLinuxサーバ構築

KVMで仮想マシンを作成

トップページOSSでLinuxサーバ構築 > KVMで仮想マシンを作成
このエントリーをはてなブックマークに追加

概要

 QEMUとlibvirtを利用して仮想マシンを作成します。

構成

想定環境

サーバ構成

OSバージョン

CentOS 6.4 x86_64

ソフトウェア・パッケージ一覧

qemu-img-0.12.1.2-2.355.el6.x86_64
qemu-kvm-0.12.1.2-2.355.el6.x86_64
libvirt-0.10.2-18.el6.x86_64
libvirt-client-0.10.2-18.el6.x86_64

クライアント構成

OSバージョン

Windows 7 Ultimate 64bit

ソフトウェア・パッケージ一覧

Tera Term Version 4.74
TigerVNC Viewer

サーバ構築

QEMUで仮想マシンの作成

(1) ディスクイメージの作成

 ゲストOSのディスクイメージを作成します。 ファイル名は /data/img/centos65.img で、サイズは 40GB とします。 ディスクのタイプは可変サイズ(qcow2)を指定します。

 ディスクのタイプに固定サイズ(raw)を指定した場合は、指定したサイズの ディスクイメージが作成されます。可変サイズ(qcow2)を指定した場合は OSのインストールやデータの保存などによってゲストOS上に書かれたデータ分だけ ディスクイメージのサイズが大きくなります。ディスクイメージを作成した 直後は256KBとなっています。

# cd /data/img/
# qemu-img create -f qcow2 centos65.img 40G
Formatting 'centos65.img', fmt=qcow2 size=42949672960 encryption=off cluster_size=65536
# ls -l
合計 3282052
-rw-r--r--. 1 root root     262144  5月  5 19:16 2014 centos65.img

(2) 仮想マシンの起動とOSのインストール

 作成したディスクイメージを使用して仮想マシンを起動します。 起動時にはディスクイメージは空なので、CentOS 6.5のDVD(インストーラ)から起動するようにします。 インストーラではGUIが起動するので、VNC Viewerで接続できるようにします。 仮想マシンのメモリは1GB(1024MB)とします。

# /usr/libexec/qemu-kvm -hda /data/img/centos65.img \
> -cdrom /data/media/CentOS-6.5-x86_64-bin-DVD1.iso -vnc 192.168.0.90:0 -boot d -m 1024

 上記例でVNC Viewerで接続する際には、192.168.0.90:5900 を指定して接続します。 その後のOSインストールは通常通りの手順にて。

 qemu-kvmで仮想マシンを起動すると、フォアグラウンドで実行されるため、 プロンプトが占有されるため、運用上あまり使い勝手が良くありません。 QEMUで作成した仮想マシンをlibvirtで管理する方法は後述します。

libvirtで仮想マシンの作成

(1) 仮想マシンの起動

 libvirtで仮想マシンを作成する際には、事前にディスクイメージを作成する必要はありません。 以下の例では rhel65 という名前の仮想マシンを作成して、RHEL 6.5のDVD(インストーラ)を 起動するようにしています。 TeraTermから実行しているので「ディスプレイをオープンできません」というメッセージが 出力されています。この後個別にVNC Viewerを起動して接続します。

# virt-install --name rhel65 --vcpus 1 --ram 1024 \
> --disk path=/data/img/rhel65.img,size=40,sparse=true \
> --network network:default --graphics vnc --os-variant rhel6 \
> --cdrom /data/media/rhel-server-6.5-x86_64-dvd.iso

Starting install...
Creating storage file rhel65.img                                             |  40 GB     00:00
ドメインを作成中...                                                  |    0 B     00:00
ディスプレイをオープンできません:
Run 'virt-viewer --help' to see a full list of available command line options
Domain installation still in progress. You can reconnect to
the console to complete the installation process.

(2) VNCポートの確認

 仮想マシンを起動すると、GUI画面へ接続するためのVNCサーバが起動します。 VNCサーバがTCPの何番ポートでリッスンしているか確認します。 使用されるポートは仮想マシンが起動した順に、5900/tcp、5901/tcp、5902/tcp、・・・と 割り当てられるようです。

# netstat -tanp | grep kvm
tcp        0      0 192.168.0.90:5900           0.0.0.0:*                   LISTEN      18790/qemu-kvm

(3) TigerVNC Viewerで接続

 TigerVNC Viewerを起動し、VNCサーバがリッスンしているIPアドレスとポートで接続します。 [VNC server]欄に IPアドレス:ポート番号 をを入力し、[Connect]ボタンをクリックします。

 その後、ゲストOSのGUI画面が表示され、DVDのインストーラが起動していますので、 通常通りOSのインストールを行ってください。

QEMUで作成した仮想マシンをlibvirtにインポート

 QEMUで作成した仮想マシン centos65 をlibvirtで管理するためにインポートします。

# virt-install --connect=qemu:///system --import --name=centos65 \
> --ram=1024 --disk path=/data/img/centos65.img,device=disk,bus=virtio,format=qcow2 \
> --network=network:default --vnc --keymap=ja

Starting install...
ドメインを作成中...                                                  |    0 B     00:00
ディスプレイをオープンできません:
Run 'virt-viewer --help' to see a full list of available command line options
Domain creation completed. You can restart your domain by running:
  virsh --connect qemu:///system start centos65

 仮想マシンを一覧表示すると、インポートした仮想マシン centos65 が表示されます。 あとはlibvirtで作成した仮想マシンと同様に管理できます。

# virsh list --all
 Id    名前                         状態
----------------------------------------------------
 -     centos65                       シャットオフ
 12    rhel65                         実行中

#

プロフィール

らのっち

損害保険会社のIT企画部に勤務するSEです。OSSを勉強中です。

<所属>
日本PostgreSQLユーザ会とくしまOSS普及協議会

■■■ 当サイトは Internet Explorer 11 と Mozilla Firefox 43 で動作確認済みです。 ■■■