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