ログ バックアップのトラブルシューティング

このドキュメントでは、ログ バックアップ中の一般的な問題とその解決策をまとめています。

br restore pointコマンドを使用してダウンストリーム クラスターを復元した後、TiFlash からデータにアクセスできません。私は何をすべきか?

v6.2.0 では、PITR はクラスターの TiFlash レプリカの復元をサポートしていません。データを復元した後、次のステートメントを実行して、スキーマまたはテーブルの TiFlash レプリカを設定する必要があります。

ALTER TABLE table_name SET TIFLASH REPLICA count;

ログ バックアップ タスクのstatusERRORになった場合はどうすればよいですか?

ログ バックアップ タスク中に失敗し、再試行後に回復できない場合、タスク ステータスはERRORになります。次に例を示します。

br log status --pd x.x.x.x:2379

● Total 1 Tasks.
> #1 <
                    name: task1
                  status: ○ ERROR
                   start: 2022-07-25 13:49:02.868 +0000
                     end: 2090-11-18 14:07:45.624 +0000
                 storage: s3://tmp/br-log-backup0ef49055-5198-4be3-beab-d382a2189efb/Log
             speed(est.): 0.00 ops/s
      checkpoint[global]: 2022-07-25 14:46:50.118 +0000; gap=11h31m29s
          error[store=1]: KV:LogBackup:RaftReq
error-happen-at[store=1]: 2022-07-25 14:54:44.467 +0000; gap=11h23m35s
  error-message[store=1]: retry time exceeds: and error failed to get initial snapshot: failed to get the snapshot (region_id = 94812): Error during requesting raftstore: message: "read index not ready, reason can not read index due to merge, region 94812" read_index_not_ready { reason: "can not read index due to merge" region_id: 94812 }: failed to get initial snapshot: failed to get the snapshot (region_id = 94812): Error during requesting raftstore: message: "read index not ready, reason can not read index due to merge, region 94812" read_index_not_ready { reason: "can not read index due to merge" region_id: 94812 }: failed to get initial snapshot: failed to get the snapshot (region_id = 94812): Error during requesting raftstore: message: "read index not ready, reason can not read index due to merge, region 94812" read_index_not_ready { reason: "can not read index due to merge" region_id: 94812 }

この問題を解決するには、エラー メッセージで原因を確認し、指示に従ってください。問題が解決したら、次のコマンドを実行してタスクを再開します。

br log resume --task-name=task1 --pd x.x.x.x:2379

バックアップ タスクが再開されたら、 br log statusを使用してステータスを確認できます。タスクのステータスがNORMALになると、バックアップ タスクは続行されます。

● Total 1 Tasks.
> #1 <
              name: task1
            status: ● NORMAL
             start: 2022-07-25 13:49:02.868 +0000
               end: 2090-11-18 14:07:45.624 +0000
           storage: s3://tmp/br-log-backup0ef49055-5198-4be3-beab-d382a2189efb/Log
       speed(est.): 15509.75 ops/s
checkpoint[global]: 2022-07-25 14:46:50.118 +0000; gap=6m28s

ノート:

この機能は、複数のバージョンのデータをバックアップします。長時間のバックアップ タスクが失敗し、ステータスがERRORになると、このタスクのチェックポイント データはsafe pointに設定され、 safe pointのデータは 24 時間以内にガベージ コレクションされません。したがって、エラーが再開された後、バックアップ タスクは最後のチェックポイントから続行されます。タスクが 24 時間以上失敗し、最後のチェックポイント データがガベージ コレクションされている場合、タスクを再開するとエラーが報告されます。この場合、最初にタスクを停止してから新しいバックアップ タスクを開始するbr log stopコマンドしか実行できません。

br log resumeコマンドを使用して中断されたタスクを再開するときに、エラー メッセージErrBackupGCSafepointExceededが返された場合はどうすればよいですか?

Error: failed to check gc safePoint, checkpoint ts 433177834291200000: GC safepoint 433193092308795392 exceed TS 433177834291200000: [BR:Backup:ErrBackupGCSafepointExceeded]backup GC safepoint exceeded

ログ バックアップ タスクを一時停止した後、MVCC データがガベージ コレクションされるのを防ぐために、一時停止中のタスク プログラムは、現在のチェックポイントをサービス セーフポイントとして自動的に設定します。これにより、24 時間以内に生成された MVCC データを確実に残すことができます。バックアップ チェックポイントの MVCC データが 24 時間以上生成されている場合、チェックポイントのデータはガベージ コレクションされ、バックアップ タスクは再開できません。

この問題に対処するには、 br log stopを使用して現在のタスクを削除し、 br log startを使用してログ バックアップ タスクを作成します。同時に、後続の PITR のフル バックアップを実行できます。

PITR ログの復元中に Exchange Partition DDL を実行したときにエラーが発生した場合はどうすればよいですか?

PITR ログの復元中に次のエラーが発生します。

restore of ddl `exchange-table-partition` is not supported

v6.2.0 では、ログ バックアップ機能は Exchange パーティション DDL と互換性がありません。ログのバックアップ中は、この DDL を使用しないことをお勧めします。 DDL を実行した場合は、すぐに完全バックアップを実行する必要があります。その後、PITR は完全バックアップ チェックポイントの後にログ データを復元できます。

エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.