CentOS/KVMによるサーバ仮想化 +



はじめに +

KVM(Kernel-based Virtual Machine)はRedHat5.4(CentOS 5.4)で実装された機能で、 1台のマシン上で複数のOSを起動する事が出来ます。

KVMはCPUの仮想化支援機構を利用してLinuxやwindowsを動作させるさせる事が可能ですが 動作には仮想化支援機構に対応したCPU(Intel-VT,AMD-V)が必要になります。

インストール環境 +

  • OS
    • CentOS 5.5 (kernel 2.6.18-194.3.1.el5 x86_64)
  • パッケージ
    • libvirt-0.6.3-33.el5
    • virt-viewer-0.0.2-3.el5
    • virt-manager-0.6.1-12.el5

動作条件 +

  • KVMの動作に必要な仮想化支援機構(Intel-VT、AMD-V)を確認します。
    cpuinfoで flagsとしてvmxがあれば動作可能です。
    # cat /proc/cpuinfo |grep vmx
    flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov 
    pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp lm  3dnowext
    3dnow up nonstop_tsc pni cx16 lahf_lm svm extapic cr8legacy 3dnowprefetch ts fid 
    vid ttp tm stc 100mhzsteps

BIOSの設定変更 +

  • BIOSの設定を変更してCPUの仮想化支援機構を有効にします。
    「HP ProLiant ML115 G5」の場合は以下の手順で実施します。
  1. サーバの電源をオンして、起動中に「F10」を押してBIOSメニューを開きます。
  2. 「Advancecd」タブを選択します
  3. 「CPU Configuration」を選択します
  4. 「Secure Virtual Machine Mode」を「Enable」へ変更します。
  5. 変更を保存してBIOSメニューを終了します。

インストール +

  • kvmのインストール
    # yum groupinstall kvm

自動起動の設定 +

  • chkconfigコマンドで自動起動をONにします
    # chkconfig libvirtd on
  • chkconfigコマンドで自動起動の確認をします。 LUNレベル3,4,5がonになっていれば問題ありません。
    # chkconfig --list libvirtd
    libvirtd        0:off   1:off   2:on    3:on    4:on    5:on    6:off
  • KVMを有効にするため再起動します。
    # shutdown -r now

準備 +

ブリッジインターフェース(br0)の作成 +

デフォルトの設定だと、仮想マシンは仮想NICを利用するため、外部とはNATで通信する事になります。
しかし、NAT接続はサーバ用途に向かないため、ブリッジインターフェースを作成して物理NICを利用可能にします。

  • eth0をコピーしてbr0の雛形を作成します。
    # cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0

  • br0 を編集します。
    # vi /etc/sysconfig/network-scripts/ifcfg-br0 
    
    DEVICE=br0
    TYPE=Bridge               #大文字、小文字に注意します
    BOOTPROTO=static
    IPADDR=192.168.11.50
    BROADCAST=192.168.11.255
    NETMASK=255.255.255.0
    NETWORK=192.168.11.0
    ONBOOT=yes

  • eth0を編集します。
    # vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    
    DEVICE=eth0
    TYPE=Ethernet
    HWADDR=D8:D3:85:FF:20:F4
    ONBOOT=yes
    BRIDGE=br0

  • ネットワークを再起動します。
    # /etc/init.d/network restart

  • ブリッジインターフェースの追加を確認します。
    # brctl show
    bridge name     bridge id               STP enabled     interfaces
    br0             8000.0e7818198363       no              eth0
    virbr0          8000.000000000000       yes

iptablesの設定 +

  • トラフィックがブリッジまで転送されるようiptablesを無効化します。
    # vi /etc/sysctl.conf
    
    net.bridge.bridge-nf-call-ip6tables = 0
    net.bridge.bridge-nf-call-iptables = 0
    net.bridge.bridge-nf-call-arptables = 0
  • 設定されたカーネルパラメータを sysctl で再ロードします。
    # sysctl -p /etc/sysctl.conf
    
    net.bridge.bridge-nf-call-ip6tables = 0
    net.bridge.bridge-nf-call-iptables = 0
    net.bridge.bridge-nf-call-arptables = 0
  • libvirtdをリロードします
    # /etc/init.d/libvirtd reload

ゲストOSの作成 +

仮想マシンマネージャの起動 +

  • Xwinodow上で下記コマンドを実行し、仮想マシンマネージャを起動します。
    # virt-manager

  • 仮想マシンマネージャが起動したら、新規ボタンを押して仮想マシンを作成していきます。
    kvm02.jpg

Virtuak Machine Creation +

  • 進むを選択します。
    kvm03.jpg

Virrtual Machine Name +

  • 仮想マシンのホスト名を入力します。
    kvm04.jpg

Virtual Machine Method +

  • 仮想化の方式は「Fully virtualized(完全仮想化)」を選択します。
  • CPUアーキテクチャーは「X86_64」を選択します。
  • ハイパーバイザーは「KVM」を選択します
    kvm05.jpg

Installation Method +

  • インストール方法を設定します。
    kvm07.jpg

Installation Media +

  • インストールメディアを選択します。
    kvm08.jpg

Storage +

  • ディスクイメージの保存先を設定します。
    kvm09.jpg

Network +

  • ネットワークは共有物理装置でブリッジインターフェースを選択します。
    kvm10.jpg

Memory and CPU Allocation +

  • メモリの容量とCPU数を選択します。
    kvm11.jpg

Finish Virtual Machine Creation +

  • 確認画面で問題なければ完了ボタンを押して仮想マシンを作成します。
    kvm12.jpg

OSインストール +

  • 仮想マシン作成後にOSインストール画面が起動するので、そのままOSをインストールします。
    kvm13.jpg

    kvm14.jpg

    kvm15.jpg

仮想マシンの確認 +

  • 仮想マシン作成後は仮想マシンマネージャで管理する事が出来ます。
    kvm16.jpg
このエントリーをはてなブックマークに追加
Last-modified: 2010-08-03 (火) 00:14:53 (569d)   最終更新のRSS