遅延自己管理型レプリカセット ノードの構成
遅延セカンダリ メンバーを構成するには、 members[n].priority
の値を0
に、 members[n].hidden
の値をtrue
に、 members[n].secondaryDelaySecs
の値を遅延秒数に設定します。
重要
セカンダリmembers[n].secondaryDelaySecs
の長さは、oplog のウィンドウ内に収まる必要があります。 oplog がmembers[n].secondaryDelaySecs
ウィンドウより小さい場合、遅延ノードは操作を正常に複製できません。
遅延ノードを設定すると、遅延はレプリケーションとノードのoplogの両方に適用されます。 遅延ノードとその使用の詳細については、「遅延レプリカセット ノード 」を参照してください。
例
次の例では、現在members
配列のインデックス0
にあるセカンダリ メンバーに1時間の遅延を設定します。 遅延を設定するには、プライマリに接続されている mongosh
セッションで次の操作のシーケンスを発行します。
cfg = rs.conf() cfg.members[0].priority = 0 cfg.members[0].hidden = true cfg.members[0].secondaryDelaySecs = 3600 rs.reconfig(cfg)
レプリカセットが再構成されると、遅延されたセカンダリ ノードはプライマリになることができなくなり、アプリケーションから非表示になります。 members[n].secondaryDelaySecs
値はレプリケーションとノードのoplogの両方を3600秒( 1時間)遅延させます。
レプリカ構成オブジェクトを更新するときは、 配列インデックスmembers
を使用して、 配列内のレプリカセット メンバーにアクセスします。配列インデックスは0
で始まります。 このインデックス値を、 members
配列内の各ドキュメントのmembers[n]._id
フィールドの値と混同 しないでください 。
警告
rs.reconfig()
shell メソッドを使用すると、現在のプライマリを強制的に降格させることができ、選挙が行われます。プライマリが降格すると、mongod
はすべてのクライアント接続を閉じます。通常、この処理時間は 10 ~ 20 秒ですが、スケジュールされたメンテナンス期間中にこれらの変更を行ってください。MongoDB のバージョンによって検証ルールが異なる可能性があるため、異なるバージョンの MongoDB のノードを含むレプリカセットの再設定は避けてください。