Для резервного копирования систем рекомендуется создавать резервные копии инфраструктуры Salt в соответствии с политиками аварийного восстановления.

Есть несколько файлов, для которых необходимо создать резервную копию и переместить их в новую среду RHEL 8/9:
  • Файлы и каталоги узлов RaaS
    • Файл /etc/raas
    • Файл /etc/raas/raas.secconf
    • Файл /var/log/raas
    • Каталог /etc/raas/pk/
  • Узел 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

Резервную копию базы данных PostgreSQL можно создать с помощью командной строки от имени пользователя Postgres.
  1. Чтобы стать пользователем Postgres, выполните следующие команды.
    su - postgres
  2. Выполните команду списка, чтобы открыть список баз данных и найти правильное имя базы данных. Имя базы данных 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 используется и импортируется в базу данных PostgreSQL в облачной интеграции SaltStack Config рабочей группой VMware SRE.