月曜日, 8月 10, 2009

RHEL 5.4 でKVM 入門編 (第1回、インストール)

[概要]
Red Hat Enterprise Linux 5.4 Beta版より、添付されたKVMのインストールについて説明しています。
CentOS6, RHEL6の方はこちらを、ubuntuの方はこちらをそれぞれご覧ください。

[詳細]
Red Hat Enterprise Linux 5.4 Beta版より、仮想化環境としてXenに加えて、KVM (Kernel-based Virtual Machine)が実装されました。
KVMはLinux kernelに2.6.20より標準で実装されている仮想化環境で、カーネルのモジュールとして動作します。
また、KVMはハイパーバイザとしてのみ働き、自身ではPCのエミュレートの機能は持っておらず、QEMUというエミュレータがKVMとやり取りを行って、バーチャルマシンを提供しています。KVMの使用については、Intel-VTかAMD-Vを実装したCPU必要です。

KVMはRHEL 5.3以前でもソース・コードのコンパイル、もしくは、ディストリビューション以外で提供されているパッケージをインストールすることで使用することはできましたのですが、Red Hat社がKVMへの主な出資者であるQumranet社がに買収し、KVMをメインの仮想化環境として扱うとしたことで、ディストリビューションに含まれました。

それでは、今回は一足早くRHEL 5.4のβ版を使用して、KVMの設定方法と簡単な操作方法を説明して行きたいと思います。

  1. RHEL 5.4のインストール
    KVMのインストールは、通常のOSのインストールの中で、KVMのパッケージを選択することで行います。
    OSインストールについては、KVMに関するポイントの部分を、中心にそのほかは、かいつまんで説明します。
    1. インストール番号の入力
      インストール番号を入力していないと、KVMのパッケージをインストール時に選択することが出来ません。

    2. パッケージの選択
      ソフトウェア選択のカスタマイズを"今すぐカスタマイズ"を選択して、KVMのパッケージを選択します。

  2. Kernelの切り替え
    インストール直後は下記のようにXenが起動するようになっていますので、KVMのために通常のカーネルに変更する必要があります。

    [root@vm-host03 ~]# uname -a
    Linux vm-host03 2.6.18-155.el5xen #1 SMP Fri Jun 19 17:14:49 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
    [root@vm-host03 ~]# lsmod | grep kvm
    [root@vm-host03 ~]# xm list
    Name ID Mem(MiB) VCPUs State Time(s)
    Domain-0 0 864 2 r----- 66.4
    [root@vm-host03 ~]#


    kvmを使用するために、"/boot/grub/grub.conf"を編集して、Xen用のカーネルから通常のカーネルに切り替えます。
    "defaul"値を、"0"から"1"に変更します。これで、次回からは通常のカーネルで起動します。

    [root@vm-host03 ~]# vi /boot/grub/grub.conf
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE: You have a /boot partition. This means that
    # all kernel and initrd paths are relative to /boot/, eg.
    # root (hd0,0)
    # kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
    # initrd /initrd-version.img
    #boot=/dev/sda
    default=1
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title Red Hat Enterprise Linux Server (2.6.18-155.el5xen)
    root (hd0,0)
    kernel /xen.gz-2.6.18-155.el5
    module /vmlinuz-2.6.18-155.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    module /initrd-2.6.18-155.el5xen.img
    title Red Hat Enterprise Linux Server-base (2.6.18-155.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-155.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    initrd /initrd-2.6.18-155.el5.img
  3. リブート
    変更を反映させるためにOSのリブートを行います。
  4. 動作確認
    念のため、動作カーネル、kvm関連モジュールの動作xenの不活性の確認を行います。

    • 動作しているカーネルのバージョン"2.6.18-155.el5"の末尾にxenの文字列がないことを確認します。

      [root@vm-host03 ~]# uname -a
      Linux vm-host03 2.6.18-155.el5 #1 SMP Fri Jun 19 17:06:31 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
    • KVM用カーネル・モジュールがロードされていることを確認します。

      [root@vm-host03 ~]# lsmod | grep kvm
      kvm_intel 85992 0
      kvm 222368 2 ksm,kvm_intel

      AMDのCPUでは、"kvm_intel"のかわりに"kvm_amd"がロードされます。

これでKVMを使用する準備が整いました。次回はバーチャルマシンの作成からOSのインストールまでを説明します。

0 件のコメント: