Mais conteúdo relacionado Semelhante a 知らないと地味にハマるOpen stackインストール時の注意点 (20) 知らないと地味にハマるOpen stackインストール時の注意点2. プロローグ
プロフィール
2011年3月末よりOpenStack関連の調査作業に従事し
始めた。ただ、OpenStackやクラウド全般に関していまま
で関わった事が無かったため、試行錯誤を繰り返しなが
ら調査作業を行っている状態。
スライドの内容
OpenStackのBexar第二版及びCactus版のインストー
ルを実施した過程で、実際に遭遇したトラブル&解決方
法を紹介する。
Creative Commons Attribution ShareAlike 3.0 License
3. アジェンダ
1.OpenStackについて 6.nova-install実行時のハマ
りポイント
2.OpenStackのインストール
方法 7.nova-install実行後のハマ
りポイント
3.nova.shとnova-installの
違い 8.トラブル解決の手掛かり
4.nova-installが作るAll in 9.インスタンスログの実例
One Serverのイメージ (起動成功)
5.nova-installが作るMulti 10.インスタンスログの実例
Serverのイメージ (起動失敗)
11.参考情報
Creative Commons Attribution ShareAlike 3.0 License
4. OpenStackについて
OpenStackは、NASAと米Rackspace社が共同で、開発を始めたオープンソース
のクラウドソフトウェアである。全ての開発は、オープンソースで行っている。
他のオープンソース系クラウドソフトウェアと比べて最も異なっている点は、別途有
料な(機能強化した)商用版を開発しない事を、OpenStackコミュニティーのポリ
シーとして採用している。
最新の安定版(Cactus)は、2011年04月15日にリリースされた。次期安定版
(Diablo)のリリースは、2011年09月22日を予定している。
OpenStackは、「OpenStack Compute (Nova)」、「OpenStack Object Storage
(Swift)」及び「OpenStack Image Service (Glance)」の3大コンポーネントで構成
されている。
Creative Commons Attribution ShareAlike 3.0 License
5. OpenStackのインストール方法
パッケージ管理ソフトによるインストール
RHEL系
rpmやyumコマンドなど
Ubuntu系
dpkgやapt-getコマンドなど
スクリプトインストール
nova.sh
ソースコードと共に配布されているインストーラ
nova-install
Cactusから利用されるようになった新しいインストーラ。
nova-CC-install-v1.1.sh
Bexar時代に利用されていた古いインストーラ。今では使用していない。
Creative Commons Attribution ShareAlike 3.0 License
6. nova.shとnova-installの違い
nova.sh
最新のソースコードを試す場合(開発環境構築用)
配布されたソースコード内に含まれている
All in One Server
VlanManagerがデフォルトのネットワーク
非対話形式でのインストール
起動する度にデータベース内容を強制的に削除した後に新規作成する
nova-install
リリース版で構築する場合(運用環境構築用)
別途github.com からダウンロードする必要がある
All in One Server or Multi Server
FlatManagerがデフォルトのネットワーク
対話式でのインストール
ユーザが指定したタイミングでデータベースの内容を書き換える
Creative Commons Attribution ShareAlike 3.0 License
9. nova-install実行時の
ハマりポイント(1/2)
トラブル内容 解決策
nova-installが受け付けるOSは、Ubuntuのみ。 他のOSを諦めてUbuntuを使う。
例えDebianであっても受け付けない。
nova-installの実行環境は、英語しか考慮してい nova-installを動かす前に「LANG=C」 等を実
ない。英語以外(例、日本語等)の環境で動かし 行する。
た場合、インストーラが正しく動作しない。
公式ドキュメント(OpenStack Compute 「sudo nova-install」を実行する前に、「sudo
Administration Manual)には、nova-installの -i」を実行して、完全にrootユーザに切り替えて
実行方法として、「sudo nova-install」と書かれ から、nova-installを実行する。
ているけど、その通りに実行しても必ずインストー
ルに失敗する。具体的にはnova-installが
「/root/creds」ディレクトリ配下の配置する認証
ファイル(pk.pem、cert.pem、acert.pem)の作
成に失敗する。
nova-installは、インストール作業時のエラーハ 画面に「Enjoy your new private cloud!」と表
ンドリングを殆ど行っていない。インストールに失 示されても簡単に信用せずに、
敗しても、画面にはハードコーディングされた 「/var/log/nova/install.log」の内容をしっかり
「Enjoy your new private cloud!」のメッセージ と確認する。
が表示される。
Creative Commons Attribution ShareAlike 3.0 License
10. nova-install実行時の
ハマりポイント(2/2)
トラブル内容 解決策
インストールに利用するサーバのNICに複数ポー eth0のポートにLANケーブルを接続した状態で
ト(例、eth0とeth1がある)が存在し、LANケーブ nova-installを実行する。nova-installはインス
ルをeth0以外のものに接続している場合、nova- トール時に強制的にeth0にブリッジデバイスを作
installを実行すると、インストール終了後に、ネッ 成するため、eth0にLANケーブルを接続していな
トワークが正しく動作しなくなる。 いと、インストール作業終了後にネットワークが正
しく動作しなくなる。
nova-installが扱うFlatManagerの特徴が判ら FlatManagerでは、仮想マシーン(インスタンス)
ず、仮想ネットワークの作成に戸惑う。 と物理マシーンが同一のネットワークセグメント
上に存在すると想定している。仮想ネットワークを
作成する際には、物理マシーンが利用するネット
ワークセグメントを意識する必要が有る。
Creative Commons Attribution ShareAlike 3.0 License
11. nova-install実行後の
ハマりポイント(1/2)
トラブル内容 解決策
euca2ools系コマンド(例、euca-describe- コマンド実行失敗の原因は、ケースバイケースで
images等)の実行に失敗する。 一概に言えない。単純に環境変数関係なら
「source /root/creds/novarc」を実行し
て、euca2ool系が利用する環境変数を読み込ま
せた後に、euca2ool系コマンドを実行すれば解
決出来る場合がある。「novarc」ファイルが存在
しない場合には、「nova-manage project
zipfile」を実行して「novarc」ファイルを作成す
る。
インストール終了直後には、登録したインスタン インスタンスとの接続失敗原因もケースバイケー
スを起動させ接続(pingやssh等)することが出 スで一概に言えない。nova-installでは、インスト
来たが、サーバを再起動させると登録したインス ール時にOpenStack用のiptablesを設定するが
タンスを起動させることは出きるが、接続が出来 、サーバの再起動(reboot)を実施すると、設定が
なくなる。 消える。iptablesの設定が消えている状態では、
登録したインスタンスが上手く起動出来ない状
態に陥る。見た目は起動しているように見えるけ
ど、実際はホストマシーンから接続できない状態
に陥る。OpenStack用のiptablesの設定を登録
すれば解消する場合がある。
Creative Commons Attribution ShareAlike 3.0 License
12. nova-install実行後の
ハマりポイント(2/2)
トラブル内容 解決策
euca-describe-instancesコマンドを実行した euca-get-console-outputコマンドを実行する
際、時折表示されるインスタンスの情報と実際の とインスタンスの出力ログを見ることが出来
状態に乖離がある。(例、インスタンスは起動して る。euca-get-console-outputコマンドは、
いると表示されているけど、実際は起動していな 「/var/lib/nova/instances/instance-
い。) XXXXXXXX」ディレクトリ配下にある
「console.log」の内容を表示している為
に、euca-get-console-outputを実行する代わ
りに、テキストエディタ等で当該ファイルを直接見
てもよい。(なお、XXXXXXXXにはインスタンスの
IDが入る)
Creative Commons Attribution ShareAlike 3.0 License
14. インスタンスログの実例(起動成功)
1 [ 0.000000] Initializing cgroup subsys cpuset
2 [ 0.000000] Initializing cgroup subsys cpu
3 [ 0.000000] Linux version 2.6.35-24-virtual (buildd@yellow) (gcc version 4.4.5
~ 中略 ~
319 The key's randomart image is:
320 +--[ RSA 2048]----+ インスタンスの出力ログ後半部分に、key's
321 | .+= | randomart imageやssh host key
322 | o+++ . | fingerprintsが表示されていれば、インスタンス
323 | oEO+ o | 自体の起動に成功したと判断してよい。この状
324 | Oo.. . | 態で、起動したインスタンスと通信(pingやssh)
325 | .S.. .| が出来ない場合は、ネットワークまわりや
326 | o o . .| OpenStackのインスタンスに関する認証関連設
327 | . . . .|
328 | .| 定を疑うべき。
329 | |
330 +-----------------+
~ 中略 ~
351 ec2: #############################################################
352 ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
353 ec2: 2048 f2:4d:24:17:b3:cc:5a:72:ff:17:90:62:31:70:2b:a5
/etc/ssh/ssh_host_rsa_key.pub (RSA)
354 ec2: 1024 99:cf:95:1c:dd:4b:6c:8b:ab:50:61:b6:33:03:28:87
/etc/ssh/ssh_host_dsa_key.pub (DSA)
355 ec2: -----END SSH HOST KEY FINGERPRINTS-----
356 ec2: #############################################################
Creative Commons Attribution ShareAlike 3.0 License
15. インスタンスログの実例(起動失敗)
1 [ 0.000000] Initializing cgroup subsys cpuset
2 [ 0.000000] Initializing cgroup subsys cpu
3 [ 0.000000] Linux version 2.6.35-24-virtual (buildd@yellow) (gcc version 4.4.5
~ 中略 ~
299 init: cloud-init-local main process (285) terminated with status 1
300 cloud-init start running: Wed, 15 Jun 2011 07:11:55 +0000. up 2.87 seconds
301 2011-06-15 07:11:57,159 - DataSourceEc2.py[WARNING]: waiting for metadata service at
http://169.254.169.254/2009-04-04/meta-data/instance-id
302
303 2011-06-15 07:11:57,161 - DataSourceEc2.py[WARNING]: 07:11:57 [ 1/100]: url error
[timed out]
304
305 2011-06-15 07:12:00,168 - DataSourceEc2.py[WARNING]: 07:12:00 [ 2/100]: url error
[timed out]
306
インスタンスの出力ログ後半部分に、『waiting for metadata service at
http://169.254.169.254/2009-04-04/meta-data/instance-id』や繰り返し『url
error [time out]』が出力されていたら、インスタンス自体の起動に失敗したと判断してよ
い。例示したケースの場合、OpenStackが利用するiptablesの設定が欠如している可能
性が高いために、単純に「iptables -t nat -A PREROUTING -d
169.254.169.254/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination
$NOVA_API_IP:8773」を再度実行すれば、問題を解決出来る可能性がある。
Creative Commons Attribution ShareAlike 3.0 License
16. 参考情報
nova.sh関連
nova.shの使い方に関する詳細な解説(日本語)サイト
http://techtarget.itmedia.co.jp/tt/news/1104/04/news02.html
nova-install関連
nova-installの開発者が書いたOpenStackのインストールに関する詳細な解説(英語)サイト
http://www.dubsquared.com/
ドキュメント関連
OpenStackの公式ドキュメント
http://docs.openstack.org/cactus/
OpenStack Beginner's Guide for Ubuntu 11.04。公式ドキュメントに匹敵する詳細な解説(英語)サイト
http://cssoss.wordpress.com/2011/04/28/openstack-beginners-guide-for-ubuntu-11-04introduction-
to-openstack-and-its-components/
Creative Commons Attribution ShareAlike 3.0 License
17. 皆さんも是非 OpenStackを使ってみてください。
また
openstack-ja@googlegroups.com
で質問をすると、色々アドバイスを貰えますよ!!
Creative Commons Attribution ShareAlike 3.0 License