オープンソース

OSSのクラウド管理基盤〜OpenNebula〜

OpenNebulaは、クラウド管理基盤のソフトウェアです。同じくOSSのoVirtProxmox VEと同等の機能を提供しますが、OpenNebulaではマルチテナント環境の構築ができるという点が特徴です。この記事では、OpenNebulaでできることやoVirtと比較した特徴やおすすめの用途を紹介します。

目次

OpenNebulaとは

OpenNebulaとは

OpenNebulaとは、OpenNebula Systems社が開発を行うクラウド管理基盤のソフトウェアです。ハイパーバイザーとしてKVMやLXCを利用でき、GUIの管理画面、コマンドライン、XML-RPC APIを通じて仮想マシンやコンテナを管理することができます。

OpenNebulaはオープンソースのコミュニティ版と有償のエンタープライズ版が用意されています。コミュニティ版のライセンスはApache License 2.0で公開されています。基本的には、両者の機能に大きな差はありませんが、エンタープライズ版では、電話やメールによるサポート、OpenNebulaバージョンアップ時のアップグレードツール、定期的なバグ修正とマイナーな機能追加を含むメンテナンスリリースなどが提供されています。

OpenNebulaの特徴として、ユーザをグループとして管理ができ、グループごとに見えるリソースを分離できるため、マルチテナント環境の構築が可能です。各ユーザは原則として所属するグループ以外のリソースを見ることはできないため、組織内や外部へ仮想マシンを提供する際に複数のグループへ貸し出すことができます。

OpenNebulaの機能

以下では、OpenNebulaの主な機能について紹介します。

ユーザとグループ設定

OpenNebulaは、複数のユーザで利用することが可能で、ユーザはグループとして管理することができます。グループごとにリソース使用制限を設定することで、マルチテナント環境の構築も可能です。

ユーザは必ずいずれか1つのグループに必ず所属する必要があり、これをプライマリーグループと言います。さらに追加で別のグループに所属させることができ、これをセカンダリーグループと言います。各ユーザは原則として所属するグループ以外のリソースを見ることはできず、他のグループのメンバーがリソースを見られるようにするにはパーミッションの変更が必要です。

また、各グループにはグループ管理者ユーザを設定可能です。グループ管理者はそのグループ内のリソースの閲覧、操作を行うことができます。デフォルトの状態ではusersグループとoneadminグループが作成されており、プライマリーグループがoneadminのユーザは、全体の管理者としてすべてのリソースの閲覧、操作が可能です。なお、serveradminユーザもデフォルトで用意されていますが、これはOpenNebula側が利用するユーザであり、人間が使用することを意図したものではありません。

ユーザグループ設定画面

ユーザグループ設定画面

さらに、ユーザやグループにクォータを設定することで、ユーザやグループごとに使用するリソースの量の上限を設けることができます。

コンテキスト化機能

他の仮想基盤ソフトウェアと同様、OpenNebulaにも仮想マシン作成時に仮想基盤から渡した設定情報を利用する機能があります。OpenNebulaではこれをコンテキスト化機能(Contextualization)と呼んでいます。

OpenNebulaで仮想マシンを作成する際、「コンテキスト」として変数名とその値を設定します。仮想マシン起動時にコンテキストが引き渡され、仮想マシン側では渡されたコンテキストを読み込んで設定を行います。コンテキストを読み込んで設定を行うソフトウェアとしてはcloud-initがよく使われますが、OpenNebulaではOpenNebula Appsの利用が推奨されています。使いたいOSにOpenNebula Appsを組み込んだイメージが用意されている場合は利用をお勧めします。

仮想ネットワークやストレージの管理

OpenNebulaでは、仮想ネットワークやストレージの管理機能も備えています。仮想ネットワークを実現するための方法としては下記のものが利用可能です。

  • 物理ネットワークへのブリッジ
  • IEEE 802.1Q 方式のタグVLAN
  • VXLAN
  • Open vSwitch

ストレージとしては下記のものが利用可能です。

  • ローカルストレージ
  • NFS
  • Ceph

仮想ネットワーク設定画面

仮想ネットワーク設定画面

仮想マシンを作成する際は、イメージとテンプレートを用意しWeb管理画面から作成することができます。また、OpenNebula自体の機能にはルーティング、NAT、DNSサーバなどはありませんが、そのような機能を持つ仮想マシンを作るための、仮想ルータと呼ばれるイメージが提供されています。

スナップショットの取得

OpenNebulaでは、稼動中の仮想マシンのメモリ状態も含めたスナップショットを取得することができます。スナップショットからのリストアも管理画面上で行うことができます。

スナップショット取得画面

スナップショット取得画面

仮想マシンのバックアップ

OpenNebulaでは、rsyncやresticを使って外部に仮想マシンのバックアップを取ることができます。仮想マシンのバックアップは仮想マシンテンプレートとしてリストアでき、そのテンプレートから元のものと同様の仮想マシンを作成することができます。

バックアップデータストアの作成画面

バックアップデータストアの作成画面

ユーザ認証

デフォルトでは、core認証と呼ばれる、OpenNebulaが保持するユーザ情報を用いた認証方式が使われています。その他にLDAP認証や、コマンド操作での利用に適したSSH認証などが利用可能です。なおLDAP認証では、LDAP上のグループ情報に応じてOpenNebula上のどのグループに所属させるかを設定することができます。また、複数のLDAPサーバと連携することも可能です。

クラスタによるリソース管理

OpenNebulaでは、クラスタという単位でリソース群の管理が可能です。クラスタにはノード、データストア、仮想ネットワークを所属させることができます。仮想マシンのライブマイグレーションは、同一クラスタ内のノード間のみ可能で、ライブマイグレーションを行うにはクラスタ内の各ノードのハードウェアやソフトウェアの構成が同一である必要があります。データストアや仮想ネットワークは複数のクラスタに所属させることができますが、クラスタのノード上に作られた仮想マシンは、そのクラスタに所属するデータストア、仮想ネットワークしか使えません。

クラスタ設定画面

クラスタ設定画面

Virtual Data Center

OpenNebulaでは、リソースをVDC (Virtual Data Center) という単位で管理できます。VDCをクラスタを特定のグループに割り当てることで、ユーザが利用可能な範囲を制御できます。またクラスタのほか、仮想ネットワークやデータストアを割り当てることもできます。VDC機能を使用すると、グループによるマルチテナント環境を構築する際に、各テナントに割り振る物理リソースを制御することができます。

VDC設定画面

VDC設定画面

機器障害時に役立つ機能

OpenNebulaでは、基盤を管理するフロントエンドや仮想マシンを稼動させるノードの高可用性機能により、機器に障害が発生したときもサービスを継続して提供することができます。

他の仮想基盤ソフトウェアとの比較

以下では、OpenNebulaと同じくオープンソースのクラウド管理基盤であるoVirt、Proxmox VE と比較した結果をまとめます。

シンプルな構成での利用

冗長構成が不要な場合、OpenNebulaはフロントエンド1台とノード1台の2台構成から利用を開始できます。また、外部ストレージなしでもローカルストレージを利用して稼動させることが可能です。一方で、Proxmox VEの方がOpenNebulaより少ない構成で利用開始できるため、この点ではProxmox VEの方が手軽といえます。

冗長化した場合での利用

耐障害性を重視した冗長構成の場合、OpenNebulaの最小構成はフロントエンド3台とノード2台の5台構成が必要です。一方で、oVirtはノード2台で冗長化構成とすることが可能です。OpenNebulaとoVirtのどちらも冗長化された外部ストレージが別で必要ですが、構成台数をみるとoVirtの方が手軽といえます。

マルチテナントを利用

OpenNebulaは、ユーザやグループの管理機能やVDC機能が充実しており、この点ではoVirtやProxmox VEよりも優れています。社内の部署ごとや外部へ提供するサービスごとなど、マルチテナント対応の大規模構成を実現することができます。

ソフトウェアの開発サイクル

OpenNebulaは、2005年の1.0リリース以降現在に至るまで、欧州連合の研究プログラムなどの支援を受けながら、継続的に新バージョンがリリースされています。OpenNebulaではソフトウェアのアップデートを重要視しており、旧バージョンから新バージョンへの移行手順が整備されています。

oVirtは、主要スポンサーであったRed Hat社が2022年頃から開発から撤退した影響で、2023年以降は新バージョンのリリースが停滞していました。その後はコミュニティ主導で開発が継続されていますが、今後のリリース状況には不透明な部分が残ります。

Proxmox VEは、DebianOSベースで開発されているため3年周期でメジャーバージョンが変化します。仮想環境としては寿命が短いため、3年周期でのアップデートをどのように実施していくかということを検討して導入する必要があります。

OpenNebulaの利用用途

oVirt、Proxmox VEと比較した結果から分かる通り、OpenNebulaではマルチテナント構成が可能なため、「部署ごとや外部向けサービスごとに提供する仮想マシンを分離したい」といった用途に適しています。

一方で、冗長化に関わらず最小構成の台数は比較的多いため、この点ではストレージも含めて容易に増設できるハイパーコンバージド(HCI)構成が可能なoVirt、Proxmox VEには劣ります。

デージーネットの取り組み

デージーネットでは、OpenNebulaのインストール方法や詳しい設定方法を調査しました。調査した結果はOpenNebula調査報告書からご確認いただけます。OpenNebulaやoVirtなどを使用した統合的な分散仮想環境のシステム構築などを提案しています。また、今回紹介した仮想基盤の他に、オープンソースのProxmox VEも仮想基盤のソフトウェアとして紹介しています。利用面やサポート面などのお客様のご要望により、最適な仮想基盤ソフトウェアをご提案します。

デージーネットでシステムを構築したお客様には、導入後支援サービスとして、Open Smart Assistanceを提供しています。Open Smart Assistanceでは、ソフトウェア単体のサポートではなく、Linuxなどを含むシステム全体に対するサポートをしています。ソフトウェアにバグがあった場合には、回避方法の調査、コミュニティへの連絡による改善促進といったサポートを受けることができます。

関連情報

OpenNebula調査報告書

無料資料ダウンロード(OpenNebula)

OpenNebulaは、クラウド管理基盤のOSSです。ハイパーバイザーとしてKVMやLXCを利用でき、GUIの管理画面、コマンドライン、XML-RPC APIを通じて仮想マシンやコンテナを管理することができます。

oVirt〜VMwareに代わる仮想環境のOSS〜

OSS情報(oVirt)

oVirtとは、仮想環境を統合的に管理するためのOSSです。oVirtでは、KVMをハイパーバイザーとして利用し、複数サーバを使用した仮想環境や障害発生に備えたシステムを仮想環境に構築し管理することができます。

Proxmox VE〜OSSの仮想化プラットフォーム〜

OSS情報(Proxmox VE)

Debian Linuxベースの仮想化プラットフォームProxmox VEを紹介します。ISOイメージからハードウェアへインストールするだけで仮想環境を構築でき、LXCコンテナの管理も可能です。

サーバ仮想化とは?仮想基盤で使えるソフトウェアまとめ

OSS比較(仮想基盤)

大規模なシステムを構築する際、仮想化システムの導入が一般的になりつつあります。仮想基盤に利用できるソフトウェアを4つのカテゴリでご紹介し、それぞれを比較・解説します。

デモのお申込み

もっと使い方が知りたい方へ
phpIPAMの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。phpIPAMのデモをご希望の方は、下記よりお申込みいただけます。

デモをご希望の方

デモの申し込みイメージ

OSSのクラウド管理基盤〜OpenNebula〜の先頭へ