メンテナンスモード
NCache のメンテナンス モードをサポートします。 パーティション-レプリカ トポロジ。これは、最も一般的に使用されるキャッシングトポロジです。
メンテナンス モードは、キャッシュ サーバー上のハードウェア/ソフトウェアのパッチ適用またはアップグレードに対応するために導入されました。アップグレードの一般的なワークフローには、一度に 1 つのキャッシュ ノードを停止し、サーバーをアップグレードし、サーバー上でキャッシュを再起動することが含まれます。このアップグレード手順により、アプリケーションのダウンタイムが回避されます。ただし、キャッシュ ノードを停止すると、キャッシュ クラスター全体内で状態の転送がトリガーされ、ネットワークや CPU などのリソースが過剰に使用されます。
NCache メンテナンス モードでは、メンテナンスのためにノードを一時的に停止する場合に状態転送を停止することで、この問題を解決します。メンテナンスのためにノードが明確に停止されると、実行中のキャッシュ クラスターに、指定されたタイムアウト期間の間、状態転送を停止するように通知されます。クラスターがメンテナンス モードにある場合、停止したノードに対するクライアント データ要求はそのレプリカ ノードから処理されます。停止したノードがクラスターに再参加すると、そのレプリカ ノードからデータが転送されます。
メンテナンスモードの仕組み
以下に示すように、3 つのノードからなるクラスターを考えてみましょう。 ノード 1 がメンテナンス対象としてマークされている場合、状態転送は特定のタイムアウトの間停止され、操作はノード XNUMX 上のレプリカから提供されます。メンテナンス期間中、メンテナンス ノードのレプリカはアクティブ パーティションとして機能します。 これはクライアントの介入なしで行われ、メンテナンスのためにノードが停止した場合でも、クライアントの操作がスムーズに動作することを保証します。
タイムアウトと状態転送
ユーザーが構成するタイムアウトは、状態転送スレッドの待機期間として機能します。 このスレッドは、ノードに再参加するか、参加しないことによって、クラスターがメンテナンスモードを終了するのを待ちます。 この場合、XNUMXつの結果があります。
ノード3は、タイムアウト内にクラスターに再参加しません。
この場合、状態転送タスクが残りのノード (ノード 1 とノード 2) の間で開始され、通常の状態に戻ります。
この場合、ノード2が突然クラスターを離れると、そのレプリカがノード3に存在していたため、データが失われる可能性があることに注意してください。
ノード3は、タイムアウト内にクラスターに再参加します。
ノード3がタイムアウト期間内に再参加すると、状態転送が開始され、クラスターの元の状態に戻ります。 この状態転送は現在、XNUMXつの段階で構成されています。
- ノード1(ノード3のレプリカ)->ノード3(ノード3のアクティブパーティション)
- ノード2(ノード2のアクティブパーティション)->ノード3(ノード2のレプリカ)
行動
クラスターをメンテナンス対象としてマークするには、少なくとも 2 つのノードが必要です。
クラスターがメンテナンス対象としてマークされている場合、クラスターに対してノードを追加または削除することはできません。 NCache 管理センターまたはツール。
クラスターがメンテナンス対象としてマークされている場合、メンテナンスのために停止されたノード以外の他のノードは起動できません。ノード 3 がすでに停止しており、ノード 2 がメンテナンス対象としてマークされていると仮定します。起動できるのはノード 2 のみです。
メンテナンスのために停止されていないノードを停止/起動すると、「クラスターはすでにメンテナンス中です」という例外がスローされます。
ノードのダウンまたはアップによって状態転送がすでに進行中の場合、クラスターをメンテナンス対象としてマークすることはできません。 「クラスターはメンテナンス、状態転送、または処理中のクラスター状態変更には使用できません。」という例外がスローされます。
ユーザーは、状態転送カウンターを使用するか、キャッシュ ログ ファイルを確認することで、クラスターが状態転送中かどうかを確認できます。
%NCHOME%/log-files
(Windows)または\opt\ncache\log-files
(Linux)。 「状態転送が完了しました」がログファイルに記録されます。クラスターにメンテナンスのマークが付けられると、キャッシュログには「ノードのメンテナンス中にマークされたクラスター:[IP]:[Port] for xx:xx:xx {HH:MM:SS)」のログが記録されます。
クラスターは、次のシナリオでメンテナンス モードを終了できます。
- メンテナンスのマークが付けられたノードが再開します。
- メンテナンスモードのタイムアウトが発生します。
- 「メンテナンス モードの終了」オプションは、 NCache 管理センター.
- ノードが突然クラスターを離れます。
クラスターがメンテナンス モードを終了すると、状態転送が開始されます。