バックアップと復元

この章では、バックアップが必要なファイルに関する情報について説明します。 組み込みのバックアップと復元ソリューション(mgradm backup)を使用して、SUSE Multi-Linux Managerのバックアップを作成します。 この章の最後に、システム障害が発生した場合のバックアップからの復元に関する情報について説明します。

SUSE Multi-Linux Managerは、データベース、およびインストールされたプログラムと設定に依存しているため、インストールのすべてのコンポーネントをバックアップすることが重要です。 SUSE Multi-Linux Managerインストールを定期的にバックアップして、データ損失を防止し、迅速に回復できるようにしてください。

使用するバックアップ方法にかかわらず、現在のインストールで使用している容量の3 倍以上の空き容量が必要です。 容量が不足するとバックアップが失敗する可能性があるため、頻繁に確認してください。

1. smdbaを使用した古い方法を無効にする

SUSE Multi-Linux Manager 5.1を最初からインストールした場合は、このセクションをスキップしてください。

組み込みソリューションの登場により、smdbaバックアップツールを使用した古い方法は非推奨となりました。 smdbaを使用する古いシステムから新しいソリューションに移行した場合は、古い機能を無効にして、古いバックアップアーカイブを削除する必要があります。

移行前にsmdbaを無効にするか(推奨)、移行後のSUSE Multi-Linux Manager 5.1システムで無効にしてください。

プロシージャ: 移行前にインストール済みのsmdbaを使用した古い方法を無効にする

このプロシージャは、smdbaがまだインストールされている場合にのみ機能します。

SUSE Manager 4.3 (非コンテナ化インストール)またはSUSE Manager 5.0 (コンテナ化インストール)が存在する場合(つまり、移行前に5.0または4.3)、コマンドが異なります。

SUSE Manager 4.3

コマンドラインで、rootとして次のコマンドを実行します。

smdba backup-hot --enable=off
SUSE Manager 5.0

コンテナホストのコマンドラインで、rootとして次のコマンドを実行します。

mgrctl exec -- smdba backup-hot --enable=off

これにより、/var/lib/pgsql/data/postgresql.confarchive_commandが次のように変更されます。

archive_command = '/bin/true'

これで、古いシステムをSUSE Multi-Linux Manager 5.1に移行する準備が整いました。

プロシージャ: 移行後にSUSE Multi-Linux Manager 5.1における古い方法を無効にする

smdbaが利用できなくなっている場合は、移行後にこのプロシージャを使用します。

  1. コンテナホストで、root として/var/lib/containers/storage/volumes/var-pgsql/_data/postgresql.confを編集し、以下のオプションを設定します。

    archive_mode = off
    archive_command = '/bin/true'
  2. コンテナを再起動します。

    mgradm restart

2. SUSE Multi-Linux Managerのバックアップ

SUSE Multi-Linux Managerのインストールをバックアップする最も包括的な方法は、mgradm backup createコマンドを使用することです。 これにより、バックアップの管理にかかる時間を節約でき、障害発生時に再インストールと再同期をより速く実行できます。 ただし、この方法ではディスク領域がかなり必要になるため、バックアップの実行に時間がかかることがあります。

mgradm backup createコマンドは、ディレクトリへのバックアップを実行します。 このディレクトリは、ローカルストレージでもマウントされたリモートストレージでも構いません。

mgradm backup createコマンドは、バックアップの内容をさまざまな方法でカスタマイズできます。 利用可能なすべてのオプションについては、mgradm backup create --helpを参照してください。

2.1. SUSE Multi-Linux Managerのフルバックアップ

SUSE Multi-Linux Managerのフルバックアップは、次のコンポーネントのバックアップで構成されます。

  • SUSE Multi-Linux Managerボリューム

  • データベースボリューム

  • podmanネットワーク設定

  • podmanシークレット

  • SUSE Multi-Linux Manager systemdサービス

  • SUSE Multi-Linux Managerコンテナイメージ

フルバックアップの作成に要する時間、SUSE Multi-Linux Managerサービスは自動的に停止されます。 このダウンタイムは長くなる可能性があります。 バックアップが完了すると、サービスは自動的に再開されます。

プロシージャ: mgradm backup createを使用したフルバックアップの作成
  1. コンテナホストで、rootとして、次のコマンドでバックアップを作成します。

    mgradm backup create $path

    $pathをバックアップ場所へのパスで置き換えます。

2.2. SUSE Multi-Linux Managerの部分バックアップ

mgradm backup createツールを使用すると部分バックアップを作成できます。 個々のボリュームまたはすべてのボリュームをスキップしたり、データベースのバックアップやイメージをスキップしたりすることができます。

特にデータベースのバックアップがスキップされた場合、SUSE Multi-Linux Managerサービスを停止せずにバックアップが作成され、2段階バックアップ手順の1段階として機能します。

部分バックアップはデータの一部のみを対象としており、バックアップされていない可能性のある他の部分との潜在的な依存関係を考慮していません。 したがって、バックアップ/復元の一貫性を保証できません。

プロシージャ: データベースバックアップをスキップして部分バックアップを作成する
  1. コンテナホストで、rootとして、次のコマンドでバックアップを作成します。

    mgradm backup create --skipdatabase $path

    $pathをバックアップ場所へのパスで置き換えます。

プロシージャ: ボリュームをスキップして部分バックアップを作成する
  1. コンテナホストで、rootとして、次のコマンドでバックアップを作成します。

    mgradm backup create --skipvolumes $volumes $path

    $pathをバックアップ場所へのパスで置き換えます。

    $volumesを、バックアップから除外するボリュームの名前、または除外するボリュームのカンマ区切りのリストで置き換えます。

    allを使用すると、データベースボリュームを除くすべてのボリュームをスキップします。

2.3. 追加ボリュームのバックアップ

mgradm backupコマンドは、SUSE Multi-Linux Managerボリュームの内部リストを使用します。 インストール中に追加のボリュームが設定された場合、またはバックアップに追加のボリュームを追加する必要がある場合は、--extravolumes $volumesを使用して指定する必要があります。

プロシージャ: 追加のカスタムボリュームを使用したバックアップの作成
  1. コンテナホストで、rootとして、次のコマンドでバックアップを作成します。

    mgradm backup create --extravolumes $volume $path

    $pathをバックアップ場所へのパスで置き換えます。

    $volumesを、バックアップに含めるボリュームの名前、または含めるボリュームのカンマ区切りのリストで置き換えます。

2.4. データベースの手動バックアップの実行

プロシージャ: データベースの手動バックアップの実行
  1. バックアップ用に永続的なストレージ容量を割り当てます。

  2. SUSE Multi-Linux Managerコンテナホストのコマンドプロンプトで、rootとして次のコマンドを使用します。

    mgradm backup create --skipvolumes all --skipconfig --skipimages $path

3. 既存のバックアップからSUSE Multi-Linux Managerを復元する

SUSE Multi-Linux Managerを既存のバックアップから復元すると、復元対象のボリューム、イメージ、および設定のバックアップが列挙されます。バックアップの作成シナリオとは異なり、復元操作では内部のボリュームリストを使用せず、バックアップ内に存在するすべてのボリュームまたはイメージが自動的に検出されます。

復元対象の項目のリストが収集された後で、存在と整合性のチェックが実行されます。存在チェックにより、バックアップの復元によって既存のボリューム、イメージ、または設定が誤って上書きされることが防止されます。整合性チェックは、バックアップ項目のチェックサムを計算することで実行されます。

両方のチェックが成功すると、実際のバックアップの復元が実行されます。

SUSE Multi-Linux Managerサービスは、バックアップの復元が完了した後で、自動的に開始されません。

プロシージャ: 既存のバックアップからの復元
  1. コンテナホストで、rootとして、次のコマンドを使用してSUSE Multi-Linux Managerサーバを再配備します。

    mgradm stop
    mgradm backup restore $path
    mgradm start

    $pathをバックアップ場所へのパスで置き換えます。

バックアップの検証は時間がかかる操作になる可能性があります。バックアップの整合性が他の手段で確保されている場合、--skipverifyオプションを使用することで検証をスキップできます。

何らかの理由でバックアップに存在するボリュームの復元をスキップする必要がある場合は、--skipvolumes $volumesオプションを使用できます。

3.1. バックアップ復元後の推奨されるステップ

プロシージャ: SUSE Multi-Linux Managerの復元後の推奨されるステップ
  1. SUSE Multi-Linux Manager Web UIを使用するか、コンテナ内のコマンドプロンプトでmgr-syncツールを使用して、SUSE Multi-Linux Managerリポジトリを再同期します。 製品を再登録するか、登録およびSSL証明書生成セクションをスキップするかを選択できます。

  2. コンテナホストで、/var/lib/containers/storage/volumes/var-spacewalk/_data/packages/を復元する必要があるかどうかを確認します。/var/lib/containers/storage/volumes/var-spacewalk/_data/packages/がバックアップになかった場合は、復元する必要があります。ソースリポジトリが使用できる場合は、完全なチャンネル同期を使用して/var/lib/containers/storage/volumes/var-spacewalk/_data/packages/を復元できます。

    mgrctl exec -ti -- mgr-sync refresh --refresh-channels
  3. 次回rhn-searchサービスを開始するときに検索インデックスの再作成をスケジュールします。

    このコマンドはデバッグメッセージのみを生成し、エラーメッセージを生成しません。

    コンテナホストで、次のコマンドを入力します。

    mgrctl exec -ti -- rhn-search cleanindex