18. Slony-I 管理スクリプト

CVS ツリーの altperl ディレクトリに Slony-I 一式をを管理するのに使用されるかなり多くの Perl スクリプトがあり、これらは任意の数のノードをサポートします。

これらスクリプトの殆どは Slonik スクリプトを生成し、その後ある特定のクラスターの全ての Slony-I ノードに供給される slonik ユーティリティに渡されます。1回だけ slonik スクリプト上で稼働中の slonik に組み込まれます。残念ながら、これは時たま、ちょっとしたコマンドラインの入力ミスなどで、大口径の"フットガン"(訳者註:自分の足を狙って撃つ銃)となり、スクリプトが単に出力を標準出力に出すように変更された振舞をする、とてもおかしな動作を引き起こします。管理者は slonik に供給する前にスクリプトを見直す必要があります。

18.1. ノード/クラスタ構成 - cluster.nodes

Unix 環境変数 SLONYNODESSlony-I クラスタ内のノードの形を管理するためどの Perl 構成ファイルを使用するかを決定します。

設定される変数

その後 add_node() に対し一連の呼び出しを使用してレプリケートされるノードの集合を定義します。

add_node (host => '10.20.30.40', dbname => 'orglogs', port => 5437, user => 'postgres', node => 4, parent => 1);

add_node() のパラメータは下記の通りです:

my %PARAMS =   (host=> undef,		# ホスト名
	   	dbname => 'template1',	# データベース名
		port => 5432,		# ポート番号
		user => 'postgres',	# 接続ユーザ
		node => undef,		# ノード番号
		password => undef,	# ユーザパスワード
		parent => 1,		# このノードの親ノード
		noforward => undef	# このノードを結果転送するように設定するか?
                sslmode => undef        # SSL モード引数 - SSL 使用の優先度の決定 = disable,allow,prefer,require
);

18.2. セットの構成 - cluster.set1, cluster.set2

Unix 環境変数 SLONYSET はある特定のレプリケーションセットにどのオブジェクトが含まれるかを決定するために使用されます。

全てのslonik-生成によるスクリプトに対して基本となる SLONYNODES とは異り、特定のレプリケーションセットにどのテーブルがあるかを管理するためのスクリプトで、これは create_set を実行する時にだけ必要となります。

設定される変数

18.3. slonik_build_env

データベースへの問い合わせ、slon_tools.conf の構成に適用ができれば可能な出力の生成

18.4. slonik_create_set

これは SLONYNODES と共に SLONYSET の設定が必要です。複製されるテーブルとシーケンスのセットを構成するレプリケーションセットを設定する slonik スクリプトを生成するのに使用されます。

18.5. slonik_drop_node

Slony-I クラスタからノードを削除する Slonik スクリプトの生成

18.6. slonik_drop_set

レプリケーションセットを削除する Slonik スクリプトを Slony-I クラスタから生成(例えば:テーブルとシーケンスのセット)

18.7. slonik_execute_script

レプリケーションセットに DDL 変更をプッシュする Slonik スクリプトの生成

18.8. slonik_failover

稼働停止ノードから他の新規起源にフェイルオーバ要求をする Slonik スクリプトの生成

18.9. slonik_init_cluster

ノードの設定、通信パス、およびリスナー経路指定を含む全ての Slony-I クラスタ初期化の Slonki スクリプトの生成

18.10. slonik_merge_sets

2つのレプリケーションセットを併合させる Slonik スクリプトの生成

18.11. slonik_move_set

異るノードへ特定セットの起源を移動させる Slonik スクリプトの生成

18.12. replication_test

Slony-I が首尾よくデータを複製できたか否かを試験するスクリプト

18.13. slonik_restart_node

あるノードの起動を要求する Slonik スクリプトの生成。 1.0.5より前で、slonデーモンが死んでしまった時にノードも停止させたい場合に特に有用でした。

18.14. slonik_restart_nodes

クラスタ内の全てのノードを再起動する Slonik スクリプトの生成。特別有用なものではありません。

18.15. slony_show_configuration

諸々を構成するためにどの様に環境(例えば ー SLONYNODES)が設定されたかの全体の俯瞰

18.16. slon_kill

slony ウォッチドッグと特定のセットに対する全ての slon デーモンの停止

18.17. slon_start

指定されたクラスタとノードに対して slon デーモンを稼働させ、slon_watchdog を使用して稼働を継続

18.18. slon_watchdog

slon_start が使用

18.19. slon_watchdog2

洗練されたウォッチドッグの様なもの。特定の Slony-I ノードを監視し、20 分以上更新がされない場合 slon プロセスを再起動

slon が知らないうちに時おり停止してしまうような信頼性のないネットワーク接続の場合に有用

18.20. slonik_store_node

既存のクラスタにノードを追加

18.21. slonik_subscribe_set

特定のレプリケーションセットに対して特定のノードを複製する Slonik スクリプトの生成

18.22. slonik_uninstall_nodes

それぞれのノードを巡回し Slony-I スキーマをノードから削除。クラスタ全般に渡りレプリケーションを削除する時に使用。非常に危険なスクリプト

18.23. slonik_unsubscribe_set

レプリケーションセットからあるノードを複製しない Slonik スクリプトの生成

18.24. slonik_update_nodes

全てのノードに対し Slony-I 機能を更新させるスクリプトの生成。特に Slony-I のバージョンを新規バージョンに更新する場合に必要

18.25. regenerate-listens

Slony-I ノードに接続し、どのようなt STORE LISTEN 要求がクラスタに送られなくてはならないかを演算する問い合わせ(sl_set, sl_node, sl_subscribe, sl_pat)を各種テーブルに対して実行

より詳細な動作については 項8.3 のドキュメントを参照してください。