Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

知らないと地味にハマるOpen stackインストール時の注意点

13,888 views

Published on

「hbstudy#24 OpenStack祭り!!」の資料

Published in: Technology

知らないと地味にハマるOpen stackインストール時の注意点

  1. 1. 知らないと地味にハマるOpenStackインストール時の注意点 Creative Commons Attribution ShareAlike 3.0 License Date: 2011/06/17 Author : D.SHEN
  2. 2. プロローグ プロフィール  2011年3月末よりOpenStack関連の調査作業に従事し 始めた。ただ、OpenStackやクラウド全般に関していまま で関わった事が無かったため、試行錯誤を繰り返しなが ら調査作業を行っている状態。 スライドの内容  OpenStackのBexar第二版及びCactus版のインストー ルを実施した過程で、実際に遭遇したトラブル&解決方 法を紹介する。 Creative Commons Attribution ShareAlike 3.0 License
  3. 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. 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. 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. 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
  7. 7. nova-installが作るAll in One Serverのイメージ Creative Commons Attribution ShareAlike 3.0 License
  8. 8. nova-installが作るMulti Serverのイメージ Creative Commons Attribution ShareAlike 3.0 License
  9. 9. nova-install実行時の ハマりポイント(1/2)トラブル内容 解決策nova-installが受け付けるOSは、Ubuntuのみ。 他のOSを諦めてUbuntuを使う。例えDebianであっても受け付けない。nova-installの実行環境は、英語しか考慮してい nova-installを動かす前に「LANG=C」 等を実ない。英語以外(例、日本語等)の環境で動かし 行する。た場合、インストーラが正しく動作しない。公式ドキュメント(OpenStack Compute 「sudo nova-install」を実行する前に、「sudoAdministration 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. 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. 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. 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
  13. 13. トラブル解決の手掛かりOpenStackのログ出力先は、nova.conf内の「--logdir=XXXディレクトリ」で変更することが出来る。nova-installを用いて構築した環境では、ログの出力先は「/var/log/nova」と設定される。なお、nova.confに「--logdir=XXXディレクトリ」の記述がない場合は、syslogに出力される。出力先(ディレクトリ名) ログファイル名 概要/var/log/nova nova-api.log nova-apiサービスの出力ログ nova-compute.log nova-computeサービスの出 力ログ。 nova-manage.log nova-manageサービスの出 力ログ。 nova-network.log nova-networkサービスの出 力ログ。 nova-objectstore.log nova-objectstoreサービスの 出力ログ nova-scheduler.log nova-schedulerサービスの 出力ログ nova-install.log nova-installプログラムの作業 ログ。 Creative Commons Attribution ShareAlike 3.0 License
  14. 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 keys randomart image is: 320 +--[ RSA 2048]----+ インスタンスの出力ログ後半部分に、keys 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. 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 athttp://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. 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 Beginners 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. 17. 皆さんも是非 OpenStackを使ってみてください。 また openstack-ja@googlegroups.comで質問をすると、色々アドバイスを貰えますよ!! Creative Commons Attribution ShareAlike 3.0 License

×