ようへいの日々精進XP

よかろうもん

Debian squeeze の KVM に仮想マシンを構築する一部始終

要件

  • Debian squeeze に設定した KVM 上に同じ Debian squeeze な環境を構築してインストールしてベンチマークをとってみる
  • KVM を設定する物理ホストは前の記事で利用した ThinkPad X100e
  • 以下のように仮想サーバーを管理はリモートマシンの virt-manager から行う

 f:id:inokara:20130406095850p:plain

幾つかおさらい

環境

物理ホスト
作成する(予定)のゲスト環境
  • 1vCPU
  • 512MB メモリ
  • Debian 6.0.7(squeeze)
管理する為のリモートマシン

そもそも KVM ってなんだったっけ?

  • Linux カーネルが備える仮想化機能(ハイパーバイザ)
  • KVM を動作させるには Intel VT や AMD-V 等の仮想化支援機構を備えた x86 系 CPU が必要
  • ざっくり言うと、一部のハードウェアをエミューションする QEMU と CPU の演算処理が KVM を介して行われる(要は KVM はカーネルのモジュールで QEMU の処理を速くする為のもの)

 f:id:inokara:20130406065656p:plain

準備手順

物理ホスト

おまじない
aptitude update
aptitude sudo
CPU が仮想化支援機能に対応しているか、カーネルモジュールの確認

仮想化支援機能に対応しているか?(AMD の CPU の場合、flags に svm があればオッケー)

grep --color svm /proc/cpuinfo 

f:id:inokara:20130406072053p:plain
どうやら、対応しているようですな。

カーネルモジュールがロードされているか?

lsmod | grep kvm
kvm_amd                31878  0 
kvm                   215455  1 kvm_amd

どうやら、ロードされているようですな...CPU が仮想化支援機能に対応していても BIOS でその機能が有効になっていない場合にはカーネルモジュールは kvm のみロードされた状態となり、ハイパーバイザーは QEMU しか利用することが出来ない。

KVM 環境のインストール
aptitude install kvm libvert-bin bridge-utils virt-manager
root 以外のユーザーで KVM を弄る為のおまじない
adduser ${user} libvirt
インストールに利用するインストールイメージの用意
cd /var/lib/libvirt/images
wget http://cdimage.debian.org/debian-cd/6.0.7/amd64/iso-cd/debian-6.0.7-amd64-netinst.iso
ブリッジインターフェースの設定

/etc/network/interface を修正

auto lo
iface lo inet loopback
auto br0 ←追記
allow-hotplug eth0
#iface eth0 inet dhcp ←コメントアウト
iface br0 inet dhcp
bridge_ports eth0 ←追記

管理する為のリモートマシン

virt-manager のインストール
sudo apt-get install virt-manager

仮想環境構築手順

管理用マシンからの接続

  • [システム]→[仮想マシンマネージャー]を選択して[仮想マシンマネージャー]を起動
  • [接続を追加]を選択
  • [ハイパーバイザー]は[QEMU/KVM]を選択
  • [リモートホストに接続]にチェック
  • [メソッド]は[SSH]を選択
  • [ユーザー名]には物理ホストに ssh でログインするユーザー名
  • [ホスト名]には物理ホストの IP アドレスを設定し[接続]をクリック

 f:id:inokara:20130406073609p:plain

仮想マシンの作成

[新しい仮想マシンの作成]をクリックして開始する。

[名前]と[ローカルのインストールメディア]をチェックして[進む]をクリック
f:id:inokara:20130406094144p:plain

[ISO イメージを使用]にチェックをして[参照]をクリック
f:id:inokara:20130406094152p:plain

あらかじめ wget にて取得しておいた iso を指定し、[ボリュームを選択]をクリック
f:id:inokara:20130406094203p:plain

仮想マシンの OS の種類とバージョンを指定して[進む]をクリック
f:id:inokara:20130406094230p:plain

  • OS の種類は Linux
  • バージョンは Debian Squeeze

[この仮想マシンにストレージデバイスを割り当てます。]にチェックし、適宜、容量を割り当てる
f:id:inokara:20130406094937p:plain

  • [今すぐディスク全体を割り当てる]にもチェック
  • [進む]をクリック

[詳細オプション]にて
f:id:inokara:20130406094246p:plain

  • [共有デバイス名を指定]を選択
  • [ブリッジ名]に br0 を入力
  • [固定 MAC アドレスを指定]をチェック

[完了] をクリックすると仮想マシンが起動し、馴染みのインストーラーでインストールを開始する

ベンチマーク

  • OS のインストール中に物理ホストごと落ちてしまう現象が発生
  • Debian 以外の他の OS でも同じ現象なので物理ホストに何らかの原因がありあそうなので引き続き、調査

まとめ

  • KVM を初めてまともに触った
  • Citrix の XenServer と比較すると多少ハードルが高い感じだが、仮想マシンを作成するステップには違和感は感じなかった
  • とは言え、物理ホストごと落ちてしまう現象に関しては引き続き調査したい