Se esistono diversi modi per eseguire il backup dei sistemi, è consigliabile eseguire il backup dell'infrastruttura Salt in base ai criteri di ripristino di emergenza.

Sono presenti diversi file da sottoporre a backup e trasferire nel nuovo ambiente RHEL 8/9:
  • File e directory dei nodi RaaS
    • File /etc/raas/raas
    • File /etc/raas/raas.secconf
    • File /var/log/raas
    • Directory /etc/raas/pky/
  • Nodo postgresql
    • Postgres.conf - /var/lib/pgsql/12/data/postgresql.conf
    • Pg_hba.conf - /var/lib/pgsql/12/data/pg_hba.conf
Per ulteriori informazioni su questi file e directory, vedere Aggiornamento di SaltStack Config.

Utilizzare questa riga di comando come esempio di backup dell'infrastruttura. È possibile creare tre file di stato diversi per ogni nodo specifico e applicare i seguenti comandi, rispettivamente:

  • Nodo RaaS: salt rhel9-raas state.sls raas-backup
  • Nodo postgresql: salt rhel9-postgres state.sls pg-backup
  • Nodo Salt Master: salt rhel9-master state.sls master-backup
Nota: Se si dispone di un ambiente con più nodi, questo file di stato deve essere suddiviso per applicare gli stati della finestra appropriati al nodo che contiene i file correlati di tale nodo.
# 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 

Backup del database Postgresql

È possibile eseguire il backup del database postgresql utilizzando la riga di comando come utente postgres.
  1. Per diventare l'utente postgres, eseguire i seguenti comandi:
    su - postgres
  2. Eseguire il comando list per visualizzare un elenco di database per trovare il nome corretto del database. Il nome dei dati postgresql deve essere simile a: raas_43cab1f4de604ab185b51d883c5c5d09.
    psql --list | grep -i raas
    raas_43cab1f4de604ab185b51d883c5c5d09 | salt_eapi | UTF8 | en_US.utf8 | en_US.utf8 |
    
  3. Creare il backup del file gz compresso con il seguente comando.
    pg_dump raas_43cab1f4de604ab185b51d883c5c5d09 | gzip > 
    raas_43cab1f4de604ab185b51d883c5c5d09.`date +%Y%m%d`.gz
    Nota: Il seguente comando consente di creare una copia del database nella directory di lavoro corrente. Assicurarsi di disporre di spazio sufficiente nella directory di lavoro per archiviare questo backup. Per ulteriori informazioni, vedere Ripristino dello spazio su disco.
Il file gz viene utilizzato e importato nel database Config Cloud Postgresql dal team di VMware SRE.