仮想サーバ構築 KVM bridge接続
仮想化サーバ環境であるKVMを導入する。
KVMはKernel-based Virtual Machineの略。Intel VTまたはAMD-VをサポートするCPU上で完全仮想化を実現する。
目的
仮想化によりホストサーバ上で複数サーバを稼動させる。
構築条件
構築機器
- 以下構成のPC上で構築
CPU Athlon64x2 3600+ Chipset AMD 690G メモリ 2GB
作成環境
OS | CentOS 5.6 64bit版 |
※動作CPUがIntel VT(インテルCPU)またはAMD-V(AMDCPU)をサポートしていること。
インテルのどのCPUがサポートしているかは以下URLにて確認
http://www.pc-koubou.jp/info/win7_vt.php
サーバ作成条件
ホストOS | サーバIP | 192.168.0.20/24 |
サーバMAC | 00:19:DB:88:74:4E | |
ホスト名 | KVMhost | |
user | hogehoge | |
userpasswd | hogehogepass | |
ゲストOS | サーバIP | 192.168.0.100/24 |
ホスト名 | KVMguest | |
user | hogehoge | |
userpasswd | hogehogepass |
手順記入ルール
- コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
- コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。
ホストOSインストール
- CentOSインストール 実施
★パッケージ選択は「仮想化(KVM) ホストOS」パターンとする。
→Gnome、Xwindow、Kvm以外は選択しない
その他は通常のCentOSインストールと同様
- yumリポジトリ設定 実施
ゲストOS接続用ネットワークブリッジ作成
※ゲストOSインストール前にやっておく事
- rootでログイン
$ su パスワード:
- ブリッジ「br0」の追加 ★大文字小文字に注意!
# vi /etc/sysconfig/network-scripts/ifcfg-br0
- 全面追加
# Bridge interface 0 DEVICE=br0 TYPE=Bridge ONBOOT=yes BOOTPROTO=static IPADDR=192.168.0.20 NETMASK=255.255.255.0 NETWORK=192.168.0.0 BROADCAST=192.168.0.255 DELAY=0
- ネットワークアダプタ「eth0」の修正
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 以下のとおり修正
# Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller DEVICE=eth0 # BOOTPROTO=static ←コメントアウト # BROADCAST=192.168.0.255 ←コメントアウト HWADDR=00:19:DB:88:74:4E # IPADDR=192.168.0.20 ←コメントアウト # NETMASK=255.255.255.0 ←コメントアウト # NETWORK=192.168.0.0 ←コメントアウト ONBOOT=yes BRIDGE=br0 ←追加
- 再ログイン
# su -
- ネットワーク再起動
# service network restart
インターフェース eth0 を終了中: bridge br0 does not exist! [ OK ] ループバックインターフェースを終了中 [ OK ] IPv4 パケット転送を無効化中: net.ipv4.ip_forward = 0 [ OK ] ループバックインターフェイスを呼び込み中 [ OK ] インターフェース eth0 を活性化中: [ OK ] インターフェース br0 を活性化中: [ OK ]
- 確認
# ifconfig
br0 Link encap:Ethernet HWaddr 00:19:DB:88:74:4E inet addr:192.168.0.20 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4074 errors:0 dropped:0 overruns:0 frame:0 TX packets:437 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1086189 (1.0 MiB) TX bytes:42391 (41.3 KiB)
eth0 Link encap:Ethernet HWaddr 00:19:DB:88:74:4E UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4710 errors:0 dropped:0 overruns:0 frame:0 TX packets:1090 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1200483 (1.1 MiB) TX bytes:135584 (132.4 KiB) Interrupt:225
:
- 終了
# exit
exit $
ゲストOSインストール
★ゲストOSとして「CentOS5.6」をraw形式 8GBにて作成する手順
(1)仮想マシンマネージャ
[gnome]
- 仮想マシンマネージャー起動
「アプリケーション」→「システムツール」→「仮想マシンマネージャー」
→仮想マシンマネージャーが立ち上がる。
- 仮想マシン立ち上げ
「ID:qemu」をクリック→「新規」
以下画面が立ち上げ
(2)ゲストOSインストール
- 「Virtual Machine Creation」画面
→「進む」をクリック - 「Virtual Machine Name」画面
→NameにホストOSのサーバ名「KVMguest」を設定し「進む」をクリック - 「Virtualization Method」画面
→「Fully virtualized」,CPUアーキテクチャ「x86_64」,ハイパーバイザー「kvm」確認後「進む」をクリック - 「Installation Method」画面
→「ローカルインストールのメディア(ISOイメージ、又はCDROM)」
OSタイプ「Linux」
OS種別「Red Hat EnterPrise Linux 5.4 or later」 ←※CentOSをインストールする場合の指定
選択後「進む」をクリック - 「Installation Media」画面
→「CD-ROMまたはDVD」
インストールメディアへのパス「CentOS_5.6_Final(/dev/sr0)」
選択後「進む」をクリック - 「ストレージ」画面
→「File(disk image)」選択,SIZE「8000」MB設定
進む」をクリック - 「ネットワーク」画面
→「共有物理装置」選択,装置「eth0(ブリッジ br0)」選択
選択後「進む」をクリック - 「メモリとCPU割り当て」画面
→メモリー:Max memory「512」,Startup memry「512」設定
CPU :Virtual CPUs「1」
設定後「進む」をクリック - 「仮想マシンの作成終了」画面
→設定情報確認後「完了」をクリック
★「仮想マシンを作成中」のダイヤログが表示 ※完了まで10分ぐらいかかる
→通常のインストール画面になるので、そのまま CentOSインストール を実施する
遭遇したトラブル
ホストOSが作成できない
問題:
仮想マネージャーで仮想ホストを作成出来ない
原因:
CPUに仮想化支援機能が無い。・・特にインテルのモバイルCPUは最新CPUでも仮想化未対応の場合があるので注意!
以下URLにて仮想化対応しているか確認すること
http://www.pc-koubou.jp/info/win7_vt.php
謝辞
テキスト作成にあたり、以下サイトを参考にさせて頂きました。ありがとうございます。
http://tipspc.blogspot.com/2009/09/qemu-kvm.html
http://www.asahi-net.or.jp/~aa4t-nngk/kvm.html#differentnetways