您可以在旧部署上运行升级转换脚本,以生成升级所需的文件。然后,在新部署上应用升级文件以完成迁移过程。

前提条件

  • 安装 VMware Integrated OpenStack 7.0 虚拟设备并应用 7.0.1 修补程序。请参见安装新虚拟设备
  • 确认现有 VMware Integrated OpenStack 部署正常运行。在旧的 OpenStack 管理服务器 上,运行 viocli deployment status 命令。
  • 确认现有 VMware Integrated OpenStack 部署上的备份功能正常工作,并且磁盘未满。
  • 将升级转换脚本传输到旧的 OpenStack 管理服务器

过程

  1. viouser 用户身份登录到旧的 OpenStack 管理服务器
  2. 切换到 root 用户。
    sudo su -
  3. 解压缩并运行升级转换脚本。
    tar -xzf vio-upgrade-7.0.1.0-build-number.tar.gz

    在运行脚本之前,请先将当前工作目录更改为包含脚本的目录。

    cd upgrade
    ./upgrade.sh

    出现提示时,输入 viouser 帐户的密码。

    脚本会收集支持包,备份 OpenStack 数据库,并生成以下文件:

    • /tmp/pre_upgrade/upgrade.tar.gz
    • ./cluster.yaml
    • ./restore.yaml
    • .themes.tar(仅当您之前自定义了 VMware Integrated OpenStack 仪表板主题时才会生成)
  4. (可选) 默认情况下,升级会将旧部署迁移到新的中型部署。要更改新部署的大小,请编辑 cluster.yaml 文件,然后更改 VMware Integrated OpenStack 管理器和控制器节点的大小。
    以下示例 cluster.yaml 文件显示的管理器和控制器节点的大小设置为大型。
    apiVersion: vio.vmware.com/v1alpha1
    kind: VIOMachineSet
    metadata:
      labels:
        app: lcm
        clusterController: "true"
      name: manager1
    spec:
      count: 1
      providerConfig:
        value:
          machineSpec:
            datacenter: sanity_dc
            datastore: datastore-nfs
            resourcePool: VIO_resource_pool
      size: large                                
      vmware_insecure: .VCenter:vcenter1:spec.insecure
      vmware_server_host: .VCenter:vcenter1:spec.hostname
      vmware_server_password: .VCenter:vcenter1:spec.password
      vmware_server_username: .VCenter:vcenter1:spec.username
    ---
    apiVersion: vio.vmware.com/v1alpha1
    kind: VIOMachineSet
    metadata:
      labels:
        app: lcm
        clusterController: "true"
      name: controller1
    spec:
      count: 3
      providerConfig:
        value:
          machineSpec:
            datacenter: sanity_dc
            datastore: datastore-nfs
            resourcePool: VIO_resource_pool
      size: large
      vmware_insecure: .VCenter:vcenter1:spec.insecure
      vmware_server_host: .VCenter:vcenter1:spec.hostname
      vmware_server_password: .VCenter:vcenter1:spec.password
      vmware_server_username: .VCenter:vcenter1:spec.username
  5. 停止旧的 VMware Integrated OpenStack 部署。
    sudo viocli deployment stop
    注: 迁移过程完成之前,OpenStack 服务不可用。
  6. vSphere Client 中,创建一个名为 VIO 的内容库。
  7. /tmp/pre_upgrade/upgrade.tar.gz 文件上载到内容库。
    如果生成了 themes.tar 文件,则也将该文件上载到内容库。
    注: 单击 导入之前,请验证显示的文件的名称。如果 upgrade.tar.gz 缺少 .gz 扩展名,请添加扩展名。如果 themes.tar 缺少 .tar 扩展名,请添加扩展名。
  8. cluster.yamlrestore.yaml 文件传输到新的 Integrated OpenStack Manager
  9. root 用户身份登录到新的 Integrated OpenStack Manager
  10. 将集群配置文件应用到新的 VMware Integrated OpenStack 部署。
    kubectl -n openstack create -f cluster.yaml
  11. 将升级配置文件应用到新的 VMware Integrated OpenStack 部署。
    kubectl -n openstack apply -f restore.yaml

结果

现在,由新部署提供 OpenStack 服务。

后续步骤

  • VMware Integrated OpenStack 许可证密钥分配给新部署。请参见升级并分配许可证密钥
  • 更新所有 DNS 条目,以便使用新 VMware Integrated OpenStack 部署的 IP 地址。
  • 对于 NSX-T Data Center 部署,将 NSX Manager 中的元数据代理配置更新为使用新部署的专用 OpenStack 端点。

如果升级失败,或者您不希望使用新版本,可以恢复到之前的 VMware Integrated OpenStack 部署。请参见恢复到之前的 VMware Integrated OpenStack 部署

如果升级成功,您可以删除旧 VMware Integrated OpenStack 部署。请参见删除旧 VMware Integrated OpenStack 部署