如果早期版本的当前 vCloud Director 环境使用外部 Microsoft SQL 数据库,则可以迁移到包含 vCloud Director 9.7 设备部署的新 vCloud Director 环境。您当前的 vCloud Director 环境可以包含基于 Linux 或 vCloud Director 设备部署的 vCloud Director 安装。新的 vCloud Director 环境可以在高可用性模式下使用设备的嵌入式 PostgreSQL 数据库。

迁移工作流包括四个主要阶段。
  • 通过部署 vCloud Director 9.7 设备的一个或多个实例创建新的 vCloud Director 服务器组
  • 升级现有的 vCloud Director 环境
  • 将外部数据库迁移到嵌入式数据库
  • 复制共享传输服务数据和证书数据。

过程

  1. 将当前 vCloud Director 环境升级到版本 9.7,然后升级源数据库模式。

    请参见升级 vCloud Director 并修补 vCloud Director 设备

  2. 确认迁移源 vCloud Director 重新启动成功。
  3. 如果希望新的 vCloud Director 环境使用现有环境的 IP 地址,请将现有单元的 IP 地址更改为临时 IP 地址。
  4. 如果希望新的 vCloud Director 环境使用现有环境的 NFS 服务器,请在此 NFS 服务器上创建新目录并导出为新的共享 NFS 挂载点。

    无法重用现有的挂载点,因为旧 NFS 中用户的用户 ID 和组 ID (UID/GID) 可能与新 NFS 中的用户 ID 和组 ID 不匹配。

  5. 通过部署 vCloud Director 9.7 设备的一个或多个实例创建新的服务器组。
    • 如果要使用数据库高可用性功能,请部署一个主单元和两个备用单元以及(可选)一个或多个 vCD 应用程序单元。
    • 如果将现有单元的 IP 地址更改为临时 IP 地址,则可以对新单元使用原始 IP 地址。
    • 如果在现有 NFS 服务器上导出新路径,则可以对新环境使用这个新的共享挂载点。

    请参见部署 vCloud Director 设备

  6. 在每个现有单元以及每个新部署的单元上,运行以下命令,停止 vCloud Director 服务。
    /opt/vmware/vcloud-director/bin/cell-management-tool -u <admin username> cell –-shutdown
  7. 选择要用作迁移源的现有单元之一。

    迁移源必须有权访问新部署的主单元的 eth1 网络 IP 地址。

  8. 在新的主单元上,启用从迁移源访问嵌入式数据库。

    请参见配置对 vCloud Director 数据库的外部访问

  9. 在迁移源上,运行单元管理工具以将外部数据库迁移到新主单元中嵌入的数据库。

    嵌入式数据库使用设备的 eth1 网络 IP 地址。

    /opt/vmware/vcloud-director/bin/cell-management-tool dbmigrate -dbhost eth1_IP_new_primary \
    -dbport 5432 -dbuser vcloud -dbname vcloud -dbpassword database_password_new_primary

    有关使用单元管理工具的信息,请参见vCloud Director 管理员指南》

  10. 在每个新部署的单元上,备份并替换配置数据,然后重新配置并启动 vCloud Director 服务。
    1. 备份属性和证书文件,然后从迁移源复制并替换这些文件。
      global.propertiesresponses.propertiescertificatesproxycertificates 文件位于 /opt/vmware/vcloud-director/etc/
      重要事项: 如果要迁移到 vCloud Director 版本 9.7.0.1 或更高版本,还必须从迁移源备份、复制和替换 truststore 文件以及其他文件。
    2. 备份密钥库文件,即 /opt/vmware/vcloud-director/certificates.ks

      请勿从迁移源复制并替换密钥库文件。

    3. 运行以下命令,重新配置 vCloud Director 服务。
      /opt/vmware/vcloud-director/bin/configure --unattended-installation --database-type postgres --database-user vcloud \
      --database-password db_password_new_primary --database-host eth1_ip_new_primary --database-port 5432 \
      --database-name vcloud --database-ssl true --uuid --keystore /opt/vmware/vcloud-director/certificates.ks \
      --keystore-password root_password_new_primary --primary-ip appliance_eth0_ip \
      --console-proxy-ip appliance_eth0_ip --console-proxy-port-https 8443 
      其中:
      • --keystore-password 值与此设备的初始 root 密码一致。
      • --database-password 值与在设备部署过程中设置的数据库密码一致。
      • --database-host 值与主设备的 eth1 网络 IP 地址一致。
      • --keystore 值是在步骤 10.b 中备份的 certificates.ks 文件的路径。
      • --primary-ip 值与设备的 eth0 网络 IP 地址一致。
      • --console-proxy-ip 值与设备的 eth0 网络 IP 地址一致。

      有关故障排除信息,请参见迁移或还原到 vCloud Director 设备时,重新配置 vCloud Director 服务失败

    4. 运行以下命令,启动 vCloud Director 服务。
      service vmware-vcd start

      可以在 /opt/vmware/vcloud-director/logs/cell.log 中监控单元的启动进度。

  11. 新服务器组的所有单元完成启动过程后,验证 vCloud Director 环境的迁移是否成功。
    1. 使用新服务器组中任何单元的 eth0 网络 IP 地址打开 vCloud Director Web Console,即 https://et0_IP_new_cell/cloud
    2. 使用现有系统管理员凭据登录到 vCloud Director Web Console
    3. 验证您的 vSphere 和云资源在新环境中是否可用。
  12. 成功验证 vCloud Director 迁移后,使用 vCloud Director Web Console 删除属于旧 vCloud Director 环境的断开连接单元。
    1. 管理与监控选项卡上,单击云单元
    2. 右键单击单元名称,并选择删除

可以部署 vCloud Director 设备以将成员添加到迁移环境的服务器组中。

后续步骤

新迁移的 vCloud Director 设备环境使用自签名证书。要使用旧环境的正确签名证书,请在新环境的每个单元上,执行以下步骤:

  1. 将密钥库文件从旧单元复制到 /opt/vmware/vcloud-director/data/transfer/certificates.ks 并替换。
  2. 运行单元管理工具命令以替换证书。

    确保 vcloud.vcloud 是此文件的所有者。

    /opt/vmware/vcloud-director/bin/cell-management-tool certificates -j -p --keystore /opt/vmware/vcloud-director/data/transfer/certificates.ks \
    --keystore-password ks_password_old_vCD
  3. 重新启动 vCloud Director 服务。
    service vmware-vcd restart
    

如果向此服务器组添加新成员,则会使用这些完好签名证书部署新的设备单元。