可以从备份还原 VMware Integrated OpenStack 部署。

重要说明:
  • 在此过程中创建的临时配置文件包含纯文本格式的 vCenter Server 凭据。出于安全考虑,请在备份完成后删除此文件。
  • 不要同时执行多个还原操作。如果还原操作配置不正确,请等待该操作失败或超时,然后再重试。
  • 除非当前数据库已损坏,或者存在其他需要早期版本的首要原因,否则应备份当前数据库并将其用于还原控制平面。使用早期版本的备份进行还原可能会导致潜在的数据丢失。

前提条件

  • 确认您具有可用备份。请参见备份您的部署已调度备份
  • 如果未执行升级,请确认用于还原和备份操作的 VMware Integrated OpenStack 版本完全相同。

过程

  1. root 用户身份登录到 Integrated OpenStack Manager
    ssh root@mgmt-server-ip
  2. 在文本编辑器中,创建 YAML 格式的还原配置文件。
    • 如果要在现有控制平面上还原 VMware Integrated OpenStack,请使用以下模板:

      ---
      name: backup-file-name
      description: restore-description
      source:
         kind: contentLibrary
         contentLibrary:
            name: content-library-name
      datastore: control-plane-storage

      参数如下所述。

      选项 说明

      backup-file-name

      输入要还原的备份文件的名称。

      restore-description

      输入还原任务的描述。

      content-library-name

      输入包含备份文件的内容库的名称。

      control-plane-storage

      (可选)输入要存储控制平面信息的数据存储的名称。

      要使用 GUI 在现有控制平面上还原部署,您可以执行以下步骤:
      • admin 用户身份登录到 Integrated OpenStack Manager
      • OpenStack 部署中,单击部署的名称,然后打开管理选项卡。
      • 设置选项卡上,单击备份,然后选择备份,并单击还原
    • 如果要在新控制平面上还原 VMware Integrated OpenStack,请使用以下模板:

      ---
      cluster:
        network_info:
        - networkName: mgmt-network-name
          type: management
          static_config:
            ip_ranges:
            - mgmt-ip-range-begin, mgmt-ip-range-end
            netmask: mgmt-subnet-mask
            gateway: mgmt-gateway-address
            dns:
            - mgmt-dns-server
        - networkName: api-network-name
          type: api
          static_config:
            ip_ranges:
            - api-ip-range-begin, api-ip-range-end
            netmask: api-subnet-mask
            gateway: api-gateway-address
            dns:
            - api-dns-server
        - networkName: trunk-network-name
          type: dvs_trunk_network
          static_config:
            ip_ranges:
            - trunk-ip-range-begin, trunk-ip-range-end
      ---
      datacenter: datacenter-name
      datastore: datastore-name
      resourcePool: resource-pool-name
      count: controller-count
      size: controller-size
      ---
      name: backup-file-name
      description: restore-description
      source:
         kind: contentLibrary
         contentLibrary:
            name: content-library-name
      datastore: control-plane-storage

      参数如下所述。

      表 1. 管理网络配置
      选项 说明

      mgmt-network-name

      输入管理网络的名称。

      您还可以使用 GUI 在新的控制平面上还原OpenStack部署。有关详细信息,请参见还原OpenStack部署

      如果您的管理网络使用静态 IP 地址而不是 DHCP,则输入以下值。DHCP 网络不需要这些值。

      选项 说明

      mgmt-ip-range-begin, mgmt-ip-range-end

      以点分十进制格式输入管理网络上的 IP 地址范围并用逗号分隔。例如,192.0.2.10, 192.0.2.50

      mgmt-subnet-mask

      输入管理网络的子网掩码。

      mgmt-gateway-address

      输入管理网络的网络网关的 IP 地址。

      mgmt-dns-server

      输入管理网络的一个或多个 DNS 服务器的 IP 地址。在单独一行上输入每个 IP 地址。例如:

      - 192.0.2.1

      - 192.0.2.100

      表 2. API 访问网络配置
      选项 说明

      api-network-name

      输入 API 访问网络的名称。

      如果您的 API 访问网络使用静态 IP 地址而不是 DHCP,则输入以下值。DHCP 网络不需要这些值。

      选项 说明

      api-ip-range-begin, api-ip-range-end

      以点分十进制格式输入 API 访问网络上的 IP 地址范围并用逗号分隔。例如,198.51.100.10, 198.51.100.50

      api-subnet-mask

      输入 API 访问网络的子网掩码。

      api-gateway-address

      输入 API 访问网络的网络网关的 IP 地址。

      api-dns-server

      输入 API 访问网络的一个或多个 DNS 服务器的 IP 地址。在单独一行上输入每个 IP 地址。例如:

      - 198.51.100.1

      - 198.51.100.100

      如果您的部署使用 VDS 网络,则输入以下值。NSX 部署不需要这些值。

      表 3. 中继网络配置
      选项 说明

      trunk-network-name

      输入中继网络的名称。

      trunk-ip-range-begin, trunk-ip-range-end

      以点分十进制格式输入中继网络上的 IP 地址范围并用逗号分隔。例如,169.254.0.1,169.254.0.254

      为所有部署类型输入以下信息。

      表 4. 控制平面配置
      选项 说明

      datacenter-name

      输入要在其中创建 VMware Integrated OpenStack 控制平面的 vSphere 数据中心的名称。

      datastore-name

      输入 VMware Integrated OpenStack 控制平面的数据存储的名称。

      resource-pool-name

      输入 VMware Integrated OpenStack 控制平面的资源池的名称。

      controller-count

      指定要创建的控制器数量。

      controller-size

      指定控制器的大小。接受以下值:

      • small(4 个 vCPU 和 16 GB RAM)
      • medium(8 个 vCPU 和 32 GB RAM)
      • large(12 个 vCPU 和 32 GB RAM)
      表 5. 备份配置
      选项 说明

      backup-file-name

      输入要还原的备份文件的名称。

      restore-description

      输入还原任务的描述。

      content-library-name

      输入包含备份文件的内容库的名称。

      如果您的内容库和 VMware Integrated OpenStack 位于不同的 vCenter Server 实例中,则输入包含内容库的 vCenter Server 实例的配置。如果您的内容库和控制平面位于同一个 vCenter Server 实例中,则不需要以下值。

      表 6. 内容库配置
      选项 说明

      control-plane-storage

      (可选)输入要存储控制平面信息的数据存储的名称。

  3. 指定用于还原 VMware Integrated OpenStack 部署的 vCenter Server
    viocli create vcenter --vc_hostname <host> --vc_password <password> --vc_username <user>
    或者,使用 Kubernetes 命令行实用程序的别名从部署中获取 vCenter Server
    osctl get vcenter
  4. 使用配置文件还原部署,指定要还原部署的目标 vCenter Server
    viocli restore deployment -f <configuration-file> --destination-vcenter=<vcenter-name> [--skip-control-plane] [--content-vcenter=<vcenter-name>]

    如果已设置 --skip-control-plane 标记,请通过包括包含要还原的备份文件 vCenter Server 来还原部署。

    viocli restore deployment -f <configuration-file> --destination-vcenter=<vcenter-name> --skip-control-plane --content-vcenter=<vcenter-name>
    如果还原成功,则会显示如下消息: download completedprepare runningrestore succeeded.

结果

OpenStack 部署将还原到备份的状态。

注: 由于您使用还原功能进行部署升级,因此无法在新部署中从旧部署还原 VMware Integrated OpenStack 许可证和 CA 签名证书。
  1. 要还原证书,您必须在还原后对证书进行重新签名并重新应用。或者,您必须执行以下步骤:
    1. 保存原始部署中的证书密钥。
      osctl get secret certs -oyaml > certs.yaml
    2. 还原后,在新的 VMware Integrated OpenStack 部署中,将证书密钥中的 private_keyvio_certificate 值替换为上一步中的数据。
    3. 使用 viocli 停止和启动服务。
  2. 有关还原许可证的信息,请参见《VMware Integrated OpenStack 安装指南》中的分配 VMware Integrated OpenStack 许可证密钥