KVMで仮想環境の構築

Ubuntuにkvmを導入して仮想環境を構築します。ホストOSでのネットワークの設定やゲストOSのインストールの方法をまとめます。

スポンサーリンク




CPUがKVMに対応しているかの調査

KVMは仮想化拡張機能に依存します。互換性があるかどうかを調べるために、次のコマンドを実行します。

cat /proc/cpuinfo |grep svm

実行結果が次のようになっていればKVMに対応しています。何も表示されない場合は対応していない事になります。

flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch osvw skinit lbrv svm_lock nrip_save
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch osvw skinit lbrv svm_lock nrip_save

インストールするパッケージについて

下記コマンドで kvm パッケージをインストールします。インストール時に依存関係のあるパッケージも同時にインストールされます。

sudo apt-get install kvm

依存パッケージ

bridge-utils libaio1 qemu-common qemu-kvm seabios vgabios

仮想ディスクイメージの作成

次の内容でイメージを作成します。

  • ファイル名 : vm-data01.img
  • 仮想ディスク容量 : 20GB

実行するコマンド

qemu-img create -f qcow2 /var/vm_data/vm-data01.img 20GB

Ubuntuインストールディスクイメージの取得

インストールディスクのISOイメージを下記サイトから取得します。

  • 取得する場所 : http://www.ubuntu.com/download/server/download
  • ISOイメージ : ubuntu-11.04-server-i386.iso

ゲストOSのインストール

下記のスペックでインストールする作業を行います。

  • 使用するメモリ容量 : 256MB
  • 起動に使用するISOイメージ : ubuntu-11.04-server-i386.iso
  • インストール先の仮想ディスクイメージ : vm-data01.img

下記のコマンドで実行したあとVNCビューアでアクセスしインストールします。

sudo kvm -m 256 -cdrom ubuntu-11.04-server-i386.iso -hda /var/vm_data/vm-data01.img -boot d -vnc :0

ネットワークの設定

ホストOSでのブリッジ設定

実施する内容は次のとおりです。

  1. eth0をプロミスキャスモードにする
  2. br0という名前でイーサネットブリッジを作成する
  3. eth0をbr0ブリッジのポートにする
  4. br0ブリッジをリンクアップさせる
  5. br0にネットワーク設定を加えます

実行するコマンド

ifconfig eth0 0.0.0.0 promisc up
brctl addbr br0
brctl addif br0 eth0
ifconfig br0 up
ifconfig br0 192.168.0.10 netmask 255.255.255.0
route add default gw 192.168.0.254

ゲストOSの起動とネットワーク設定

次のコマンドでゲストOSを起動します。先に作成したvmのイメージをコピーしvm-data02.imgを作成後2台の仮想ゲストを起動します。起動後はvncビューアでアクセスしネットワークの設定を行います。

kvm -hda /var/vm_data/vm-data01.img -boot c -m 384 -curses -net nic,macaddr=52:54:00:12:34:56 -net tap,ifname=tap0,script=/etc/kvm/kvm-ifup -vnc :0
kvm -hda /var/vm_data/vm-data02.img -boot c -m 384 -curses -net nic,macaddr=52:54:00:12:34:57 -net tap,ifname=tap1,script=/etc/kvm/kvm-ifup -vnc :1

各ゲストOSでのネットワーク設定

各ゲストOSでネットワークの設定を行います。IPアドレスとゲートウェイを設定します。

ifconfig eth0 192.168.0.xxx netmask 255.255.255.0
route add default gw 192.168.0.254

ホストOSでの設定確認

次のコマンドを実行し設定の確認をします。ブリッジbr0に、eth1、tap0、tap1がインターフェイスとして加えられていることが分かります。

sudo brctl show
bridge name     bridge id          STP enabled    interfaces
br0             8000.007d0b80c01e  no             eth1
                                                  tap0
                                                  tap1

ホストOSでのネットワーク設定について

上記手順でネットワークの確認ができれば次に設定ファイルに設定を記載します。設定ファイルは「/etc/network/interfaces」です。ファイルに次の設定を記述します。

iface eth0 inet manual

auto br0
iface br0 inet static

address   192.168.11.6
network   192.168.11.0
gateway   192.168.11.1
broadcast 192.168.11.255
netmask   255.255.255.0

pre-up    ifconfig eth0 down
pre-up    ifconfig eth0 0.0.0.0 promisc up
pre-up    brctl addbr br0
pre-up    brctl addif br0 eth0
pre-up    ifconfig eth0 up
post-down ifconfig eth0 down
post-down brctl delif br0 eth0
スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする