ホーム DoRuby Slony-Iでのフェイルオーバー手順

Slony-Iでのフェイルオーバー手順

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

Slony-Iで同期をとっている環境での、マスタDBとスレーブDBのフェイルオーバー手順です。

フェイルオーバー前

 マスタDB:db1

 スレーブDB:db2

postgres@db1$ postgres stop
 →障害発生の想定
postgres@db1$ slon_kill
 →db1,db2それぞれでSlonyデーモンを起動している場合なので注意
postgres@db2$ slonik_failover 1 2 | slonik
 →これでdb2がマスタになり更新の操作が行えるようになる。
  フェイルオーバーはマスタが死んでても可能
 →アプリの参照DBを元スレーブのdb2に変更
postgres@db1,2$ vi /usr/local/etc/slon_tools.conf
 ----------
 $MASTERNODE = 2; <==1を2に変えておく
 ----------
postgres@db1$ postgres start
 →障害復旧の想定

db1 をdb2からスキーマダンプなどしてDB作成(createlang忘れずに)

postgres@db2$ slonik_drop_node 1 | slonik
postgres@db2$ slonik_store_node 1 | slonik
postgres@db2$ slonik_subscribe_set set1 1 | slonik
postgres@db1$ slon_start
 →同期開始。冗長性回復
記事を共有

最近人気な記事