pgd raft sync-snapshot#

概要#

pgd raft sync-snapshot コマンドは、EDB Postgres分散クラスター内のすべてのノードでRaft状態を同期させます、その状態が分岐した場合。

コマンドは、変更を行う前にプリフライトチェックを実行します。BDRバージョンを検証し、Raftリーダーを識別し、すべてのノードに到達可能であることを確認し、状態が既に同期しているかどうかを確認します。状態が既に一貫している場合、 --ignore-sync-status が指定されていない限り、コマンドは変更せずに終了します。

変更が必要な場合、次のコマンド

  1. すべてのノードでRaftを無効にします。

  2. リーダーノードから現在のRaft状態をエクスポートします。

  3. リーダーのRaft状態をすべてのフォロワーノードにインポートします。

  4. すべてのノードでRaftを再度有効にし、リーダーが選択されるのを待ちます。

サブスクライバー専用グループは独自のRaftインスタンスを持たず、このコマンドの有効なターゲットではありません。サブスクライバ専用ノードを含むRaft状態を同期するには、 --group なしでコマンドを実行します。

ユーザーとロール#

bdr_superuser ロールが必要です。 ユーザーロール を参照してください。

構文#

pgd raft sync-snapshot [OPTIONS]

オプション#

pgd raft sync-snapshot コマンドでは、次のオプションが使用できます。

Option

Default

Description

--group

名前で特定のグループをターゲットにします。指定しない場合、デフォルトのトップレベルグループ。

--check

false

クラスターに変更を加えずに、プリフライトチェックのみを実行します。

--ignore-sync-status

false

Raftの状態がすべてのノードで既に一貫している場合でも、同期を続行します。

共通のグローバルオプションについては、 Global Options を参照してください。

例#

プリフライトチェックのみを実行する#

pgd raft sync-snapshot --check
__OUTPUT__
Performing Raft Sync-Snapshot Pre-flight Checks
- -----------------------------------------------
Checking BDR version                                          ok (6.4.0)
Resolving target group                                        ok (dc-1)
Identifying raft leader                                       ok (leader: pgd-a1)
Discovering cluster nodes                                     ok (3 nodes)
Connecting to pgd-a1 (leader)                                 ok
Connecting to pgd-a2                                          ok
Connecting to pgd-a3                                          ok
Validating node states                                        ok
Checking raft sync status                                     ok (out of sync)

Raft Sync-Snapshot Pre-flight Report
- ------------------------------------
Target group:    dc-1
Raft leader:     pgd-a1
Nodes in scope:  3 (pgd-a1, pgd-a2, pgd-a3)

All pre-flight checks passed. Ready for sync-snapshot.

グローバルグループを同期する#

pgd raft sync-snapshot
__OUTPUT__
Performing Raft Sync-Snapshot Pre-flight Checks
- -----------------------------------------------
Checking BDR version                                          ok (6.4.0)
Resolving target group                                        ok (dc-1)
Identifying raft leader                                       ok (leader: pgd-a1)
Discovering cluster nodes                                     ok (3 nodes)
Connecting to pgd-a1 (leader)                                 ok
Connecting to pgd-a2                                          ok
Connecting to pgd-a3                                          ok
Validating node states                                        ok
Checking raft sync status                                     ok (out of sync)

Performing Raft Sync-Snapshot
- ----------------------------
Disabling raft on pgd-a1                                      WARNING:  disabling the consensus
ok
Disabling raft on pgd-a2                                      ok (already disabled)
Disabling raft on pgd-a3                                      WARNING:  disabling the consensus
ok
Exporting snapshot from leader (pgd-a1)                       ok
Importing snapshot on pgd-a2                                  ok
Importing snapshot on pgd-a3                                  ok
Re-enabling raft on pgd-a1                                    ok
Re-enabling raft on pgd-a2                                    ok
Re-enabling raft on pgd-a3                                    ok
Waiting for raft recovery                                     ok (leader: pgd-a3)

Raft sync-snapshot completed successfully.