5. Slony-I の保守

Slony-I は実際 "cleanup" スレッドで数多くの必要とされる保守を自身で行います。

5.1. ウォッチドッグ:Slon を走らせ続けるために

物事を監視する2つの"ウォッチドッグ"が利用でき、接続を失わせるネットワーク"欠陥"等の理由で slon プロセスが突然停止した時、再起動を掛けます。

走らせてみたいと思いませんか …

5.2. ウォッチドッグと並行して:generate_syncs.sh

Slony-I 1.1 用の新しいスクリプトは generate_syncs.sh で、次のような状況に対処するものです。

slon デーモンが常時稼働しないかもしれない重厚でないサーバであって、週明けに業務に戻って来たら以下の状況を発見した。

金曜日の夜に何かが"突沸"し、データベースは復旧したものの slon デーモンは生き残っていなかった。オンラインアプリケーションはほぼ3日に渡る常識的とも言える大量のトランザクション負荷に見舞われた。

月曜日に slon を再起動した時点で、金曜日からマスター上で SYNC をしていないので次の "SYNC セット"は金曜日から月曜日までの全ての更新を含んでいた。オエッ!

もしも generate_syncs.sh を20分おきにクロンジョブとして走らせておけば、オリジン上で SYNC を定期的に強制し、金曜日から月曜日の間で数多くの更新が100以上の SYNC に分割され、増分が適用されるので掃除がより快適になります。

もしも SYNC が定期的に走しらされてるならこのスクリプトは功も害も与えないことを覚えておいてください。

5.3. レプリケーションテストスクリプト

tools ディレクトリに Slony-I インスタンスを監視するのに用いられる4つのスクリプトがあります。

5.4. ログファイル

slon デーモンはどのデバッグレベルが設定されているかに応じて何らかの水準の冗長的なログを生成します。類別も必要かもしれません。