OpenStack 雑感
ここ数日、さくらインターネットの専用サーバ上にOpenStack でプライベートクラウドの構築を進めていた。OpenStackの噂が聞こえてきてから、すでに数年たっているので、ずいぶんと安定して使いやすくなっているのでは、と期待して始めたのだが、すぐに裏切られた。
まだまだOpenStackは使いやすい状況ではない。
VMware、XenServer、HyperV、RedHat Virtualization と使ってきたので、それなりに仮想化には知見があるつもりでいたが、OpenStackはまだまだそれ以上に複雑だった。
OpenStack というだけに、様々なモジュールが疎結合になっている。設計としてはカッコ良いのだが、設定は大変。とにかく、あちこちに設定が隠れているのだ。
結局、複雑すぎて設定が大変なので、簡単インストールのためのツールがいくつも作られている。DevStackや PackStackがそれだ。でも、これらはあくまで簡単インストールのためであり、実際に詳しい中身を触ろうとすると、むしろ、どこにどんな設定が入っているか分からない、という問題もある。
で、うっかりさわってしまうと、どうやって回復させていいのかわからない、という問題も生じる。
結局、ある程度わかった時点でえいや、とサービスインして、いろいろなサーバを載せ始めたが、今日は、うっかりホスト側のサーバのネットワークを切断してしまい、全部の仮想サーバの外部ネットワークが切れる、という事態を招いてしまった。
いくつか学んだことを散漫に書いていくが、
・Keystone が結構大事。データベースを生で見るのもあり。
・IPアドレスの変更は大変なので、事前によく設計しておくべき。
(特に、外部向けのIPか、内部向けのIPか、を良く考えるべし)
・現状(2013/10/17時点)では、Grizzly を使っているが、nova と quantum の切り分けが今一つ。
(まだ nova に余分なコマンドが残っており、わかりにくい)
・cinder を使うためには、最初から lvm 用のパーティションを用意しておくべし。
(今回は、手遅れだったのっで、なんと loop デバイスで逃げている。)
・quantum は、 openvswitch も使っているので、その設定、関係を良く理解しないと
ネットワークが切れる。また、 iptables は手で触りにくくなる。
(/etc/init.d/iptables はやめるべし)
・Horizon は、まだまだ OpenStack の全ての機能が使えるわけではない。
CD-ROM をつけたりはずしたり、とか、いろいろな 仮想サーバ用の管理機能は
ほとんど実装されていない。
というわけで、数日で、コードネームとサービスの対応が頭に入ってしまうほど苦しんだ、ということでありました。一体何をやってんだか。。。
PackStack all-in-one だと、なんと nagios まで入るのだが、中途半端な設定で、またこれも悩まされる。 nrpe (Nagios Remote Plugin Exchange)を使うことになる。また nagios-plugin も、 epel のリポジトリを使うと、コマンド毎に入れることになる。。。