かねてから一度触ってみたいとは考えていたものの、構築が面倒そうで躊躇していたオープンソースのクラウド基盤 OpenStack だったが、先日良いものを教えてもらった。
これを使うと一発、とは言わないものの、数発の手順で OpenStack の検証用環境が構築できる。
実際にインストールしてみたところ、ほぼ参考ページ通りにできたのだが、一部つまずいた箇所や気づいた点等をメモしておく。
Ubuntu Server のインストール
まず、適当なマシンを用意して、Ubuntu Server 12.10 (64bit) をクリーンインストールする。ちなみに VirtualBox の仮想マシン上でも動くようだ。
コツとして、はじめはネットワークケーブルを抜いておく。これにより、DHCP でのアドレス取得に失敗してネットワークの設定画面に遷移するため、あとから固定 IP に設定しなおす手間が省ける。
Software selection では、OpenSSH server のみを選択する。
あとは適当に進めれば良いはずなので省略する。
下準備
OS がインストールできたら、DevStack を実行するための下準備を行なう。
まずは OS を最新の状態にアップデートしておく。
$ sudo apt-get update
$ sudo apt-get upgrade
git をインストールする。
$ sudo apt-get install -y git
DevStack の取得
github から DevStack を clone する。
$ cd ~
$ git clone https://github.com/openstack-dev/devstack.git
$ cd devstack/
最新の安定版である Folsom の branch に切り替える。
$ git checkout -b folsom remotes/origin/stable/folsom
ちなみにバージョン名は Austin, Bexar, Cactus, … のように、頭文字が A, B, C, … ではじまる地名から取っているらしい。つまり今年9月にリリースされた Folsom は、6番目のリリースになる。
DevStack の設定
DevStack を実行するための設定を行なう。
以下に設定例を示す。
$ cd ~/devstack/
$ vi localrc
HOST_IP=172.16.0.100
FLAT_INTERFACE=eth0
FIXED_RANGE=10.0.0.0/24
FIXED_NETWORK_SIZE=256
FLOATING_RANGE=172.16.100.0/24
ADMIN_PASSWORD=openstack
MYSQL_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
GLANCE_BRANCH=stable/folsom
HORIZON_BRANCH=stable/folsom
KEYSTONE_BRANCH=stable/folsom
NOVA_BRANCH=stable/folsom
GLANCE_BRANCH=stable/folsom
QUANTUM_BRANCH=stable/folsom
SWIFT_BRANCH=1.7.2
上記の各設定は、環境に応じて適宜変更する。
- HOST_IP … ホストの固定 IP アドレス
- FLOATING_RANGE … 仮想マシンに割り当てる IP アドレスの帯域 (ホストと同じネットワークで)
DevStack の実行
いよいよ DevStack を実行する。以下のコマンドを叩くだけで良い。
$ cd ~/devstack/
$ ./stack.sh
たぶん数十分くらいでインストールが完了する。
ログイン
インストールが済んだら、ブラウザからアクセスしてみる。ホストと同じネットワークに属する端末から、以下の URL にアクセスする。
http://<ホストの IP アドレス>/
するとログイン画面が表示され……ない。 prz 次のエラーが出た。
どうやら node.js にパスが通ってないだけのようなので、シンボリックリンクを張ってあげる。
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
気を取り直してブラウザを再読込すると、無事ログイン画面が表示されるはずだ。ユーザ名は admin、パスワードは先ほど localrc で指定したものでログインできる。
ホストの再起動
DevStack で入れた環境は、ホストを再起動したときに各サービスが自動で立ち上がらなかったり、NAT の設定が消えてたりして、そのままでは常用できない。
ホストを再起動したときは、次のコマンドで各サービスを起動することができる。
$ cd ~/devstack
$ ./rejoin-stack.sh
※ screen から抜けるには Ctrl-A D
以上で OpenStack をひと通り試せる環境が整った。今後はホストを reboot したときに自動でサービスを再開できるように、OpenStack の各コンポーネントの起動スクリプトを用意したい。
コメント
[…] が、OpenStackはまだです。オライリーが出していますけど、本格的なものではないようです。こちらに従って12.10にインストールしてみました。ただし、サイト管理者の環境では、localrcファ […]