3.4. 迁移到外部数据库

备份并传输现有数据,然后使用 satellite-installer 命令配置卫星以连接到外部 PostgreSQL 数据库服务器。

前提条件

  • 您已在 Red Hat Enterprise Linux 服务器中安装和配置了 PostgreSQL 服务器。

流程

  1. 在 Satellite 服务器中,停止 Satellite 服务:

    # satellite-maintain service stop
  2. 启动 PostgreSQL 服务:

    # systemctl start postgresql
  3. 备份内部数据库:

    # satellite-maintain backup online --skip-pulp-content --preserve-directory -y /var/migration_backup
  4. 将数据传送到新外部数据库中:

    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
  5. 使用 satellite-installer 命令更新 Satellite 以指向新数据库:

    satellite-installer --scenario satellite \
        --foreman-db-host postgres.example.com \
        --foreman-db-password Foreman_Password \
        --foreman-db-database foreman \
        --foreman-db-manage false \
        --foreman-db-username foreman \
        --katello-candlepin-db-host postgres.example.com \
        --katello-candlepin-db-name candlepin \
        --katello-candlepin-db-password Candlepin_Password \
        --katello-candlepin-manage-db false \
        --katello-candlepin-db-user candlepin \
        --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-password Pulpcore_Password \
        --foreman-proxy-content-pulpcore-postgresql-user pulp