2012年2月28日火曜日

オープンソース仮想化管理ソリューション oVirt 3.0 を使ってみました

こんにちは、OSSテクノロジーセンターの原です。

Red Hat Enterprise Virtualization 3.0 の発表及びオープンソース化されたのは記憶に新しいですが、そのアップストリームとなる oVirt も1月末にメジャーリリースされています。

今回はこの oVirt をつかってみました。

oVirt ってなんぞ? という方は公式サイトと、Red Hat 社の RHEV のページを見ていただければと思います。

RHEL に対する Fedora の立ち位置と、RHEV に対する oVirt という構図の理解でだいたい良いかと思います。

…と言っても現行のバージョンの oVirt は、RHEV のアップストリームというよりも、RHEV からベースコードをかなり持ってきた形となっているようですが。

もともと RHEV は Qumranet 社の Solid ICE ベースで、oVirt はまた全然別のプロジェクトでした。

RHEV 2.x はその流れを引き継いでいたので、RHEV Manager は Red Hat の製品でありながら Windows Server 上で動く .Net のアプリケーションで libvirt にも非対応でしたし、oVirt はもともと Ruby on Rails での実装でしたが、この度晴れて源流を同じとするプロジェクトになったと言う経緯があります。

つい前置きが長くなってなってしまいましたが、導入方法を見ていきましょう。最低用意すべきものは下記です。

  • 管理用サーバ (Fedora16 x86_64: 物理・仮想問わず、メモリは4GB程度)
  • 仮想化ホスト用サーバ (Fedora16 x86_64: 物理でかつIntel VT / AMD-V が有効であること)
  • クライアント (RHEL, Fedora 等で、Mozilla Firefox 及び spice-xpi パッケージがインストールされてること)

まずは oVirt Engine(Manager) の導入方法です。

ざっくり言ってしまうと oVirt Engine は、要は RHEV-M 相当(rhevm-webadmin-portal) の機能を提供します。

多分現時点で一番役に立つ情報(推奨要件や、ディレクトリサービス連携など)は、 Red Hat の公式ドキュメントです。細かいマシンスペック要件や手順についてはこちらを参照していただければ良いかと思います。

また、 RHEV のドキュメントを参考にする際は、基本的に rhevm-* コマンドを engine-* コマンドに読み替えていただければと思います。

  1. Fedora 16 x86_64 を minimal インストールします
  2. ネットワークの設定を行います
  3. # systemctl stop NetworkManager.service
    # systemctl disable NetworkManager.service
    # service network start
    # chkconfig network on
    
  4. システムアップデートを行います
  5. # yum clean all; yum update -y
    # reboot (必要に応じて)
    
  6. oVirt リポジトリを追加します
  7. # yum install -y wget
    # wget http://www.ovirt.org/releases/stable/fedora/16/ovirt-engine.repo -P /etc/yum.repos.d/
    
  8. oVirt Engine をインストールします
  9. # yum install -y ovirt-engine
    
  10. setup スクリプトを実行します
  11. # export LANG=en_US.UTF-8
    # engine-setup
    

    ちなみに、engine-setup スクリプトは rhevm-setup スクリプトと同じく、Locale を en_US.UTF-8 にしておく必要があるのと、メモリが少なすぎると(具体的には1GBなど)インストーラの途中で却下されてしまいます。

    本来すべきではありませんが、いかんともし難い理由でメモリが確保できない場合は、/usr/bin/engine-setup の 2310行目付近、availableMemory に入ってくる値に有効な数値を代入してあげる必要があります。

  12. NFS の設定を手直しします
  13. /etc/sysconfig/nfs に追記:
    NFS4_SUPPORT="no"
    
    # systemctl restart nfs-server.service
    

以上で Engine 側は完了です。oVirt Engine はたった数コマンド打つだけでインストールが完了します。



次は Node(Hypervisor) の手順です。

  1. Engine と同じ手順で4番まで Fedora をセットアップします
  2. bridge-utils をインストールします
  3. # yum install -y bridge-utils
    

以上で Node 側も完了です、というかほぼ oVirt のリポジトリを追加するだけの作業です。



Engine と Node のセットアップが完了したら、Web ブラウザで、Engine の 8080 ポートにアクセスし、『Administrator Portal (no SSL)』を選択します。

oVirt にログインします。ユーザ名は『admin』、パスワードは engine-setup を実行した際に入力したものを入力します。

Browser XXXXXX version XX is currently not supported. と表示されるのはご愛嬌、Mozilla Firefox 10 と 3.6、Google Chrome 17、Internet Explorer 7 で試してみましたが、いずれも同じく not supported. と表示されました。。

初期状態では下記の様な画面になっているはずです。

まずは Node を追加しましょう。『Host』タブをクリックし、『New』を選択します。

ホストの情報を入力したら OK をクリックします。

ちなみに、『Power Management』を有効にするためには IPMI ボードや、HP 社製サーバの iLo や Dell 社製の Drac5 等が必要です。『Power Management』を有効にすると、自動負荷分散や、クラスタ内の暇な物理 Node を自動でシャットダウンできるようにしてくれる『Power Saver』の機能が利用できます。

また、Node 追加のプロセスは、Engine 側から Node にログインし、必要パッケージを yum install し、仮想ブリッジを作成するプロセス等々(全て自動で行われます)が含まれ、非常に時間がかかりますので注意してください。

追加し終わったら、『Active』します。

『Clusters』 タブをクリックし、『Logical Networks』を選択します、仮想マシンの画面を取ってくるためのネットワークを選択し『Set as Display』でDisplay Role を付与します。

この『Set as Display』をしておかないと、仮想マシンの画面を取ってくることができないので注意してください。

次に、『Storage』タブでデータ用、ISO用のストレージを接続し、『Data Centers』タブの『Storage』でアクティベートしたらほぼ準備完了です。

あとは ISO イメージをアップロードし、ゲストOS を作成し、Run Once で起動してみてください。

ちなみに ISO イメージのアップロードは Engine サーバで下記のコマンドを利用することによりアップロード可能です。

# engine-iso-uploader -i <ISO Storage Domain Name> upload <ISO FIle>

駆け足になりましたが、このような非常にシンプルな流れで oVirt を導入することが可能です。

oVirt はまだいくつか制約(例えば RHEV と違って Linux の Firefox でしか画面を取れない)がありますが、仮想化管理ソリューションとして VMware の vCenter Server や MS の SCVMM 等と肩を並べる RHEV のほとんどの機能を無償で利用できるのは大きな魅力です。

また、現時点では RHEV と殆ど機能的もに差異がないようにも見えますが、アップストリームと言う位置付ですので、今後の RHEV のベースとなる新機能も続々と追加されていくかと思います。そういった意味で、これからが非常に楽しみなプロダクトですね。

RHEV をすでに利用していて次の新機能に興味がある、自宅に RHEV 導入したいけど個人でライセンス買うの辛いよ、という方だけでなく、KVMの管理ソリューションに興味がある方は是非キャッチアップしてみてはいかがでしょうか。

今回は殆どさわりの部分しか触れられなかったので、細かい tips や RHEV との差異の話はまた別の機会に。

ではでは。

0 件のコメント:

コメントを投稿