Lisa07TechSession2ndDay

LISA'07 テクニカルセッション2日目の、気になったテーマに関する簡単なメモ。

Ganeti: An Open Source Multi-Node HA Cluster Based on Xen

Google でつくられている Xen ベースのオープンソースなマルチノード HA クラスタ(タイトルまんま)。プロジェクトページはこちら

要するに HA + Virtualization。通常の HA は、実マシンから実マシンへフェイルオーバするけど、Ganeti では VM から VM へフェイルオーバーする、と。仮想化は Xen を利用しており、管理用コマンドラインツールには Python を、ディスク管理には LVM, DRBD, MD を、コマンドラインツールから各ノード(Xen dom0)やインスタンス(Xen domU)への命令実行は、Twisted や ssh を利用している。

管理コマンドはマスタノード上で実行する。

すべてのコマンドには man ページとインタラクティブヘルプが用意されてる。

クラスタのセットアップは以下の様に実行する。(node0 というのがマスタノードらしい。)

node0# gnt-cluster init mycluster
node0# gnt-node add node1
node0# gnt-node add node2
node0# gnt-node add node3
node0# gnt-cluster cmmand apt-get install ganeti-instance-etch

インスタンスの作成。

node0# gnt-instance add -n node2:node1 -t drbd8 instance0

ノードがクラッシュした場合に別ノードに移行させる。

node0# gnt-instance failover --ignore-consitency instance0
node0# gnt-instance replace-disks -s --new-secodary=node3 instance0

クラスタのステータスチェックコマンド。

node0# gnt-instance list
node0# gnt-node list

サポートしているディスクタイプは、

remote_raid1 はなんかすごい複雑だった。こんな感じ。

          +---------------+
          | instance disk |
          +---------------+
                  |
            +-----------+
            | MD device |
            +-----------+
                  |
           +-------------+
           | DRBD device |
           +-------------+
             |         |
  +------------+     +------------+
  | LVM volume |     | LVM volume |
  +------------+     +------------+
        |                  |
+----------------+ +----------------+
| Physical disks | | Physical disks |
|     node1      | |     node2      |
+----------------+ +----------------+

DRBD8 を使えば、もっとシンプルにできるらしい。

ネットワークまわりの機能。(いまいちよくわからなかった。)

Google での使われ方。

将来的に追加したい機能。

全体的に気になること、わからないことだらけなんだけど、ソースが公開されてるから使ってみるのがてっとりばやそうだ。HA クラスタは今後うまく活用していきたいし、仮想化によるサーバ集約も興味があるので、時間を作ってぜひ検証してみたい。

そういえば、以前いた会社では、メールサーバなんかはよく HA クラスタ構成でサーバ構築してたけど、最近 HA クラスタはご無沙汰だなぁ。

Eメール送信元のレピュテーション(評価)を集約してシェアしよう、という試み。概要はこちらプロジェクトページもある。

SPF, DKIM, SenderID といったいわゆる送信者認証技術は、From ドメインと送信元サーバの組み合わせが正しいかどうかを判断することができるが、これが正しいからといって、スパマーかどうかは判断ができない。(実際、スパマーはいち早くこれらの送信者認証技術に対応してきているらしい。)それを補うのがこの RepuScore であり、送信元に関する評価を集合知的に集めてシェアすることが目的。

SpamAssassin 用プラグインを近々公開予定らしい。

RepuScore で興味深かったのは、不正なレポートを行う(Sybil attacksと呼んでいた)評価者の重みを下げることによって、評価全体への影響を低くして、不正なデータ操作が行えないようにする仕組みがあること。

他のレピュテーションシステムとしては、SenderPath's Sender ScoreHabeas' SenderIndex といったものがあるが、これらは IP アドレスベースのレピュテーションであり、RepuScore はドメインベースのレピュテーションである、という違いがある。(IPアドレスは組織間でシェアされていることもあるので、こういったレピュテーションシステムには向いていない、という記述もある。)

Gmail も自前でユーザに通知させるレピュテーションの仕組みを持っているが、Gmail の中で閉じられている。