アナウンス後わずか2カ月でLinux Kernelにマージされたことで一躍注目を浴びることになった仮想化技術「KVM」。しかし、その具体的な仕組みや使用方法となると、意外と知られていないのではないでしょうか。この連載ではそんなKVMについて紹介します(編集部)
前回「Linux標準の仮想化技術『KVM』の仕組み」では、、KVM(Kernel-based Virtual Machine)の概要について説明しました。今回はそれを踏まえて、基本的な使い方を説明します。KVMはGUIツールで操作することもできますが、今回は基本を押さえるため、すべてコマンドラインで行ってみましょう。
実際にKVMを使う場合にはGUIツールを使うことが想定されますが、コマンドラインでの操作を押さえておけば、GUIツールの裏側で実際に何をやっているのかを理解できるかと思います。
今回の話の流れは以下のとおりです。
前回お話ししたとおり、Intel VTもしくは、AMD-Vをサポートしているx86/x86_64アーキテクチャのCPUを搭載したマシンが必要です(注1)。筆者は、今回HP ProLiant ML115(CPUはAMD Dual-Core Opteron Processor 1210)を使用しました。
注1:KVMはIBMのppcやs390xといったアーキテクチャもサポートしていますが、これらのマシンを個人で所有したり、あるいは仕事でも自由に使える環境にある人は少ないと思われるので、ここでは対象外とします。
今回はホスト用のOSには、2月14日にリリースされたDebian GNU/Linux Lennyを用います。筆者の環境ではx86_64用の名刺型CDに書き込めるサイズのイメージファイルを利用しました。
ホスト用OSのインストールは、通常のインストール手順のとおりです。Debianのインストール手順について分からない場合は、Debian JPのサイトなどを参考にしてください。
今回、「ソフトウェアの選択とインストール」では、何も選択しない最小構成でインストールしました。インストール後、パッケージの導入を行います。X Window Systemは、今回は特に必要ありません。ただし、KVMをスタンドアロンで使うときや、ゲストOSのインストール時、また使用するゲストOSによっては必要になります(注2)。
注2:インストーラがVGA出力を必要としている場合(注3)や、ゲストOSとしてWindowsを使う場合など。
注3:今回、筆者の環境(ProLiant ML115)ではビデオカードのメモリが小さく、Xはデフォルトでは起動しません。Debian InstallerがVGA出力を必要としていたので、リモートの作業用環境をXサーバとし、SSH経由でqemuのウィンドウを転送、出力させました。
使用している機器にCPUの仮想化支援機能があるかどうか分からない場合は、/proc/cpuinfoを見てみるとよいでしょう。Intel VTの場合はvmxが、AMD-Vの場合はsvmがあるか否かが1つの判断基準となります。
|
|
Intel VTの場合 |
|
|
AMD-Vの場合 |
今回追加で導入するパッケージは、「kvm」と「bridge-utils」のみです。
# apt-get install kvm bridge-utils |
インストール後、kvmを実行するユーザーをkvmグループのメンバーにします。
# adduser user kvm |
kvmグループに所属させたユーザー(今回の場合はuser)でadduserを実行した場合、そのセッション中はkvmグループには所属しないため、ログインし直す必要があります。またkvmパッケージを導入した直後は、/dev/kvmファイルのグループはrootになっています。ホストOSを再起動すると、次回以降はkvmグループに変わるので、上記手順が終わった段階で、一度ホストOSを再起動します。
まずはゲストOSのインストール用の仮想ディスクイメージを用意します。これにはqcow2というフォーマットを使用します。qcow2および旧フォーマットのqcowは、割り当てるサイズではなく、実際に使用するサイズでディスクイメージファイルを作成するので、ディスクスペースを節約できます。
$ kvm-img create -f qcow2 sid.img 4GB |
今回は、4GBのディスクイメージで、sid.imgというファイル名で作成します。下記のとおり、容量4GBのファイルではなく、約29KBのサイズにしかならないことが分かります(注4)。
次に、CD-ROMドライブにLennyのインストールCDを挿入し、
$ kvm -hda sid.img -cdrom /dev/cdrom -boot d -m 384 -monitor stdio |
すると、画面1のようにDebian Installerの画面が表示されます。
なお、実際にkvmが有効になっているかどうかを判断するには、まずホストOSでのカーネルモジュールがロードされているか、そしてQEMU Monitorでkvm supportが有効になっているかを見ます。
|
|
Intel VTの場合 |
|
|
AMD-Vの場合 |
QEMU Monitorでの確認方法は、画面1のようにQEMUのコンソールが表示された状態で、Alt+2を押します。そうすると、"(qemu)"というプロンプトが表示されるので、info kvmと入力します。kvm support: enabledと表示されれば、kvmが有効になっていることが分かります。
(qemu) info kvm |
今回はsidをインストールするので、画面1のDebian Installerの画面では“Advanced options”→“Expert install”を選択し、“インストーラミラーの選択”には“unstable(不安定版)”を選択します。
それ以外は、通常の物理ハードウェアに直接インストールする方法と同じです。ですので、本手順については省略します。なお、筆者の環境では“ソフトウェアの選択”では何も選択せず、最小構成でインストールにしました。
注4:Debianの場合はkvm-img、kvmコマンドを使用しますが、qemu-img、qemu-kvmコマンドを使用するディストリビューションもあります。ほかの環境で行う場合は、適宜読み替えてください。
Copyright © ITmedia, Inc. All Rights Reserved.