情報は企業で最も価値のある資産の1つであるため、事故やハードウェア障害が発生した場合のデータ損失を防ぐために、優れたディザスタリカバリプラン(DRP)が必要になります。バックアップはすべてのDR計画の基本的なステップですが、複雑な環境では、バックアップの管理と監視は困難な作業になる可能性があります。
ClusterControlには多くの高度なバックアップ管理機能(自動フェイルオーバー、監視などの重要な機能があります)があり、さまざまな種類のバックアップをさまざまな方法で取得できるだけでなく、圧縮することもできます。暗号化、検証、その他。
このブログでは、ClusterControlを使用してPostgreSQLデータベースクラスターの高度な方法でバックアップを管理する方法を説明します。
まず、データを安全に保つために使用できるバックアップの種類について説明しましょう。
-
論理:バックアップはSQLなどの人間が読める形式で保存されます。
-
物理:バックアップにはバイナリデータが含まれています。
-
フル/増分/差分:これら3種類のバックアップの定義は、名前に暗黙的に含まれています。完全バックアップは、すべてのデータの完全コピーです。増分バックアップは前回のバックアップ以降に変更されたデータのみをバックアップし、差分バックアップには最後に実行された完全バックアップ以降に変更されたデータのみが含まれます。増分バックアップと差分バックアップは、完全バックアップの実行にかかる時間とディスク容量の使用量を減らす方法として導入されました。
-
ポイントインタイムリカバリ互換:PITR過去の任意の時点でのデータベースの復元が含まれます。これを実行するには、完全バックアップを復元してから、バックアップ後に発生したすべての変更を障害の直前まで適用する必要があります。
ClusterControlを使用すると、PostgreSQLデータベースのこれらすべてのタイプのバックアップを作成したり、それらを組み合わせてバックアップ戦略を改善したりすることができます。
ClusterControlバックアップ管理機能
では、ClusterControlを使用して、同じユーザーフレンドリーなUIとシステムからさまざまな種類のバックアップをすべて管理する方法を見てみましょう。
ClusterControlサーバーがインストールされており、PostgreSQLクラスターを管理していると想定します。それ以外の場合は、公式ドキュメントに従ってClusterControlをインストールし、それを使用してPostgreSQLクラスターをデプロイまたはインポートできます。
これを行うには、ClusterControl->PostgreSQLクラスターの選択->バックアップ->バックアップの作成に移動します。
新しいバックアップを作成するか、スケジュールされたバックアップを構成できます。この例では、単一のバックアップを即座に作成します。
ここでは、前述のバックアップの種類ごとに1つの方法があります。
| | |
---|---|---|
| pg_dumpall | これは、クラスターのすべてのPostgreSQLデータベースを1つのスクリプトファイルに書き出すためのユーティリティです。スクリプトファイルには、データベースの復元に使用できるSQLコマンドが含まれています。 |
| pg_basebackup | これは、システムがバックアップモードに自動的に出入りすることを確認しながら、データベースクラスタファイルのバイナリコピーを作成するために使用されます。バックアップは常に、実行中のPostgreSQLデータベースクラスターのデータベースクラスター全体に対して行われます。これらは、データベースの他のクライアントに影響を与えることなく取得されます。 |
Full / Incr / Diff | pgbackrest | これは、データベース固有の要件に最適化されたアルゴリズムを利用することで、最大のデータベースとワークロードにシームレスにスケールアップできる、シンプルで信頼性の高いバックアップおよび復元ソリューションです。最も重要な機能の1つは、完全バックアップ、増分バックアップ、および差分バックアップのサポートです。 |
PITR | pg_basebackup + WAL | PITR互換のバックアップを作成するために、ClusterControlはpg_basebackupとWALファイルを使用して、過去の任意の時点でデータベースを復元できるようにします。 |
バックアップを取得するサーバーと、バックアップを保存する場所の1つの方法を選択する必要があります。対応するオプションを有効にすることで、同じバックアップジョブでバックアップをクラウド(AWS、Google Cloud、またはAzure)にアップロードすることもできます。
次に、圧縮、暗号化、および保存期間を指定できます。バックアップ。
バックアップセクションでは、バックアップの進行状況を確認できます。メソッド、サイズ、場所などの情報。
バックアップが終了したら、ClusterControlを使用してバックアップを復元できます。このため、バックアップセクション(ClusterControl-> PostgreSQLClusterの選択->Backup)で、Restore Backupを選択するか、復元するバックアップを直接復元することができます。
バックアップを復元するには3つのオプションがあります。既存のデータベースノードで復元したり、スタンドアロンホストでバックアップを復元して確認したり、バックアップから新しいクラスターを作成したりできます。
PITR互換のバックアップを復元する場合は、時刻も指定する必要があります。
データは指定された時間に復元されます。 UTCタイムゾーンが使用され、PostgreSQLサービスが宛先ノードで再起動されることを考慮してください。
ClusterControlサーバーの[アクティビティ]セクションから復元の進行状況を監視できます。
復元できない場合、バックアップはバックアップではありません。バックアップの検証は、通常、多くの人に無視されていることです。 ClusterControlがPostgreSQLバックアップの検証を自動化し、復元する必要がある場合に予期しない事態を回避する方法を見てみましょう。
ClusterControlで、クラスターを選択し、[バックアップ]セクションに移動して、[バックアップの作成]を選択します。
自動検証バックアップ機能は、スケジュールされたバックアップで使用できます。それでは、バックアップのスケジュールオプションを選択しましょう。
バックアップをスケジュールするときは、方法やストレージなどの一般的なオプションを選択するだけでなく、スケジュール/頻度も指定する必要があります。
次のステップでは、バックアップを圧縮および暗号化して、次のように指定できます。保存期間。ここには、バックアップの検証機能もあります。
この機能を使用するには、専用のホスト(またはVM)が必要です。クラスターの一部ではありません。
ClusterControlはソフトウェアをインストールし、このホストにバックアップを復元します。このノードをテストまたはレポートのために実行し続けるか、次の検証ジョブまでノードをシャットダウンできます。
復元後、ClusterControlバックアップセクションに確認アイコンが表示されます。
バックアップは、データの保護に役立つため、どの環境でも必須です。それらを管理するには、高度なバックアップ機能を備えた優れたツールを用意して、可能な限りシンプルにすることが重要です。
ClusterControlには、バックアップのスケジューリング、監視、バックアップの検証など、このタスクに役立つ多くの機能があります。また、さまざまなバックアップ方法をサポートしており、それらを組み合わせて適切なDRPを設定できます。