仮想化環境KVMのシステム管理、監視

2010年12月15日(水)
古賀 政純

KVMホストOS(Ubuntu 10.10)側の作業

Ubuntuに対して、rootアカウントで作業できるようにしておきます。セキュリティの観点からはsudoを利用するのが一般的ですが、ここではテスト環境を想定し、rootアカウントで作業を行います。

Ubuntuのインストール後にrootアカウントでログインできるようにするためには、まずは一般ユーザーでログインし、sudo su -を入力します。rootアカウントになったら、passwdコマンドを使ってrootアカウントにパスワードを付与します。こうすることで、rootアカウントにパスワード付きでログインできるようになります。

testuser01>$ sudo su -
[sudo] password for testuser01:
# passwd 
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
#

KVM仮想マシンの作成

KVM仮想マシンのイメージ・ファイルを作成します。イメージ・ファイルはddコマンドで作成できます。KVMは、ddイメージ以外にも、スナップショットが可能なqcow2形式などを利用できますが、今回は、単純にddイメージを作成します。

ddイメージ・ファイルを/workに保管します。イメージ・ファイルは8Gバイトを想定します。仮想マシン上にUbuntu 10.10サーバー版をインストールするので、イメージ・ファイル名は、ubuntu10.10vm01.imgにします。

# df 
# mkdir /work
# cd /work/
# dd if=/dev/zero of=./ubuntu10.10vm01.img bs=1G count=8

Ubuntu 10.10サーバー版のCD-ROMからインストールを行いますので、ホストOSの物理DVD-ROMドライブのドライブ名を確認 します。

# ls -l /dev/dvd 
lrwxrwxrwx 1 root root 3 2010-12-02 10:29 /dev/dvd -> sr0

ホストOSの物理DVD-ROMドライブに、仮想マシン用の物理CD-ROMメディアを挿入し、正常にマウントできるかを確認しておきます。

# mount /dev/sr0 /mnt/
# df 
# umount /mnt 

KVMホストOS側で、KVMを使って仮想マシンのインストーラを起動します。Ubuntuにはkvmコマンドが用意されています。これを使うことで、KVM仮想マシンの構築や画面表示などが可能です。

# kvm -hda /work/ubuntu10.10vm01.img \
-cdrom /dev/sr0 \
-boot d \
-m 512 \
-vnc 192.168.1.214:1(実際には1行で入力)

今回kvmコマンドに指定したオプションの意味は、それぞれ以下の通りです。

オプション 動作
-hda /a/b/c/d.img /a/b/c/d.imgファイルに仮想マシン・イメージを作成する
-cdrom /dev/sr0 ホストOSの物理DVDドライブ/dev/sr0を読み込む
-boot d -cdromオプションで与えたメディアからブートする(上記では物理DVDドライブからブート)
-m 512 KVMの仮想マシンに512MBのメモリーを割り当てる
-vnc 192.168.1.214:1 リモートのVNCクライアントからの接続を許可する


上記のコマンドを実行すると、ホストOS(IPアドレスは192.168.1.214)に対して、リモートのVNCクライアントから5901番ポートでアクセスし、VNC経由で仮想マシンのインストーラのGUIを表示します。なお、-vnc 192.168.1.214:2と指定した場合は、5902番ポートでアクセスします。

物理CD-ROMメディアではなくisoイメージを指定することも可能です。以下がその例です。

# kvm -hda /work/ubuntu10.10vm01.img \
-cdrom /data/ubuntu-10.10-server-amd64.iso \
-boot d \
-m 512 \
-vnc 192.168.1.214:1(実際には1行で入力)

リモートのWindows PCなどにインストールしたVNCクライアントから5901番ポートでアクセスし、仮想マシンのインストーラが起動しているかどうか確認します。

図11: リモートのWindows PCにインストールしたフリー・ソフトのVNCクライアントから、UbuntuサーバーのKVMホストOSが提供する仮想マシンのインストーラ画面にアクセスしている様子(上図のVNCクライアント・ソフトは、Windows版のReal VNCビューワ) 。

図11: リモートのWindows PCにインストールしたフリー・ソフトのVNCクライアントから、UbuntuサーバーのKVMホストOSが提供する仮想マシンのインストーラ画面にアクセスしている様子(上図のVNCクライアント・ソフトは、Windows版のReal VNCビューワ) 。(クリックで拡大)

KVM仮想マシンの起動、操作

KVMホストOS上で、kvmコマンドを使い、インストールしたKVM仮想マシンを起動させます。

# kvm -hda /work/ubuntu10.10vm01.img \
-boot c \
-m 512 \
-net nic \
-net tap,script=/etc/qemu-ifup \
-vnc 192.168.1.214:1 (実際には1行で入力)

KVM仮想マシンは、VNC経由で操作できます。Ubuntu 10.10のサーバー版は、標準ではX Window Systemが搭載されていないので、仮想マシンが起動した後は、sshやVNC経由で操作することになります。

図12: リモートのWindows PCにインストールしたフリー・ソフトのVNCクライアントからKVM仮想マシンを操作している様子。日常の運用は、このVNCビューワなどで行う。

図12: リモートのWindows PCにインストールしたフリー・ソフトのVNCクライアントからKVM仮想マシンを操作している様子。日常の運用は、このVNCビューワなどで行う。(クリックで拡大)
日本ヒューレット・パッカード株式会社 プリセールス統括本部 ソリューションセンター OSS・Linux担当 シニアITスペシャリスト

兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師を担当。科学技術計算サーバーのSI経験も持つ。2005年、大手製造業向けLinuxサーバー提案で日本HP社長賞受賞。2006年、米国HPからLinux技術の伝道師に与えられる「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。日本HPプリセールスMVPを4度受賞。現在は、Linux、FreeBSD、Hadoop等のOSSを駆使したスケールアウト型サーバー基盤のプリセールスSE、技術検証、技術文書執筆を担当。日本HPのオープンソース・Linuxテクノロジーエバンジェリストとして講演活動も行っている。Red Hat Certified Engineer、Red Hat Certified Virtualization Administrator、Novell Certified Linux Professional、EXIN Cloud Computing Foundation Certificate、HP Accredited Systems Engineer Cloud Architect、Red Hat Certified System Administrator in Red Hat OpenStack、Cloudera Certified Administrator for Apache Hadoop認定技術者。HP公式ブログ執筆者。趣味はレーシングカートとビリヤード

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています