OpenStack Grizzly構築 on Wheezy (10) ComputeNode追加

(10)まできてようやく基本手順が終わろうとしています。

最後はComputeNodeを単体で追加する手順です。多少のハマりどころはありますが、大雑把に言えばControllerNode構築手順から、ComputeNode関連のみ抜き出しただけなのでサクサク書いていきます。



Compute Nodeインストール

こちらの基本設定は完了しているものとします。
  • OpenStack Grizzly構築 on Wheezy (1) 全ホスト共通 事前準備 | 外道父の匠

  • ComputeNodeパッケージを入れます。
    NovaComputeがエラーを吐くのでnova-conductorが必要です。

    パッケージの返答で、DB・エンドポイント関連は作成済みなので全て飛ばしてください。
    その他の指定値は全てControllerNodeと一緒です。


    Ceph用libvirtdの設定

    もしCephサーバにもなるのであれば、こちらを参照してvirshで鍵を登録しておきます。
  • OpenStack Grizzly構築 on Wheezy (7) Cinder+Ceph設定 | 外道父の匠


  • libvirtd for live-migration

    live-migration が大好きならば、libvirtdに手を入れておきます。

    /etc/libvirt/libvirtd.conf

    /etc/default/libvirt-bin

    再起動します。


    Nova

    ControllerNodeと手順・設定は同じですのでこちらを参照してください。唯一、my_ipの値だけ変更するよう注意してください。
  • OpenStack Grizzly構築 on Wheezy (4) Nova設定 | 外道父の匠


  • Quantum

    ホストOSとVMの経路

    VMと直接通信できるよう、VMネットワークはルータG/WにFORWARDしてあげます。

    /etc/network/if-pre-up.d/openstack

    反映しておきます。

    設定

    sudoers と quantum.conf はこちらと全く同じなので参照してください。
  • OpenStack Grizzly構築 on Wheezy (5) Quantum設定 | 外道父の匠

  • /etc/sudoers.d/quantum_sudoers

    /etc/quantum/quantum.conf

    ovs_quantum_plugin.ini はControllerNodeと違い、ComputeNode に br-ex が存在しないのでその分だけ抜いて編集します。

    /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini

    再起動します。数秒、ネットワークが切れます。


    QEMU-KVM のRBD対応

    CinderでCephを使う場合、qemu-kvm の修正が必要なので、コチラを参照してください。
  • QEMU KVMのRBDを有効にする for Cinder+Ceph | 外道父の匠


  • 動作確認

    VM起動

    nova create または HorizonでVMを作成し、新ComputeNode上にVMが作成されること。
    ホストのスペックが同じなら全ホストに1VM以上あれば普通は新ComputeNodeに作成されます。

    スペックやメモリ状況、Scheduler都合でなかなか作成されない場合は、Schedulerの条件を確認したり、Computeのリストを編集してから作成してみます。

    VMの通信確認

    そもそもSSHでログインできるか、
    できなければコンソールで見て正常にDHCPからアドレスを受け取っているか確認します。

    eth0 にアドレスがなければ、こちらを眺めて色々確認してください。
  • OpenStackのDHCP問題まとめ | 外道父の匠

  • 次に単体ComputeNode上のVMにおいて、同ホスト上のVMとの通信、他ホスト上のVMとのプライベートネットワーク通信を確認します。

    そして必要があればOpenStack外の社内管理サーバへの通信、
    名前解決、WAN接続を確認します(ping google.co.jp でOK)。

    ここで詰まる場合、ネットワーク設定の問題であったり、DHCPの問題であったり、L2スイッチのvlan対応・設定が問題かもしれません。丁寧に通信を追って原因を特定しましょう。詰まらなかったら、なかなか日頃の行いが良いのだと思います。

    Cinderボリュームのアタッチ

    コマンド・Horizonどちらでもよいので、ボリュームを作成し、対象のVMにアタッチしてみます。

    1発で成功したら、OpenStackの天賦の才があるかもしれません。
    失敗したら、libvirtの難解なログを確認して原因を閃いてください。



    複数台になるとSchedulerも重要になるので、そちらにも興味を持つとよいです。
  • NovaScheduler RamFilterのメモリ計算を追う | 外道父の匠


  • これでようやくGrizzlyの基礎的な部分は終わりになります。
    Havana前に書き終えて一段落。

    構築の次は運用面をちょこちょこ書いていきたいと思います。