ディスク容量管理

このガイドでは、SUSE Managerを使用して`mgradm`サーバーのオンラインデータベースのバックアップを管理する方法を説明します。 バックアップシステムは、PostgreSQLの継続的アーカイブのWrite-Ahead Logging(WAL)に基づいており、以前のバージョンの`smdba`と同様です。

  • システムが完全に復元できるように、データベースと他のシステムボリュームの定期的なバックアップを実施してください。

  • 災害復旧のために、バックアップボリュームとWALファイルを外部ストレージデバイスまたはオフサイトの場所に定期的にコピーしてください。

1. 概要

継続的アーカイブは、トランザクションログ(WAL)を専用ボリュームに常にバックアップすることにより、データ損失のリスクを低減します。

バックアップシステムは、`var-pgsql-walbackup`という専用のPodmanボリュームを利用して、次のものを保存します:

  • ベースバックアップ(完全なバックアップ)(データベースの完全スナップショット)。

  • WALセグメント(最後のベースバックアップ以降の増分変更)。

時点復元は現在`mgradm`によってサポートされておらず、手動のワークフローが必要です。

`mgradm`ツールでは、完全な復元のみがサポートされています。 復元手順は、バックアップ場所からすべてを復元します。

2. 前提条件

  • ホストにインストールされた`mgradm`ツール。

  • Podman環境で実行されているSUSE Managerサーバー。

3. バックアップの有効化

証明書ファイルを生成するには、次のコマンドを実行します。

mgradm backup db enable

コマンドを実行します。

  • バックアップがすでに有効でないことを確認します。

  • archive_mode`を有効にするためにPostgreSQL(`postgresql.conf)を構成し、`archive_command`を設定します。

  • データベースサービス用に`var-pgsql-walbackup`ボリュームを構成します。

  • spacewalkサービスを再起動して変更を取得します。

  • コンテナ内で初期ベースバックアップを実行します。

バックアップがすでに構成されているが再初期化が必要な場合は、`--force`フラグを使用してください。

4. mgradm backup create $path

データベースバックアップシステムの現在の状態をいつでも確認できます:

mgradm backup db status

認証レポートは次のいずれかのステータスになります。

  • 有効:バックアップは正しく構成されており、アクティブです。

  • 無効:継続的アーカイブは明示的にオフになっています。

  • 誤設定:設定と実行時の状態に不一致があります(例えば、ボリュームが欠落している、アーカイブコマンドが不正確です)。

5. バックアップの維持(リベース)

時間が経つにつれて、WALセグメントの数は大幅に増加し、ディスクスペースを消費し、復元時間が増加します。 新しいベースバックアップを作成し、新しいWALチェーンを開始することで、定期的にバックアップを「リベース」することをお勧めします。

mgradm backup db rebase

このコマンドは、サービスの再起動を必要とせずにデータベースの新しい完全スナップショットを作成します。

コマンド`mgradm backup db rebase`を使用してデータベースバックアップを定期的にリベースし、復元操作に必要な時間を最小限に抑えてください。

6. バックアップからの復元

バックアップからの復元は、*破壊的操作*であり、現在のデータベースデータをバックアップの内容で置き換えます。

mgradm backup db restore

復元処理:

  • 次のコマンドを使用して、データベースを起動します。

  • 新しいデータベースディレクトリをマウントします。

  • バックアップボリュームからベースバックアップを抽出します。

  • 回復のためにPostgreSQLを構成します。

  • 次のコマンドを使用して、データベースを起動します。

  • WALセグメントを再生して、データベースを最新の状態にします。

コマンドは、データベースが完全に回復し、接続を受け入れる準備が整うまで待機します。

復元を行う前に、最近のベースバックアップとすべての必要なWALセグメントが`var-pgsql-walbackup`ボリュームにあることを確認してください。

7. バックアップを無効にする

継続的アーカイブをオフにするには:

mgradm backup db disable

デフォルトでは、このコマンドは設定でアーカイブを無効にし、データベースを再起動しますが、バックアップボリュームは保持します。

バックアップボリュームとすべての保存されたバックアップを削除するには、次のコマンドを使用してください:

mgradm backup db disable --purge-volume

データの整合性を確認し、復旧の準備ができていることを確認するために、定期的に復元手順をテストしてください。

8. 外部文書

PostgreSQLに関する詳細は、 PostgreSQL 16: 継続的アーカイブと時点復旧(PITR)を参照してください。