Tech Sketch Bucket of Technical Chips by TIS Inc.

OpenStack Havanaを構築してみる

Pocket

OpenStackはオープンソースのクラウド基盤ソフトウェアです。今回は2013年10月にリリースされた最新バージョンのHavanaを構築してみます。


OpenStackの概要

OpenStackはオープンソースのクラウド基盤ソフトウェアです。最近では、同様のクラウド基盤ソフトウェアである CloudStackEucalyptus と合わせて、クラウドOSという呼ばれ方をするようになりました。

OpenStackは2010年にRackSpace社とNASAが中心となりスタートしたプロジェクトで、現在は2012年9月に発足したOpenStack Foundationの運営のもとコミュニティによって開発が進められています。日本にもユーザーコミュニティがあり、 日本OpenStackユーザ会 が2010年10月から活動しています。

現在のOpenStackの最新バージョンは2013年10月にリリースされたHavanaです。OpenStack Havanaでは、課金情報を計測するためのリソース監視機能「Ceilometer」や、サーバーの運用管理を自動化するAWS CloudFormation互換のオーケストレーション機能「Heat」が追加されました。

OpenStackについては、Tech-Sketchでも以前に取り上げています。 OpenStackの勉強会をやってみた の記事で詳しく紹介していますのでご覧ください。

OpenStack Havanaのコンポーネント

OpenStackは複数のコンポーネントで構成されており、各コンポーネントが特定の機能を提供しています。利用目的に応じて必要な機能だけをインストールしたり、複数のサーバーに分割したりするなど、柔軟な構成をとることができます。

OpenStack Havanaで提供されているコンポーネントは以下の通りです。

コンポーネント  コンポーネントの機能
Horizon Webダッシュボード機能
Nova 仮想マシンインスタンスの管理機能
Neutron 仮想ネットワークを提供する機能
Swift オブジェクトストレージ機能
Cinder ブロックストレージ機能
Keystone 各コンポーネントを利用する際の認証機能
Glance 仮想マシンイメージの管理機能
Ceilometer 課金やスケーリングのためのリソース監視機能
Heat オーケストレーション機能



各コンポーネントの関係は以下の図のようなっています( http://docs.openstack.org/admin-guide-cloud/content/ch_getting-started-with-openstack.html より引用)。

openstack_havana_conceptual_arch.png

OpenStack Havanaを構築してみる

今回、OpenStack Havanaを構築する際に使用した環境は以下の通りです。

  • OS: CentOS 6.5 minimal
  • CPU: 2core
  • メモリ: 24GB
  • ディスク: 75GB
  • NIC: 1枚

仮想マシン上でもOpenStackを構築することは可能ですが、ハイパーバイザーがネストされるため、OpenStackのインスタンスを起動した際にパフォーマンスに問題が発生することがあります。

今回は、すべてのコンポーネントを1つのサーバにインストールするオールインワン構成でOpenStack Havanaを構築します。構築手順については こちらの記事 を参考にしています。OpenStackのインストールには、OpenStackのインストールツールである PackStack を利用します。PackStackを用いたインストール方法はいくつかありますが、今回はデフォルトのオールインワン構成を利用しています。PackStackの利用方法については こちらのページ が参考になります。

今回、作業はすべてrootユーザーで行っています。

インストール前の準備

OpenStack Havanaをインストールする前に、以下の設定を行います。

  • 固定IPアドレスの割り当て
  • DNS設定
  • NTP設定
  • プロキシ設定(必要なら)
    • プロキシを有効にする場合はOpenStackをインストールするサーバー自身をno_proxyに設定してください。
  • SELinuxの無効化

  • カーネルパラメーターの変更
    • OpenStackは、インスタンス間でのパケット送受信やフィルタリングなどをiptablesで制御しています。
      ブリッジ上でもiptablesが有効になるようにカーネルパラメーターを設定しておきます。

  • OpenStack Havanaの取得
    • 取得後のyum updateで、OpenStack用のカーネルがインストールされます。

最後に、カーネルの設定を切り替えるためにサーバーを再起動しておきます。

OpenStack Havanaのインストール

PackStackを実行し、OpenStack Havanaをインストールします。

  • PackStackの実行
    • PackStackをオールインワン構成で実行するには、オプションに--allinoneを指定します。

  • ネットワークブリッジの設定(固定IPを割り当てたNICがeth0の場合)
    • PackStackをオールインワン構成で実行すると、br-exにデフォルトのIPアドレスが割り当てられます。
      設定ファイルを編集して、サーバーに割り当てたIPアドレスに変更します。
      固定IPを割り当てていたNICに、br-exへのブリッジ設定を行います。

  • ネットワークの再起動

管理画面へのログイン

インストールが完了すると、PackStackの実行ディレクトリに以下のファイルが作成されます。

  • keystonerc_admin
  • keystonerc_demo
  • packstack-answers-yyyymmdd-hhmmss.txt

PackStackのオールインワン構成でOpenStackをインストールすると、デフォルトでadminユーザーとdemoユーザーが作成されます。keystonerc_adminとkeystonerc_demoには、それぞれのユーザーでログインする際に必要な情報が記述されています。packstack-answers-yyyymmdd-hhmmss.txtは、answer fileと呼ばれるPackStackの設定ファイルです。どのような設定でOpenStackをインストールしたかが記述されています。

インストールが完了したら、WebブラウザからOpenStack Havanaをインストールしたサーバーにアクセスし、ログイン画面が表示されることを確認します。

openstack_login.png

keystonerc_adminに記述されているユーザー名とパスワードを入力してadminユーザーでログインすると、OpenStackの管理画面を見ることができます。

openstack_admin.png

まとめ

今回は、OpenStackの最新バージョンであるHavanaをCentOS上に構築する手順を紹介しました。OpenStackは、最近ではOracleが互換性確保に乗り出すなど、今最も注目されているOSSのひとつであると言えます。開発も活発に行われており、今後更なる機能拡張が期待されます。

OpenStackを実際に利用してみると、内部の仕組みはかなり複雑で一筋縄ではいかない印象を受けました。しかし、最近ではPackStackをはじめとする導入ツールが登場し、ある程度気軽に試してみることができるようになりました。まずは使ってみて、OpenStackの使用感やコンポーネントの機能などを体験してみてはどうでしょうか。

エンジニア採用中!私たちと一緒に働いてみませんか?