KVM/bridge接続

Last-modified: 2011-11-23 (水) 16:58:25
最終更新:2011-11-23 (水) 16:58:25
アクセス数(合計):?
利用者; ? アクセス数(本日):? アクセス数(昨日):?

仮想サーバ構築 KVM bridge接続

仮想化サーバ環境であるKVMを導入する。
KVMはKernel-based Virtual Machineの略。Intel VTまたはAMD-VをサポートするCPU上で完全仮想化を実現する。


目的

仮想化によりホストサーバ上で複数サーバを稼動させる。

構築条件

構築機器

  • 以下構成のPC上で構築
    CPUAthlon64x2 3600+
    ChipsetAMD 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サーバIP192.168.0.20/24
サーバMAC00:19:DB:88:74:4E
ホスト名KVMhost
user   hogehoge
userpasswdhogehogepass
ゲストOSサーバIP192.168.0.100/24
ホスト名KVMguest
user   hogehoge
userpasswdhogehogepass

手順記入ルール

  • コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
  • コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。

前準備

  1. CentOSインストール 実施
  2. 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]

  • 仮想マシンマネージャー起動
    「アプリケーション」→「システムツール」→「仮想マシンマネージャー」
    kvm-01.jpg
  • 仮想マシンマネージャーが立ち上がる。
    kvm-02.jpg
  • 仮想マシン立ち上げ
    「localhost(qemu)」を右クリック→「新規」
    以下画面が立ち上げ
    kvm-03.jpg

(2)ゲストOSインストール

  1. 「新規のVM」画面 ステップ5の内の1
    →名前にホストOSのサーバ名「KVMguest」を設定
    →オペレーティングシステムをどのようにインストールするかを選択で
     「ローカルインストールのメディア(ISOイメージ、又はCDROM)」を選択
    →「進む」をクリック
  2. 「新規のVM」画面 ステップ5の内の2
    →インストールメディアを探すで
     「ローカルインストールのメディア(ISOイメージ、又はCDROM)」を選択
    →DVDをセットしマウント( # mount /dev/sr0 )を実施
    →オペレーティングシステムのタイプとバージョンを選択で
     OSタイプ「Linux」
     バージョン「Red Hat EnterPrise Linux 6」 ←※CentOS 6をインストールする場合の指定
    →「進む」をクリック
  3. 「新規のVM」画面 ステップ5の内の3
    →メモリーとCPUを選択で
    →メモリー(RAM):1024
     CPU  :1     を設定
    →「進む」をクリック
  4. 「新規のVM」画面 ステップ5の内の4
    →この仮想マシン用のストレージを有効にするにチェックを入れる
    →コンピュータのハードドライブにディスクイメージを作成するで
     「16」GB設定
    →すぐにディスク全体を割り当てるにチェックを入れる
    →「進む」をクリック
  5. 「新規の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