仮想サーバ構築 KVM bridge接続
仮想化サーバ環境であるKVMを導入する。
KVMはKernel-based Virtual Machineの略。Intel VTまたはAMD-VをサポートするCPU上で完全仮想化を実現する。
目的
仮想化によりホストサーバ上で複数サーバを稼動させる。
構築条件
構築機器
- 以下構成のPC上で構築
CPU Athlon64x2 3600+ Chipset AMD 690G メモリ 2GB
作成環境
OS | CentOS 6.0 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 |
手順記入ルール
- コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
- コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。
前準備
- CentOSインストール 実施
- yumリポジトリ設定 実施
KVMインストール
- グループリスト確認
# yum grouplist
Loaded plugins: fastestmirror, refresh-packagekit Setting up Group Process Loading mirror speeds from cached hostfile
:
仮想化 仮想化クライアント 仮想化ツール 仮想化プラットフォーム
:
- yumで仮想化のグループインストール実施
# yum groupinstall "仮想化" "仮想化クライアント" "仮想化ツール" "仮想化プラットフォーム"
Loaded plugins: fastestmirror, refresh-packagekit Loading mirror speeds from cached hostfile
:
========================================================================================== Package Arch Version Repository Size ========================================================================================== Installing: libguestfs x86_64 1:1.2.7-1.24.el6 base 805 k libvirt x86_64 0.8.1-27.el6_0.6 updates 847 k libvirt-client x86_64 0.8.1-27.el6_0.6 updates 1.9 M python-virtinst noarch 0.500.3-7.el6 base 460 k qemu-kvm x86_64 2:0.12.1.2-2.113.el6_0.8 updates 976 k virt-manager noarch 0.8.4-8.el6 base 1.0 M virt-top x86_64 1.0.4-3.1.el6 base 359 k virt-viewer x86_64 0.2.1-2.el6 base 68 k Installing for dependencies: augeas-libs x86_64 0.7.2-3.el6 base 289 k bridge-utils x86_64 1.2-9.el6 base 30 k btrfs-progs x86_64 0.19-11.el6 base 163 k
:(略)
Transaction Summary ========================================================================================== Install 59 Package(s) Upgrade 1 Package(s)
Total download size: 23 M
Is this ok [y/N]:y
:
Complete!
- 再起動
# reboot
★再起動実施
ゲスト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
- 以下のとおり修正
DEVICE="eth0" # NM_CONTROLLED="yes" ←コメントアウト ONBOOT=yes TYPE=Ethernet BOOTPROTO=none # IPADDR=192.168.0.20 ←コメントアウト # PREFIX=24 ←コメントアウト # GATEWAY=192.168.0.1 ←コメントアウト # DEFROUTE=yes ←コメントアウト # IPV4_FAILURE_FATAL=yes ←コメントアウト IPV6INIT=no # NAME="System eth0" ←コメントアウト # UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ←コメントアウト # DNS1=192.168.0.1 ←コメントアウト HWADDR=00:19:DB:88:74:4E BRIDGE=br0 ←追加
- ネットワーク再起動
# service network restart
インターフェース eth0 を終了中: [ OK ] ループバックインターフェースを終了中 [ 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 inet6 addr: fe80::219:dbff:fe88:744e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:34 errors:0 dropped:0 overruns:0 frame:0 TX packets:50 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2208 (2.1 KiB) TX bytes:7905 (7.7 KiB)
eth0 Link encap:Ethernet HWaddr 00:19:DB:88:74:4E inet6 addr: fe80::219:dbff:fe88:744e/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:2989 errors:0 dropped:0 overruns:0 frame:0 TX packets:434 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:285854 (279.1 KiB) TX bytes:63350 (61.8 KiB) Interrupt:25 Base address:0xc000
:
- 終了
# exit exit $
ゲストOSインストール
★ゲストOSとして「CentOS6.0」をraw形式 16GBにて作成する手順
(1)仮想マシンマネージャ
[gnome]
(2)ゲストOSインストール
- 「新規のVM」画面 ステップ5の内の1
→名前にホストOSのサーバ名「KVMguest」を設定
→オペレーティングシステムをどのようにインストールするかを選択で
「ローカルインストールのメディア(ISOイメージ、又はCDROM)」を選択
→「進む」をクリック - 「新規のVM」画面 ステップ5の内の2
→インストールメディアを探すで
「ローカルインストールのメディア(ISOイメージ、又はCDROM)」を選択
→DVDをセットしマウント( # mount /dev/sr0 )を実施
→オペレーティングシステムのタイプとバージョンを選択で
OSタイプ「Linux」
バージョン「Red Hat EnterPrise Linux 6」 ←※CentOS 6をインストールする場合の指定
→「進む」をクリック - 「新規のVM」画面 ステップ5の内の3
→メモリーとCPUを選択で
→メモリー(RAM):1024
CPU :1 を設定
→「進む」をクリック - 「新規のVM」画面 ステップ5の内の4
→この仮想マシン用のストレージを有効にするにチェックを入れる
→コンピュータのハードドライブにディスクイメージを作成するで
「16」GB設定
→すぐにディスク全体を割り当てるにチェックを入れる
→「進む」をクリック - 「新規のVM」画面 ステップ5の内の5
→設定内容を確認
→高度なオプションをクリック
「ホストデバイス eth0(ブリッジbr0)」を確認
→固定MACアドレスを設定にチェックがあることを確認
→Virtタイプ「kvm」、アーキテクチャー「x86_64」確認
→「完了」をクリック
★「仮想マシンは今作成中です」のダイヤログが表示
→通常のインストール画面になるので、そのまま 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
http://bo-biroku.cocolog-nifty.com/blog/2011/04/centos6scientfi.html