雖然有多種方法可用於備份系統,但建議您根據災難復原原則備份 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〉

可以使用此命令列作為範例來說明如何備份基礎結構。您可以為每個特定節點建立三個不同的狀態檔案,並分別套用以下命令:

  • 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 資料庫

您可以使用命令列以 postgres 使用者身分備份 PostgreSQL 資料庫。
  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
    備註: 此命令會在目前工作目錄中建立資料庫的複本。確保工作目錄有足夠的空間可用於儲存此備份。如需詳細資訊,請參閱 復原磁碟空間
此 gz 檔案由 VMware SRE 團隊使用並匯入到 Config Cloud PostgreSQL 資料庫。