(10)まできてようやく基本手順が終わろうとしています。
最後はComputeNodeを単体で追加する手順です。多少のハマりどころはありますが、大雑把に言えばControllerNode構築手順から、ComputeNode関連のみ抜き出しただけなのでサクサク書いていきます。
Compute Nodeインストール
こちらの基本設定は完了しているものとします。ComputeNodeパッケージを入れます。
NovaComputeがエラーを吐くのでnova-conductorが必要です。
1 |
apt-get install openstack-compute-node nova-conductor |
パッケージの返答で、DB・エンドポイント関連は作成済みなので全て飛ばしてください。
その他の指定値は全てControllerNodeと一緒です。
Ceph用libvirtdの設定
もしCephサーバにもなるのであれば、こちらを参照してvirshで鍵を登録しておきます。libvirtd for live-migration
live-migration が大好きならば、libvirtdに手を入れておきます。/etc/libvirt/libvirtd.conf
1 2 3 |
listen_tls = 0 listen_tcp = 1 auth_tcp = "none" |
/etc/default/libvirt-bin
1 |
libvirtd_opts=" -d -l" |
再起動します。
1 |
/etc/init.d/libvirt-bin restart |
Nova
ControllerNodeと手順・設定は同じですのでこちらを参照してください。唯一、my_ipの値だけ変更するよう注意してください。Quantum
ホストOSとVMの経路
VMと直接通信できるよう、VMネットワークはルータG/WにFORWARDしてあげます。/etc/network/if-pre-up.d/openstack
1 2 3 |
#!/bin/bash route add -net 172.30.0.0/16 gw 10.1.26.130 |
反映しておきます。
1 2 |
chmod +x /etc/network/if-pre-up.d/openstack /etc/network/if-pre-up.d/openstack |
設定
sudoers と quantum.conf はこちらと全く同じなので参照してください。/etc/sudoers.d/quantum_sudoers
1 |
割愛 |
/etc/quantum/quantum.conf
1 |
割愛 |
ovs_quantum_plugin.ini はControllerNodeと違い、ComputeNode に br-ex が存在しないのでその分だけ抜いて編集します。
/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
1 2 3 4 5 6 7 8 9 10 |
[DATABASE] sql_connection = mysql://quantum-plugin-o:パスワード@10.1.26.11:3306/quantumpluginopenvswitchdb [OVS] tenant_network_type = vlan network_vlan_ranges = physnet2:1001:2000 enable_tunneling = True tunnel_id_ranges = 1:1000 integration_bridge = br-int bridge_mappings = physnet2:br-vm |
再起動します。数秒、ネットワークが切れます。
1 |
for init in /etc/init.d/quantum-*; do $init restart; done |
QEMU-KVM のRBD対応
CinderでCephを使う場合、qemu-kvm の修正が必要なので、コチラを参照してください。動作確認
VM起動
nova create または HorizonでVMを作成し、新ComputeNode上にVMが作成されること。ホストのスペックが同じなら全ホストに1VM以上あれば普通は新ComputeNodeに作成されます。
スペックやメモリ状況、Scheduler都合でなかなか作成されない場合は、Schedulerの条件を確認したり、Computeのリストを編集してから作成してみます。
1 2 3 4 5 |
# enableのcomputeを確認 nova-manage service list # 新ComputeNodeを残して他のホストをdisableにしてVM作成してみる、など nova-manage service disable --host=openstack-02 --service=nova-compute |
VMの通信確認
そもそもSSHでログインできるか、できなければコンソールで見て正常にDHCPからアドレスを受け取っているか確認します。
eth0 にアドレスがなければ、こちらを眺めて色々確認してください。
次に単体ComputeNode上のVMにおいて、同ホスト上のVMとの通信、他ホスト上のVMとのプライベートネットワーク通信を確認します。
そして必要があればOpenStack外の社内管理サーバへの通信、
名前解決、WAN接続を確認します(ping google.co.jp でOK)。
ここで詰まる場合、ネットワーク設定の問題であったり、DHCPの問題であったり、L2スイッチのvlan対応・設定が問題かもしれません。丁寧に通信を追って原因を特定しましょう。詰まらなかったら、なかなか日頃の行いが良いのだと思います。
Cinderボリュームのアタッチ
コマンド・Horizonどちらでもよいので、ボリュームを作成し、対象のVMにアタッチしてみます。1発で成功したら、OpenStackの天賦の才があるかもしれません。
失敗したら、libvirtの難解なログを確認して原因を閃いてください。
複数台になるとSchedulerも重要になるので、そちらにも興味を持つとよいです。
これでようやくGrizzlyの基礎的な部分は終わりになります。
Havana前に書き終えて一段落。
構築の次は運用面をちょこちょこ書いていきたいと思います。