虽然有多种方法可用于备份系统,但建议您根据灾难恢复策略备份 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
可以使用此命令行作为示例来说明如何备份基础架构。您可以为每个特定节点创建三个不同的状态文件,并分别应用以下命令:
- 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 数据库。
- 要成为 postgres 用户,请运行以下命令:
su - postgres
- 运行 list 命令以显示数据库列表,从而查找数据库的正确名称。postgresql 数据的名称应类似于: raas_43cab1f4de604ab185b51d883c5c5d09。
psql --list | grep -i raas raas_43cab1f4de604ab185b51d883c5c5d09 | salt_eapi | UTF8 | en_US.utf8 | en_US.utf8 |
- 使用以下命令创建压缩的 gz 文件备份。
pg_dump raas_43cab1f4de604ab185b51d883c5c5d09 | gzip > raas_43cab1f4de604ab185b51d883c5c5d09.`date +%Y%m%d`.gz
注: 此命令会在当前工作目录中创建数据库的副本。确保工作目录有足够的空间可用于存储此备份。有关详细信息,请参见 恢复磁盘空间。