web-dev-qa-db-ja.com

PostgresバックアップPITR戦略

注:-質問の内容が広すぎるかもしれません。しかし、私はそれは非常に優れたプラットフォーム(stackexchange)であり、世界中の専門家DBAからここでアドバイスを得ることができると信じています。それ以来、私は決定を下したり、正しいオプションを選択したりすることができません。

Que:私はpostgresに不慣れで、継続的に成長しているデータベース用のPITRソリューションを作成する必要があります。データベースのサイズが急速に増加しているため、増分バックアップソリューションも計画する必要があります。データを失う余裕がなく、PITRも必要な場合は、次のいずれかが最適なソリューションです。

  • スタンバイを用意し、障害/災害が発生した場合は、スタンバイdbクラスターの完全バックアップ(pg_basebackup)を取り、そのバックアップからPITRを実行します(recovery.conf -time)。

    • 増分バックアップ+ログバックアップを継続的に取得します。

    • サードパーティのツールを使用して、postgres dbの増分バックアップとログバックアップを実行します。

誰かがそのオプションも提案している場合は、より良いオプションまたは他のオプションを教えてください。また、データベースに複数のスタンバイがある場合、または悪影響がある場合に、データベースにパフォーマンスの影響が生じる可能性があるかどうかを知らせてください。スタンバイを維持する。

-前もって感謝します!

可能性はたくさんあります!

PITR vs STANDBY

PITRとスタンバイは補完的なソリューションです。

  • Standbyは、以下から回復するのに興味深いものです。
    • 物理的な問題:サーバーのクラッシュ、データセンターの利用不可
    • 迅速な切り替え手順を提供する
  • PITRは、データが破損した場合に役立ちます

    データに損傷を与える操作を実行した場合(DROP TABLE、UPDATEに間違ったWHERE句を使用した場合...)。その後、この操作の前にデータベースを復元できます。

実装

PITRの実装

PITRの実行に役立つツールはたくさんありますが、私はすでに使用しています。

  • バーテンダー
  • ウォルエ

そしてまたあります:

  • PgBackREst
  • ...

この 記事 は、いくつかのLINUXバックアップツールをリストして比較します。

PITRの実装に関する私からのアドバイスは次のとおりです。

  • 既存のツールを使用します(新しいツールを作成しようとしないでください)。
  • バックアップをテストする
  • バックアップを監視します(監視ポイントが失敗することを確認してください)。

スタンバイ実装

ネイティブであるため、実装側で追加のツールを使用する必要はありません。

だが:

  • 正しく監視する
  • スイッチ手順を作成してテストします(必要に応じて手順が不正確にならないように、定期的に再テストします)。
0
Thomas B