YLUG カーネル読書会番外編: Google Ganeti

Twitterで吉岡さんの告知に反応して参加しました。

場所は渋谷のGoogle会議室。

幹事の関根さん、ありがとうございました。

- - -

Google Ganeti

http://code.google.com/p/ganeti/

スピーカーは、Google Switzerland所属の Iustin Pop さん。

3年前からこの管理ツールを作り始めたとのこと。

Xenのハイパーバイザを、クラスタリングで管理するための管理ソフトウェア。

共有ディスク装置を使わず、フェイルオーバクラスタを簡単に構築できる。

DRBDを使ってディスクミラーリングを行う。

HAクラスタリングといって、

heartbeatで監視していて、プライマリが落ちていたらセカンダリが起動する。

DRBDでのディスク構成は先に作っておく必要がある。

また、hostsないしDNSにあらかじめクラスタのノードになる物理サーバを登録しておく。

  • gnt-cluster init $クラスタ名: クラスタを構成
  • gnt-cluster destroy $クラスタ名: クラスタを破棄
  • gnt-cluster verify-disk: 物理ディスクチェック
  • gnt-cluster migrate: (質疑していたけど聞きとれなかった。クラスタインスタンスを別ノードに移動、もしくは、セカンダリへの委譲のどっちかです。)
  • gnt-node list クラスタノードを列挙。メモリとかディスク容量とか。Pinst:プライマリとして機能するインスタンス数、Sinst: セカンダリとして-
  • gnt-node add ...: クラスタノード(物理マシン)を追加。
  • gnt-os list: 各仮想マシンの雛形のリストを表示
  • gnt-instance add: 仮想マシンを追加
  •  --node gntit:gnti2 : プライマリノード: セカンダリノード
  •  --os-size 1G : ディスクサイズ
  •  --swap-size 512m : スワップサイズ
  •  -t drbd : DRBD利用
  •  --memsize 256m: メモリサイズ
  •  -o : OSの雛形名
  •  インスタンス

という感じで、clusterをinitして、nodeをaddして、gnt-osを作って(これは事前作業かも)、gnt-instanceをaddするとHAクラスタ(フェイルオーバクラスタ)になったVMが一対起動する。

クラスタは、プライマリとセカンダリがあり、heartbeatからみて、プライマリが死ぬとセカンダリがアクティブになる。

ノード数は今のバージョンでは20まで。

小規模、ネットワークは単純、共有ディスク装置(高価)を買いたくない場合に便利。

デモンストレーションは3台のクラスタ、一つずつのNICでした。

Xen+DBRD+heartbeat+lvmをコマンド一発で操れるように、Pythonでラップしたよ、ということではなかろうかと思います(詳しくないので後で調べたい)。

- - -

懇親会で、VMはテストラボに必須だよねとか(でもプリンタメーカは物理マシンも必要)、

古いOSサポートの話とかで盛り上がった。Windows 95 OSR2、Windows98SE は割と扱いやすいOSだ(落っこちるバグが少ない)という話の流れではなかったかと思う。

あと、MeとVistaはなかったことになるのではないか、という話もあった。

個人的には Windows 7Vistaの反動もあるし、機器の償却期限で、WindowsNT/2000からXPに移った人たちが、次の償却期限を迎える時期に間に合えば、バカ売れするのではないかという自説を展開してみた。