OpenStack Folsom構築 on Wheezy (4-1) コンポーネント設定①

ここまででパッケージによる基盤が整いました。
が、そのままではいまいち動かないので、確認を含め各種コンポーネントの設定を行います。

長くなるので、2ページに分けて投稿します。
このページでは、環境変数設定/RabbitMQ/Memcached/Keystone/Nova を記載します。



おことわり

  • ここは今後も微調整をしていくところですので、まだ変わる可能性があります(というかそもそも個別に違うし)
  • 長くなるのでCinderとSwiftは別途記事を分けることにします
  • 記載順序は本来の構築手順とは異なりますが、重要な共有物を先に記載したためです
  • ControllerNodeの指定はテストなのでIPアドレス直書きです


  • 環境変数設定

    この環境変数を設定しておくと、Openstack services (keystone, nova, glance, cinder, quantum, etc..) に簡単にアクセスできるようになります。どのコンポーネントのコマンドにも、–os-tenant-name などの指定オプションがあるため、複数のテナントを管理する際の切替方法はどちらでも大丈夫です。

    ~/.bashrc

    設定したら、ログインし直します。


    RabbitMQ

    パッケージの依存で勝手に入りますが、このメッセージキューイングミドルウェアは、何気に各コンポーネントが利用する重要なものとなっています。
    まずポートを設定します。

    /etc/default/rabbitmq-server

    設定したら再起動して確かめます。

    次にユーザを作成します。今回は全コンポーネントで共通のユーザを使用します。それとguestユーザの削除もしておきたいところですが、あとのインストール物で必要としていたので、このタイミングでは残してあります。



    Memcached

    これは特に設定をしなくて大丈夫です。


    Keystone

    設定ファイル

    編集するところは特にないですが、重要なところだけ確認しておきます。

    /etc/keystone/keystone.conf

    Service & Endpoint LIST

    ServiceとEndpointが登録されていないと各コンポーネントが利用できないので、もし自動登録されていなければ追加しておきます。ここでは、Keystone以外がなかった場合を体験したことがあったので、その時の追加内容になります。


    Nova

    最も重要なnovaの設定ですが、いくつか要点を書きだしておきます。

  • $my_ip という変数には my_ip 設定の値が入りますが、別途 controller_ip とか設定しても $controller_ip を使えるようになるわけではありません
  • state_path は名前に反してデータディレクトリのようなものなので、かなりの容量を食います。後述します
  • SCHEDULER は今のところMultiSchedulerで一択のようです
  • scheduler_default_filters=AllHostsFilter が無いと、インスタンス作成時に失敗して nova show で確認できるエラーメッセージに No valid host was found. と出る場合があります(参考ページ
  • Cinderはまた別の機会に投稿します
  • RABBITMQ は上記で設定した値を記述します
  • nova-networkではなくQuantumを利用するので、NETWORK (linux net) の部分は全てコメントアウトします
  • NoVNCはまた別の機会に投稿します
  • QUOTAは後でいじります

  • /etc/nova/nova.conf

    APIの接続情報を編集します。
    /etc/nova/api-paste.ini

    ComputeNodeの設定を確認します。

  • libvirt_type に仮想化ソフトウェアの種類を指定します。今なら安定のkvmです(適当)
  • libvirt_ovs_bridge にOpen vSwitchで作成したVM用ネットワークのブリッジ名を指定します。br-int はデフォです

  • /etc/nova/nova-compute.conf

    編集したら再起動するのですが、間で state_path(novaデータディレクトリ)をシンボリックリンクによって保存先を変更しておきます(state_pathを変えてもいいです)。state_path には色々保存されますが、大きい容量のデータとして、

  • GlanceによるOSイメージファイルのキャッシュ
  • VMの基本イメージ …… qcow2形式なので最初は小さいけど
  • VMの一時ディスク …… Horizon上の表記で一時ディスクとなっているもので、共有ストレージではなくComputeNodeのローカルイメージディスクとして保存されるもの

  • と結構あるので、もし /var/lib/nova が 10, 20GB 程度しかなかったら変更しておくべきです。


    それでは、コンポーネント設定②に続きます。