はじめてのOpenStack (PackStack) on VMWare Fusion
このblogは、OpenStack Advent Calendar 2013 jpの12/28のエントリです。
はじめに、ここでは、@saito_hidekiさんが書いたOpenStack Quick Startに沿って、OpenStack環境を構築しますので、最初にOpenStack Quick StartをPDFでダウンロードしておく事をおすすめします。
ただし、OpenStack Quick Startでは、VitrualBoxを使用していますが、ここではVMWare Fusionを使います。
作成手順
MBA (VMWare Fusion)の設定
環境構成図にあるように、Host Only Network x 2 (vmnet1, vmnet2), NAT Network x 1 (vmnet7)を作成します。
VMware Fusion 5 の network 設定 (応用編) - hrt10の日記 などを参考にしながら作成します。
じつはここで結構はまりましたorz
CentOS 6.5 (OpenStack環境)の作成
- CentOS 6.5のスペック
- メモリ: 2048M OpenStack Quick Startには4Gとありましたが、2Gで一応いけました
- HDD: 20G .@giraffeforestg さんによれば、8Gで作成すると、Puppetがceilometerをインストール中にmongodbが、十分なディスク容量がないため起動しないらしくCeilometer系の機能が使えなくなるとの事ですので、20Gとしておきましょう。
- CPU: 1 OpenStack Quick Startは、2 vCPUをアサインていましたが、1 vCPUで一応いけました
- PerlとGitは必要なので、インストールしておきます。
- VMWare Toolsをインストールしておきます。CentOS6.2にVMware Toolsをインストールするが参考になりました。
じつは、CentOS 6.3で、最初に試しましたが、Puppetのインストールスクリプトが3時間待っても終わらなかったので、OpenStack Quick Startの記述通り、CentOS 6.4にしました。
しかし、Puppetのインストールスクリプトが、opensslをインストールする所で、失敗するため、CentOS 6.5を使用しました。
PuppetでインストールするopensslのバージョンとOS の互換性による問題みたいです。
CentOS 6.5は、minimalでインストールします。NICを前述の通り、3つつけておく必要があります。
じつは、CentOS 6.5でも、最初失敗しましが、前述のVMWare FUSIONのネットワーク設定ミスがありましたのでそこを修正し、再度PackStackを実行した結果成功しました。ただ、.@giraffeforestg さんによれば、一度失敗してもきにせず、もう一度実行すると成功することもあるらしいので、VMWare FUSIONのネットワーク設定ミスに起因していたのかどうかは不明です。
all-in-one.confの変更
- all-in-one.confに記載されているIPアドレスを、この環境のIPアドレス(172.16.123.11)に変更します。
- all-in-one.confをこのまま使うと、Puppetのスクリプトがパラメーターをチェックするようになっているのか失敗するので、下記を最終行に追加します。但しそれでいいかは不明ですw
- CONFIG_QPID_ENABLE_AUTHはよくわかりませんw
- CONFIG_NEUTRON_LBAAS_HOSTSはあっても、どうせ無視されるらしいので、値は特に指定しなくてもよさげ。
#Added by kimisan CONFIG_QPID_ENABLE_AUTH=n CONFIG_NEUTRON_LBAAS_HOSTS=
あとは、packstack --answer-file=all-in-one.confで、OpenStackの環境を構成してくれます。OpenStack Quick Startにあるように、1時間くらいかかりますが、気長に待つ事が重要です。
PackStackインストール後は、基本的にOpenStack Quick Start通りに設定すると、OpenStackの環境が出来上がります。
仮想環境である場合、PackStackインストール後、OpenStack Quick Startにあるように、/etc/nova/nova.conf を修正します。これがKVMであると、仮想マシンを実行できないようです。.@giraffeforestg さん談
libvirt_type=qemu
一応、VMWare FusionでKVMを実行するときのおまじないもしました。VMXファイルに下記を最終行を追加します。Linux-KVMをVMware Fusionで動かそう!あとFreeBSD BHyVe……! が参考になりました。
vhv.enable = TRUE
所感
PackStackとは、Puppetによる1台でOpenStackを構成する事が可能なツールです。確かに初心者でも簡単にOpenStack環境を構築する事ができ、OpenStackを始める人にとっては、ありがたいツールとなるでしょう。また、@saito_hidekiさんが書いたOpenStack Quick Startは非常によくまとまっており、必須の情報源になるでしょう。必ずPDFで落として参考にするといいでしょう。
ただ、Puppet君が、環境を構成するのに1時間程度かかるので、Puppetのスクリプトではまった場合は、私のように意外に時間がかかってしまいますorz
しかし、おかげさまで、1台のMBAにOpenStackとCloudStackの環境を共存させる事ができました。
あ、CloudStack側の構築レポートもありますので、もしよければどうぞw
ふ〜、この環境つくるために、貫徹した事はないしょw