システムをバックアップする方法はいくつかありますが、ディザスタ リカバリ ポリシーに従って Salt インフラストラクチャをバックアップすることを推奨します。

バックアップと、新しい RHEL 8/9 環境への転送が必要になるファイルがいくつかあります。
  • RaaS ノードのファイルおよびディレクトリ
    • /etc/raas/raas ファイル
    • /etc/raas/raas.secconf ファイル
    • /var/log/raas ファイル
    • /etc/raas/pki/ ディレクトリ
  • PostgreSQL ノード
    • Postgres.conf - /var/lib/pgsql/12/data/postgresql.conf
    • Pg_hba.conf - /var/lib/pgsql/12/data/pg_hba.conf
これらのファイルとディレクトリの詳細については、 SaltStack Config のアップグレードを参照してください。

このコマンド ラインは、インフラストラクチャをバックアップする方法の一例として使用します。特定のノードごとに 3 つの異なる状態ファイルを作成し、次のコマンドをそれぞれ適用できます。

  • RaaS ノード:salt rhel9-raas state.sls raas-backup
  • PostgreSQL ノード:salt rhel9-postgres state.sls pg-backup
  • Salt マスター ノード:salt rhel9-master state.sls master-backup
注: マルチノード環境の場合は、この状態ファイルを分割して、ノードの関連ファイルを含むノードに対して適切な時点の状態を適用する必要があります。
# file: /srv/salt/backup.sls
copy_raas_config:
  file.copy:
    - name: /tmp/backup/raas 
    - source: /etc/raas/raas
    - makedirs: True
    - force: True 
copy_raas_secconf:
  file.copy:
    - name: /tmp/backup/raas.secconf
    - source: /etc/raas/raas.secconf
    - force: True 
    - require:
      - copy_raas_config
copy_raas_log:
  file.copy:
    - name: /tmp/backup/raas.log
    - source: /var/log/raas
    - force: True 
    - require:
      - copy_raas_secconf
copy_raas_pki:
  file.copy:
    - name: /tmp/backup/pki
    - source: /etc/raas/pki/
    - makedirs: True
    - force: True 
    - require:
      - copy_raas_log 

copy_raas_conf:
  file.copy:
    - name: /tmp/backup/master.d/raas.conf
    - source: /etc/salt/master.d/raas.conf 
    - makedirs: True
    - force: True 
    - require:
      - copy_raas_pki

copy_eapimasterpaths:
  file.copy:
    - name: /tmp/backup/master.d/eAPIMasterPaths.conf
    - source: /etc/salt/master.d/eAPIMasterPaths.conf 
    - makedirs: True
    - force: True 
    - require:
      - copy_raas_conf

copy_postgres_conf:
  file.copy:
    - name: /tmp/backup/postgresql.conf
    - source: /var/lib/pgsql/12/data/postgresql.conf
    - force: True 

copy_pg_hba_conf:
  file.copy:
    - name: /tmp/backup/pg_hba.conf
    - source: /var/lib/pgsql/12/data/pg_hba.conf
    - force: True 

PostgreSQL データベースのバックアップ

PostgreSQL データベースは、Postgres ユーザーとしてコマンド ラインを使用してバックアップできます。
  1. postgres ユーザーになるには、次のコマンドを実行します。
    su - postgres
  2. list コマンドを実行してデータベースのリストを表示し、データベースの正確な名前を確認します。PostgreSQL データの名前は次のようになります:raas_43cab1f4de604ab185b51d883c5c5d09。
    psql --list | grep -i raas
    raas_43cab1f4de604ab185b51d883c5c5d09 | salt_eapi | UTF8 | en_US.utf8 | en_US.utf8 |
    
  3. 次のコマンドを使用して、圧縮された gz ファイルのバックアップを作成します。
    pg_dump raas_43cab1f4de604ab185b51d883c5c5d09 | gzip > 
    raas_43cab1f4de604ab185b51d883c5c5d09.`date +%Y%m%d`.gz
    注: このコマンドは、現在の作業ディレクトリ内にデータベースのコピーを作成します。作業ディレクトリに、このバックアップを保存するのに十分な容量があることを確認します。詳細については、 Recovering Disk Spaceを参照してください。
この gz ファイルは、VMware SRE チームによって使用され、Config Cloud PostgreSQL データベースにインポートされます。