oVirt

oVirtは、仮想機械(VM)管理ソフトウェアである。管理対象サーバ数は、数台から数千台規模を想定している。このため、データセンターなどを主なターゲットとしている。
screenshot
現時点では、Webユーザインターフェース(WUI)ベースの単なるVMの管理ツールである。構成は、oVirt管理サーバ(WUIを提供する)と、oVirt管理下サーバ(oVirtホスト)の2つに分かれる。なお、VMの管理およびデータ収集は、oVirtホストで、libvirtおよびcollectdにより行う。そして、そのデータをoVirt管理サーバで統合的に管理する。なお、セキュリティの情報は、oVirt管理サーバがセキュリティ情報統合管理ソフトFreeIPAを使って管理している。大雑把なイメージは、以下の図のAdmin NodeとManaged Nodeというのがよいだろう。Admin NodeがRuby on Railsが走る管理サーバにあたる。Managed Nodeが、oVirtホストに当たる。
http://ovirt.org/install-instructions.html
oVirtホストは、Fedora9で作ると、最小60MB程度で作れるらしい。また、oVirtホストは、KVM前提となっている。このため、oVirtホストとして、Xenを動かすことは、現在出来ない。このため、oVirtホストとして、Xenパッケージが提供される必要がある。また、WUI側にもqemu(KVM)前提のコードが、ある(task-omaticなど)。これらの箇所を仮想機械非依存に書き換える必要がある。

なお、コード自体は、Ruby on Railsで書かれている。このため、開発速度が速いことが特徴である。このため、年単位で考えると、かなりの機能が提供されると思われる。
現在、アクセス制御の観点で言うと、管理権限者は、4階層に分かれており、ユーザ権限管理者、ハードウェア資源管理者、ドメイン操作権者、ドメイン監視権者の設定が行うことが出来る。この機能は、2008年4月24日に実装されている。ハードウェアリソースに関しては、CPU、メモリ、ハードディスク、ネットワーク、ゲストドメインを管理することが出来る。
http://git.et.redhat.com/?p=ovirt.git;a=commitdiff;h=717dfb2a52aecb3762526ac944f1b8843e85d543;hp=41b127f4bc4eb7f82522204e404e85378f24512d
なお、より詳細な使い方は以下を見るのがよい。
http://ovirt.org/docs/Using_oVirt/Managing-User-Permissions.html

RedHatサミット2008に伴うプレスリリースは以下である。
http://www.press.redhat.com/2008/06/18/more-on-red-hat%E2%80%99s-virtualization-news/
oVirtの実際の動作も以下のBrian Stevensの講演の1/3から1/2の辺りで見ることが出来る。
http://www.redhat.com/promo/summit/2008/

話は、ずれるが、Ruby on Railsの実装例としてみるにはなかなか楽しい。たとえば、Rubyとの接続にActiveLdapというパッケージを使っていたり、なかなか参考になる。
ソースコードはこちら
http://git.et.redhat.com/?p=ovirt.git