|
based on v26 Mongoデータベースはサーバ間でのレプリケーションをサポートしています。 レプリケーションは、master-slave構成を拡張したもので、一つのサーバだけが書き込みに対してアクティブ(master)になることを意味します。レプリケーションの一番の目的は、フェイルオーバーと冗長性です。 Mongoは二つの種類のレプリケーションをサポートします。単純なmaster-slaveの構成と、replica pairな構成です。詳しくは次のページを参照してください。
セキュリティセキュリティ機能が有効になっている場合、両方のサーバ上に存在するlocalのデータベースで、ユーザアカウントを設定してください。 slave側のレプリケーション接続は、 local.system.users の repl ユーザをまず探します。存在する場合、ソース側のデータベースに対しての認証で、そのユーザを使います。 repl ユーザが存在しない場合、 local.system.users の最初のユーザオブジェクトで接続を試みます。 local データデースは、 admin データベースのように使われます。 local にあるアカウントですべてのサーバへアクセスします。 シェルでmongo シェルでmasterのステータスを確認します。 // master上のlocal.oplog.$main の中を調べ、状態を表示します。
db.printReplicationInfo()
mongo シェルでslaveの状態を確認します。 // slaveのlocal.sourcesを中を調べ、状態を表示します。
db.printSlaveReplicationInfo()
(上記のファンクションを括弧なしで実行することで、javascriptのソースを見ることができます) バージョン1.3.2時点では、slaveで以下のことができます。 db._adminCommand( { serverStatus : 1 , repl : N } )
N は、診断情報のレベルで、以下の値を設定することができます。
httpインターフェース管理用の http Interace (port 28017) で、master/slaveどちらでも、基本的なmongodのプロセスの情報を確認できます。 replInfo: repl: sleep 2sec before next pass replication master: 0 slave: 1 initialSyncCompleted: 1 オプション遅延slaveヒューマンエラーの対策として、masterから数時間遅れたデータを持つslaveを持つことが有益なことがあります。これは、MongoDB 1.3.3以上で、--slavedelayオプションをmongodコマンドラインオプションに付けることで可能です。 --slavedelay masterからslaveに遅らせる時間(秒で)を指定します。 参照 |

IF YOU HAVE A QUESTION, POST IT TO THE USER GROUP.
These pages are fine for comments, but for questions, your best bet will always be the MongoDB User Group. blog comments powered by Disqus