備忘録のため,内容の正当性については責任を持ちません。

かねてから一度触ってみたいとは考えていたものの、構築が面倒そうで躊躇していたオープンソースのクラウド基盤 OpenStack だったが、先日良いものを教えてもらった。

これを使うと一発、とは言わないものの、数発の手順で OpenStack の検証用環境が構築できる。

実際にインストールしてみたところ、ほぼ参考ページ通りにできたのだが、一部つまずいた箇所や気づいた点等をメモしておく。

OpenStack の Web UI “horizon”

OpenStack の Web UI “horizon”




Ubuntu Server のインストール

まず、適当なマシンを用意して、Ubuntu Server 12.10 (64bit) をクリーンインストールする。ちなみに VirtualBox の仮想マシン上でも動くようだ。

コツとして、はじめはネットワークケーブルを抜いておく。これにより、DHCP でのアドレス取得に失敗してネットワークの設定画面に遷移するため、あとから固定 IP に設定しなおす手間が省ける。

Configure the network

Configure the network

Software selection では、OpenSSH server のみを選択する。

Software selection

Software selection

あとは適当に進めれば良いはずなので省略する。

下準備

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 次のエラーが出た。

/usr/bin/env: node: No such file or directory

/usr/bin/env: node: No such file or directory

どうやら 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 の各コンポーネントの起動スクリプトを用意したい。

参考ページ

コメント

コメント(1) “DevStack で Ubuntu 12.10 に OpenStack Folsom を入れる”

  1. […] が、OpenStackはまだです。オライリーが出していますけど、本格的なものではないようです。こちらに従って12.10にインストールしてみました。ただし、サイト管理者の環境では、localrcファ […]

コメントする




CAPTCHA