LoginSignup
1
1

More than 5 years have passed since last update.

エラー時の備えその1(Clustre Replication / Hot Standby)

Last updated at Posted at 2015-12-14

v1.3.0RC1から追加されたCluster replication機能の紹介です
7d4a631b-2e17-abd6-66c1-ff60b4e3e22b.png

Cluster Replication

  • NOSQL界では色んな意味で使われているCluster replicationですが、複数サーバでclusterを構成して冗長化するいわゆるclustering機能はROMAは初期から持っています
  • 今回の機能はHot Standby機能となり、メインのクラスターのレプリカを用意しておくことが出来ます
  • エラー時はAPIのアクセス先を切り替えるだけで復旧が可能になります

レプリカクラスター

  • 構成はメインのクラスターと同様にする必要はありません
    • 冗長度を低くしたり、インスタンス数の少ない低コストクラスターをレプリケーションにすることが可能です
  • replicaのreplicaというように更に予備を用意しておくことも可能です

使用方法

1. メインクラスターとレプリカ用のROMAクラスターを立ち上げる

  • 特に追加のconfigの設定等は必要ありません

2. レプリケーションの開始

コマンド

> switch_replication <true|false> [nid] [all]

  • 1番目のオプションでreplicationの開始(true)と停止(false)を指定します
  • 2番目のオプション([nid])で、レプリケーション用のクラスター情報を指定します
    • フォーマットは\${address}_${port No.}です
      例)localhost_10001
    • どれか1instanceだけ指定すればROMA側で自動的にreplica clusterのrouting情報を取得します
  • 3番目のオプションのallは既存のデータをコピーするかを指定します
    • allオプションを指定すると、replicationコマンドを実行する前の過去のデータもバックグラウンドでコピーします
    • 指定しなかった場合は、コマンド実行後に変更のあったデータのみreplicationします

$ telnet ${address} ${port} # メインクラスターへtelnetでアクセスします
> switch_replication true 192.168.33.99_20001
  • replication clusterのインスタンスが192.168.33.99_20001だった場合

3. ステータス確認

statコマンドでreplicationのステータスを確認することが出来ます

> stat replica
write-behind.run_replication true # replication機能が実行中かどうかを示します
write-behind.run_existing_data_replication false # 既存のデータのコピー中であることを占め島s(allオプションをつけた場合のみ)
write-behind.replica_mklhash b645bba848c7013ec7357963a1b37d4369c11b37
write-behind.replica_nodelist ["replicaA_11211", "replicaA_11212", "replicaB_11211", "repicaB_11212", "replicaC_112121", "replicaC_11212"] # replicatクラスターのインスタンス情報
END
  • replicaクラスターが3server、6instanceで構成していた場合
    • replicaA_11211
    • replicaA_11212
    • replicaB_11211
    • replicaB_11212
    • replicaC_11211
    • replicaC_11212

参照URL

ROMA Blog: http://roma-kvs.org/blogs/blog-entry-15.html

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1