OpenStackで激変するシステム開発・運用 “抽象化”が実現する「究極の自動化」とは特集:OpenStack超入門(3)(2/3 ページ)

» 2014年12月12日 18時00分 公開
[中島倫明日本OpenStackユーザー会 会長/伊藤忠テクノソリューションズ株式会社]

OpenStackコンポーネントが担当する機能

 次にOpenStackを横(担当機能)に分割してみます。OpenStackは複数のソフトウェアコンポーネントが集合することで形成されています。これはコンポーネントごとに担当する抽象化の機能が異なっているためです。図2にOpenStackの基本機能部分を担当するコンポーネントの概要をまとめます。

ALT 図2  OpenStackの基本機能《クリックで拡大》

Nova

 いわゆるサーバーに関する機能を担当しています。「KVM」「Xen」といったOSS系から、商用の「VMware」「Hyper-V」も管理可能です。また仮想サーバーだけでなく、ベアメタルサーバーや「Docker」「LXC」などのコンテナ系技術を操作することも可能です。ベアメタルサーバー管理機能については、次の「Kilo」リリースで、「Ironic」というコンポーネントに分割される予定です。これにより、仮想サーバー/コンテナーの「Nova」、ベアメタルの「Ironic」と明確に役割が分割される予定です。

Neutron

 ネットワーク機能を担当します。作成したサーバーをどのようにネットワークに接続するかといった基本的なL2ネットワークから、ネットワーク間のルーティングを担当するL3機能が基本となります。その他にも、起動したサーバーにアドレスを払い出すDHCP機能、ロードバランサー機能、VPN機能、ファイアウォール機能など、多数の機能を備えます。多くのプラグインを備えており、Neutron上で定義した論理ネットワーク構成を、さまざまな実環境下へ構築することができます。

Cinder

 ストレージ機能を担当します。サーバーに対してブロックストレージ機能を提供する他、ブロックストレージのスナップショット、クローンといった一般的なストレージが備える機能をサポートしています。一般的にNovaが管理するディスクよりも、高速で高信頼なデータ保存領域を提供しています。

 このNova/Neutron/Cinderの3つは、特に多くのドライバーとプラグインを持ち、数多くのソフトウェア、製品に対応しています。Novaを例に縦の階層構造を図解すると、図3のようになります。

ALT 図3  NovaのAPI/DB/ドライバー

 APIが標準化された仮想サーバーの操作方法をユーザーへ提供し、そこで操作されて作られた論理的なインフラのデータが、Novaの持つDBへと格納されます。ドライバーはそのDBを見て、自身が担当するソフトウェアやハードウェアをどのように操作するかを判断して、実際のサーバー環境が構築されていきます。

 残りのコンポーネントと、ここに書ききれなかったコンポーネントを含めて以下にまとめました。なお、開発中のものも含めたコンポーネント一覧はこちらをご覧ください。

コンポーネント名 担当機能
Nova ハイパーバイザーやベアメタルサーバー、コンテナー制御
Neutron ネットワーク制御(L2、L3、LBaaS、VPN、FW)
Cinder ブロックストレージ制御とバックアップ機能
Glance OSイメージとスナップショット管理
Swift オブジェクトストレージ機能
Horizon Webベースダッシュボード
Keystone 統合認証機能
Ceilometer 統計情報の収集とトリガー発信機能
Heat オーケストレーション機能
Trove DBaaS機能。様々なデータベースをサービスとして利用可能にする
Sahara HadoopやSparkといったデータ処理機能を提供する
表1 「Juno」リリースにおけるOpenStackコンポーネント

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。