4.4. 迁移到外部数据库
备份和传输现有数据,然后使用 satellite-installer
命令将 Satellite 配置为连接到外部 PostgreSQL 数据库服务器。
先决条件
- 您已在 Red Hat Enterprise Linux 服务器中安装和配置了 PostgreSQL 服务器。
流程
在 Satellite 服务器上,停止除 PostgreSQL 的所有 Satellite 服务:
# satellite-maintain service stop --exclude postgresql
备份内部数据库:
# satellite-maintain backup online \ --preserve-directory \ --skip-pulp-content \ /var/migration_backup
将数据传送到新的外部数据库:
PGPASSWORD='Foreman_Password' pg_restore -h postgres.example.com -U foreman -d foreman < /var/migration_backup/foreman.dump PGPASSWORD='Candlepin_Password' pg_restore -h postgres.example.com -U candlepin -d candlepin < /var/migration_backup/candlepin.dump PGPASSWORD='Pulpcore_Password' pg_restore -h postgres.example.com -U pulp -d pulpcore < /var/migration_backup/pulpcore.dump
使用
satellite-installer
命令更新 Satellite 以指向新数据库:# satellite-installer \ --katello-candlepin-manage-db false \ --katello-candlepin-db-host postgres.example.com \ --katello-candlepin-db-name candlepin \ --katello-candlepin-db-user candlepin \ --katello-candlepin-db-password Candlepin_Password \ --foreman-proxy-content-pulpcore-manage-postgresql false \ --foreman-proxy-content-pulpcore-postgresql-host postgres.example.com \ --foreman-proxy-content-pulpcore-postgresql-db-name pulpcore \ --foreman-proxy-content-pulpcore-postgresql-user pulp \ --foreman-proxy-content-pulpcore-postgresql-password Pulpcore_Password \ --foreman-db-manage false \ --foreman-db-host postgres.example.com \ --foreman-db-database foreman \ --foreman-db-username foreman \ --foreman-db-password Foreman_Password
删除 Satellite 服务器上的 PostgreSQL 软件包:
# satellite-maintain packages remove postgresql-server
删除 PostgreSQL 数据目录:
# rm -fr /var/lib/pgsql/data