実践!仮想化ソフトウェア 2009
第5回 Linux KVMを使ってみよう
2009年11月20日
仮想化, KVM, Linux, Red Hat, CentOS, Intel VT, AMD-V
ファイル, ネットワーク, ブリッジ, Linux, イメージ, インストール
今回は,Linuxカーネルに組み込まれた仮想化機能であるLinux KVMを使った仮想化環境の構築方法を解説します。
Linux KVMとは
Linux KVM(以下KVM)は,Linuxカーネルの機能として組み込まれた仮想化環境です。KVMはCPUの持つ仮想化支援技術の仕組みを活用しているため,非常にシンプルなコードとなっています。また,仮想マシンとしての機能で不足している部分はQEMUを利用するなどして,仮想化環境を実現しています。
KVMはLinuxカーネルに組み込まれているので,通常のLinuxディストリビューションを利用するなどして環境を構築するのが一般的です。KVMに最も力を入れているのはレッドハットですが,Red Hat Enterprise Linux 5 Update 4からKVMを正式にサポートし,次期バージョンのRHEL6でもKVMを仮想化技術の中心に据えるようです。他のディストリビューションも順次KVMをサポートするようで,Linuxを使った仮想化環境の構築ではオーソドックスな存在になりそうです。
今回は,KVMが利用可能となったCentOS 5.4を使って環境を構築してみます。
KVMのアーキテクチャ
KVMはXenやHyper-Vなどと同じハイパーバイザー型に近いアーキテクチャをしていますが,完全に同じではありません。
Xenなどの場合,まずハイパーバイザーが起動してハードウェアを制御するようになった後,I/Oなどを受け持つ仮想マシン(Domain 0や親パーティション)が起動します。一方,KVMはLinuxカーネルの機能として組み込まれているので,Linuxカーネルが起動することでハイパーバイザーとしての機能も利用可能になります。
イメージ的には,縦方向に並んでいるか(XenやHyper-V)横並びか(KVM)の違いで,実際の利用にはあまり大きな違いはありませんが,仕組みとしては知っておくとよいでしょう。
KVMを実行するハードウェアの準備
前述の通り,KVMはCPUの仮想化支援技術を利用しているので,Inte VTやAMD-Vといった仮想化支援機能に対応したCPUと,それらの機能を有効にできるBIOSが必要となります。最近のサーバ機であればほとんど大丈夫ですが,古いマシンを再利用するときは仮想化支援技術がなかったり,BIOSで利用不可能にされていて有効にできないことがあるので注意が必要です。
デバイス関係では,KVMはLinuxカーネルに組み込まれているので,各種デバイスドライバはLinuxカーネル用に用意されたものを利用できます。Linuxが動作するハードウェアであれば,概ね利用可能であると考えて良いでしょう。
CentOS 5.4インストールをインストール
今回はCentOS 5.4(64ビット版)を使って環境を構築します。基本的に通常のLinuxのインストールと同様にインストール作業を進めます。
①インストールメディアの入手
CD版だと7枚に分割されているので,できればDVDのISOイメージを入手しましょう。CentOSのミラーサイトからBitTorrent用ファイルをダウンロードし,BitTorrentのネットワークからISOイメージを入手するなどしてください。ISOイメージはDVD-Rなどに焼いておきます。
②仮想化支援技術を有効化
インストールするマシンのBIOS設定画面で,仮想化支援技術を有効にします。
③Linuxインストール時にKVMを選択
インストールメディアを使って,Linuxのインストールを行います。インストールするソフトウェアパッケージの中に「仮想化」というグループがありますが,これは従来のXenをサポートするための選択肢です。インストールするパッケージを「今すぐにカスタマイズする」を選択し,「仮想化」の中の「KVM」のグループを選択します。「仮想化」を選択するとXen環境になってしまうので,選択しないようにします。
このようにOSインストール時にKVMを選択すれば,KVMは自動的に有効になります。


