CentOS5.3: Slony-I 2.0を使ってみた (1)

Slony-I (http://www.slony.info/) はPostgreSQL用のマスタースレーブ型のレプリケーションサービスであり、MySQLレプリケーションと同様、
1. スケールアウト
2. ディスク引き継ぎ無しでのフェイルオーバー
などに使用できる。また、MySQLでは、ある時点でDBのデータとログの情報が一致していないとレプリケーションを始めることができないが、Slony-Iではスレーブ側のデータが空でも、レプリケーションを始めることが出来る。(テーブルの作成だけは必要。)

一応、目標としては、Red Hat Cluster と組み合わせてフェイルオーバーを行うことなのだが、
Fedora 11についてはPGDG (https://projects.commandprompt.com/public/pgcore) でRPMが出ていない
CentOS 5.3 ではfence_virsh が無いため、フェールオーバーが出来ない
などの事情から、まずは、手動でSlony-Iを稼働させるところまでで満足することにした。

最初のDBのレプリケーション(localhost)は、こちらを参考にした。
http://powergres.sraoss.co.jp/s/ja/tech/plus/experience/vol10/largescale_database1.php
以前MySQLレプリケーションは行ったことがあったため、それと同じ感覚で使うことができた。

なお、今回PosrgreSQL 8.3 と、Slony-I 2.0 を使ったのだが、手順内で、

slonik < _EOF_
...
store node (id=2, comment='Slave')
...

の部分は、

slonik < _EOF_
...
store node (id=2, comment='Slave', event node = 1 )
...

としないと上手く動作しなかった。(slony-I 2.0 での変更らしい。)

これで、一応動作はしたのだが、 今のところslonデーモンを手動で起動する、停止はkill で行う等、運用上の改善の余地がある手順となっている。。 RPMには /etc/init.d のスクリプトも付属していたため、こちらが使えるかどうかを確認してみる。