ログ バックアップのトラブルシューティング
このドキュメントでは、ログ バックアップ中の一般的な問題とその解決策をまとめています。
br restore point
コマンドを使用してダウンストリーム クラスターを復元した後、TiFlash からデータにアクセスできません。私は何をすべきか?
v6.2.0 では、PITR はクラスターの TiFlash レプリカの復元をサポートしていません。データを復元した後、次のステートメントを実行して、スキーマまたはテーブルの TiFlash レプリカを設定する必要があります。
ALTER TABLE table_name SET TIFLASH REPLICA count;
ログ バックアップ タスクのstatus
がERROR
になった場合はどうすればよいですか?
ログ バックアップ タスク中に失敗し、再試行後に回復できない場合、タスク ステータスは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 は完全バックアップ チェックポイントの後にログ データを復元できます。