仮想化初心者がGrizzlyをdevstackで試してみる 1

新しい環境を整備するたびに、クリーンインストールをするのがめんどくさくなってきたので、仮想化環境に挑戦。
ちょっと調べると、openstackというものが非常に流行りだしているとか。
なので、初心者ですが、いろいろ自動化されて簡単そうだし、試して見ることに。

参考ページ
http://openstack.jp/
http://www.openstack.org/software/grizzly
http://devstack.org/guides/single-machine.html

1.環境整備
ホストOSはubuntu server12.10。
ディスクフォーマットはLVMで特にパーティションは分けず。
ダウンロードするパッケージはOpenSSHだけ。
他に必要なものは全部devstack経由でインストールできるらしい。

2.devstackによる、一括インストール
http://devstack.org/guides/single-machine.htmlを参考に行う。
最初にユーザの追加と、sudoの設定を行なっているけど、
sudoの設定は、今は/etc/sudoers.d/XXXに書くのが推奨されているので以下のようになる。

$ sudo adduser stack
$ echo "stack ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/stack

もし、sudoersを直接書き換えて、失敗してsudoができなくなったら以下を参照
http://psychocats.net/ubuntu/fixsudo

次にgitを使ってdevstackをダウンロード。

$ cd
$ sudo apt-get install git
$ git clone git://github.com/openstack-dev/devstack.git
$ cd devstack

続いてlocalrcの作成、なんですが、その前にどんなネットワーク構成にするかを考える。
今回は試用なので、複数のサーバで構成するわけではなく、ひとつのサーバで複数の仮想マシンを動かすことを目的とする。

localrcの作成には
http://devstack.org/guides/single-machine.html
を参考にする。
ファイルのベースとしてsample/localrcをコピー。

「FLOATING_RANGE」とは外部に接続するために使うIPアドレスのことらしい。
今、実ネットワークは以下のように接続している。

192.168.1.0/24
Router----------------[eth0]Server
.254

この時、Server上に作られる仮想マシンにも192.168.1.0/24のアドレスを付与すれば、外部からアクセスが可能となる。
このうち今192.168.1.0/24で実際に使われていない空間をFLOATING_RANGEに割り当て、openstackの管理インターフェースから仮想マシンにIPを割り当てることになる。
今回は240-247が未使用だったので、localrcに

FLOATING_RANGE=192.168.1.240/29

とした。
次に、FIXED_RANGEだが、仮想マシン間ネットワークで用いられるIP。
フローティングIPは明示的に割り当てが必要だが、FIXED_IPはインスタンス作成時に自動的に割り当てられる。
FLAT_INTERFACEは上記の例ではeth0。

FIXED_RANGE=10.0.0.0/24
FIXED_NETWORK_SIZE=256
FLAT_INTERFACE=eth0

また、上記ページの例だけでは、Quantumが使用されないので、以下を追加。

disable_service n-net
disable_service n-obj
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3

n-objはSwiftの使用に関する設定のようだが、中身の確認は後回し。。。

そんでもって、

$ ./stack.sh

とすると、ダウンロードが始まる。
初回は時間かかります(数十分)。

つづく