如果目前 VMware Cloud Director 環境使用外部 PostgreSQL 資料庫,您可以移轉到包含 VMware Cloud Director 應用裝置部署的新 VMware Cloud Director 環境。您目前的 VMware Cloud Director 環境可以包含 Linux 上的 VMware Cloud Director 安裝或 VMware Cloud Director 應用裝置部署。新的 VMware Cloud Director 環境可以在高可用性模式下使用應用裝置的內嵌式 PostgreSQL 資料庫。

移轉工作流程包括四個主要階段。
  • 升級現有 VMware Cloud Director 環境
  • 透過部署一或多個 VMware Cloud Director 應用裝置執行個體,建立新的 VMware Cloud Director 伺服器群組
  • 將外部資料庫移轉至內嵌式資料庫
  • 複製共用傳輸服務資料和憑證資料

程序

  1. 如果您目前的外部 PostgreSQL 資料庫版本為 9.x,請將外部 PostgreSQL 資料庫升級至 10 版或更新版本。
  2. 將目前的 VMware Cloud Director 環境升級到 10.3.x 版。

    請參閱在 Linux 上升級 VMware Cloud Director

  3. 確認移轉來源 VMware Cloud Director 重新啟動成功。
  4. 在升級後的 VMware Cloud Director 環境的每個儲存格上,執行命令以停止 VMware Cloud Director 服務。
    /opt/vmware/vcloud-director/bin/cell-management-tool -u <admin_username> cell –-shutdown
  5. 在外部 PostgreSQL 資料庫上,備份目前資料庫。
    pg_dump -U postgres -W -F p vcloud > /tmp/dump_file_name

    如果 /tmp 資料夾上沒有足夠的可用空間,請使用其他位置來儲存傾印檔案。

  6. 如果資料庫擁有者和資料庫名稱不是 vcloud,請記下此使用者名稱和資料庫名稱。

    步驟 13 中,您必須在新環境中建立此使用者並重新命名資料庫。

  7. 將現有環境的內容和憑證檔案複製到外部 PostgreSQL 資料庫上的某個位置,然後關閉儲存格電源。
    1. 將位於 /opt/vmware/vcloud-director/etc/ 中的 global.propertiesresponses.propertiescertificates.pemcertificates.keyproxycertificates.pemproxycertificates.keytruststore.pem 檔案複製到 /tmp 或外部 PostgreSQL 資料庫上的任何慣用位置。
    2. 將現有環境中的儲存格關閉電源。
  8. 如果您想讓新 VMware Cloud Director 環境使用現有環境的 NFS 伺服器,請建立並匯出此 NFS 伺服器上的新目錄做為新的共用 NFS 掛接點。

    您無法重複使用現有的掛接點,因為舊 NFS 中使用者的使用者識別碼和群組識別碼 (UID/GID) 可能與新 NFS 中的使用者識別碼和群組識別碼不相符。

  9. 透過部署一或多個 VMware Cloud Director 應用裝置執行個體,建立新的伺服器群組。
    • 如果您想要使用資料庫高可用性功能,則部署一個主要儲存格和兩個待命儲存格,並選擇性地部署一或多個 vCD 應用程式儲存格。
    • 如果已將現有環境中的儲存格關閉電源,您可以使用新儲存格的原始 IP 位址。
    • 如果已匯出現有 NFS 伺服器上的新路徑,您可以針對新環境使用這個新的共用掛接點。

    請參閱VMware Cloud Director 應用裝置的部署和初始組態

  10. 在每個新部署的儲存格上,執行儲存格管理工具命令以停止 VMware Cloud Director 服務。
    /opt/vmware/vcloud-director/bin/cell-management-tool cell -i $(service vmware-vcd pid cell) -s
  11. 將傾印檔案從外部 PostgreSQL 資料庫上的 /tmp 資料夾複製到新環境的主要儲存格上的 /tmp 資料夾中。

    請參閱步驟 5

  12. 變更傾印檔案的權限。
    chmod a+r /tmp/db_dump_name
  13. root 身分登入新部署的主要儲存格的主控台中,並將外部 VMware Cloud Director 資料庫傳輸至內嵌式資料庫。
    1. 將使用者切換為 postgres,連線至 psql 資料庫終端機,然後執行捨棄 vcloud 資料庫的陳述式。
      sudo -i -u postgres /opt/vmware/vpostgres/current/bin/psql -c 'DROP DATABASE vcloud;'
    2. 建立新的 vcloud 資料庫。
      sudo -i -u postgres /opt/vmware/vpostgres/current/bin/psql -c 'CREATE DATABASE vcloud;'
    3. 還原資料庫。
      sudo -i -u postgres /opt/vmware/vpostgres/current/bin/psql -U postgres -W -d vcloud -f /tmp/db_dump_name
    4. 如果現有 VMware Cloud Director 環境的資料庫擁有者不是 vcloud,請將資料庫擁有者變更為 vcloud,並將資料表重新指派給 vcloud
      sudo -i -u postgres /opt/vmware/vpostgres/current/bin/psql -c 'ALTER DATABASE vcloud OWNER TO vcloud;'
      sudo -i -u postgres /opt/vmware/vpostgres/current/bin/psql -d vcloud -c 'REASSIGN OWNED BY <db_owner_external_pg> TO vcloud;'
  14. 在每個新部署的儲存格上,備份和取代組態資料,然後重新設定並啟動 VMware Cloud Director 服務。
    1. 備份內容、信任存放區和憑證檔案,然後從移轉來源的外部 PostgreSQL 資料庫上的位置 (在步驟 7a 中將檔案複製到的位置) 複製並取代這些檔案。

      Global.properties,responses.propertiestruststore.pemcertificates.pemcertificates.keyproxycertificates.pemproxycertificates.key 檔案位於 /opt/vmware/vcloud-director/etc/

    2. 執行命令以重新設定 VMware Cloud 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 --cert /opt/vmware/vcloud-director/etc/user.http.pem --key /opt/vmware/vcloud-director/etc/user.http.key --key-password root_password_new_primary --consoleproxy-cert /opt/vmware/vcloud-director/etc/user.consoleproxy.pem --consoleproxy-key /opt/vmware/vcloud-director/etc/user.consoleproxy.key --consoleproxy-key-password root_password_new_primary --primary-ip appliance_eth0_ip \
      --console-proxy-ip appliance_eth0_ip --console-proxy-port-https 8443 
      其中:
      • --key-password 值符合此應用裝置的初始 root 密碼。
      • --database-password 值符合您在應用裝置部署期間設定的資料庫密碼。
      • --database-host 值符合主要應用裝置的 eth1 網路 IP 位址。
      • --primary-ip 值符合應用裝置的 eth0 網路 IP 位址。
      • --console-proxy-ip 值符合應用裝置的 eth0 網路 IP 位址。
      • --console-proxy-port 值符合應用裝置主控台 Proxy 連接埠 8443。

      如需疑難排解資訊,請參閱移轉或還原到 VMware Cloud Director 應用裝置時重新設定 VMware Cloud Director 服務失敗

    3. 執行命令以啟動 VMware Cloud Director 服務。
      systemctl start vmware-vcd

      您可以在 /opt/vmware/vcloud-director/logs/cell.log 中監控儲存格的啟動進度。

  15. 在新伺服器群組的所有儲存格完成啟動程序後,確認 VMware Cloud Director 環境已成功移轉。
    1. 使用新伺服器群組中任意儲存格的 eth0 網路 IP 位址 (https://eth0_IP_new_cell/provider) 開啟 Service Provider Admin Portal
    2. 使用現有的系統管理員認證從移轉來源登入 Service Provider Admin Portal
    3. 驗證您的 vSphere 和雲端資源在新環境中是否可用。
  16. 成功驗證 VMware Cloud Director 移轉之後,使用 Service Provider Admin Portal 刪除屬於舊 VMware Cloud Director 環境的已中斷連線的儲存格。
    1. 從頂部導覽列的資源下,選取雲端資源
    2. 在左面板中,按一下雲端儲存格
    3. 選取非作用中的儲存格,然後按一下解除登錄

您可以部署 VMware Cloud Director 應用裝置,以將成員新增至移轉環境中的伺服器群組。

後續步驟

新移轉的 VMware Cloud Director 應用裝置環境使用自我簽署憑證。若要在新環境的每個儲存格上使用舊環境中妥善簽署的憑證,請遵循下列步驟進行操作:

  1. 將憑證和金鑰檔案從舊儲存格複製到 /opt/vmware/vcloud-director/data/transfer/cert.pem/opt/vmware/vcloud-director/data/transfer/cert.key 並取代。
  2. 執行儲存格管理工具命令以取代憑證。

    確保 vcloud.vcloud 是此檔案的擁有者。

    /opt/vmware/vcloud-director/bin/cell-management-tool certificates -j -p --cert /opt/vmware/vcloud-director/etc/cert.pem --key /opt/vmware/vcloud-director/etc/cert.key --key-password ks_password_old_VCD
  3. 重新啟動 VMware Cloud Director 服務。
    service vmware-vcd restart
    

如果您將新成員新增到此伺服器群組,將使用這些妥善簽署的憑證部署新的應用裝置儲存格。