要恢复 VMware Integrated OpenStack 部署,必须部署 VMware Integrated OpenStack 虚拟设备,并使用 viocli create drrecover 更新 VMware Integrated OpenStack 备份数据,然后使用还原过程恢复灾难恢复站点中的部署。

前提条件

  • 确认已在灾难恢复目标站点上部署 VMware Integrated OpenStack 7.2 OpenStack 虚拟设备。
  • 确认灾难恢复目标站点的 vCenter 内容库中具有 VMware Integrated OpenStack 备份软件包。
  • 您必须在灾难发生之前准备好灾难恢复 YAML 文件。

过程

  1. 在目标站点中创建 vCenter 和 NSX CR。
    1. 为管理和计算 vCenter Server 创建 CR。
      viocli create vcenter -n 10.155.20.126 -u [email protected] -p ‘xxxxxx’
    2. 为 NSX Manager 创建 CR。
      viocli create nsx -n nsxmgr01.violab.com -u admin -p ‘xxxxxx!xxxxxx’
    3. 检索 vCenter 和 NSX CR 名称。
      viocli get vcenter
      NAME              CREATION DATE            VALIDATION
      vcenter155        2021-04-28 14:03:17      Success
      vcenter388        2021-04-28 14:02:12      Success
      viocli get nsx
      NAME              CREATION DATE            VALIDATION
      nsx950            2021-04-28 14:05:10      Success
      
    4. 计算目标站点中的 Nova 计算名称。
      • 登录到管理 vCenter 或计算 vCenter。
      • 单击每个 nova-compute 集群,以从地址栏中获取 URL。例如:
        https://<vcenter_server>/ui/app/cluster;nav=h/urn:vmomi:ClusterComputeResource:domain-c8:7e8d8b50-09e4-4cbf-ba52-cab4ae78eba6/summary
      • 从每个计算集群的 http URL 中提取字符串 ClusterComputeResource:domain-cx:xxxxxxxx,以重构计算节点名称。

        例如,对于 ClusterComputeResource:domain-c8:7e8d8b50,计算节点名称为 compute-7e8d8b50-c8

  2. 创建灾难恢复模板并编辑源站点和目标站点信息。
    viocli create drrecover -o > drrecover.yaml
  3. 编辑灾难恢复模板 YAML 文件,在其中添加必要的配置信息。
    注: 确保在 YAML 的备份配置部分中配置备份软件包灾难恢复 vCenter 内容库。
  4. 使用 drrecover 命令在 vCenter 内容库中生成灾难恢复软件包。
    viocli create drrecover -f drrecover.yaml
    确认灾难恢复 vCenter 内容库中生成了新的备份软件包,例如: backup125-DR-625849
  5. 使用新生成的备份软件包 backup125-DR-625849 在灾难恢复 vCenter 中还原 VMware Integrated OpenStack 部署。有关详细信息,请参见还原部署
  6. 完成还原过程后,部署将在灾难恢复站点中恢复。可以使用它管理恢复的实例、卷和网络。

    下面是灾难恢复模板的示例。可以查看配置的详细信息。

    目标站点配置:
    # Target site deployment configurations
    # vCenter name to create control plane and the backup data from source site must be in content library of this vcenter
    # Could use osctl get vCenter to retreive and config vCenter_name: vcenter293
    vcenter_name:
    OpenStack 配置:
    # OpenStack deployment configurations
    osdeployment:
      openstack_endpoints:
        # Should be in the same network segment with management network
        private_vip: 10.155.20.136
        # Should be in the same network segment with API network
        public_vip: 10.155.21.96
      # Storage policy daatstore to create persistent volume
      datastore: ds-vio  
    Neutron 配置:
    # Neutron configurations
    neutron:
      conf:
        dns:
          designate_enabled: true
        plugins:
          nsx:
          # Support nsx policy neutron driver
            nsx_p:
              # default overlay transport zone id
              deafult_overlay_tz: 4f12b507-e5b5-40fc-91dc-1943b9f63ea7
              # default vlan transport zone id
              default_vlan_tz: 7c33e81e-7b21-474b-89d4-b0312649e3fd
              # default tier0 router name 
              default_tier0_router: dr-tier0-gateway
              # dhcp_profile id
              dhcp_profile: vio-dhcp-profile-dr
              # metadata proxy id
              metadata_proxy: vio-md-proxy-dr-ts
              # nsx object for target site
              nsx_name: nsx718
    用于管理服务器的 OpenStack 服务配置:
    # OpenStack service configurations for mgmt vcenter
    - vcenter_name: vcenter293
      mgmt: true
      novacomputes:
      # Replicate following fields for each novacompute
      # Source site nova compute name i.e. compute-xxxxxx-cxx. Could get from "viocli get novacompute"
      - source_compute_name:
        # Target site nova compute name i.e. compute-yyyyyy-cyy.
        target_compute_name:
        # Target site nova compute cluster name
        cluster_name:
        datastore_regex:
        # Fill in the dvs moid for each novacompute if CarrierEdition and SRIOV enabled
        # dvs_moid:
      glance:
      # Replicate following fields for each glance backend
       vmware_datastores:
      cinder:
      # Replicate following fields for each cinder backend
      # Source site cinder backend name i.e. nova-xx.xx.xx.xx-vmdk-1. Could get from spec.conf.backends section in "osctl get cinder -oyaml"
      - source_backend_name:
        # List each compute cluster from the next line after "vmware_cluster_name:", one for each line.
        # Do not add anything after "vmware_cluster_name:".
        vmware_cluster_name:
        # Replicate following field for each cluster
    
    用于计算 vCenter 的 OpenStack 服务配置:
    compute vcenter
    - vcenter_name: vcenter187
      mgmt: false
      novacomputes:
      # Replicate following fields for each novacompute
      # Source site nova compute name i.e. compute-xxxxxx-cxx. Could get from "viocli get novacompute"
      - source_compute_name: compute-5479e7cb-c8
        # Target site nova compute name i.e. compute-yyyyyy-cyy.
        target_compute_name: compute-8f710e32-c8
        # Target site nova compute cluster name
        cluster_name: domain-c8
        datastore_regex: ds26\-2
        # Fill in the dvs moid for each novacompute if Carrier Edition and SRIOV enabled
        # dvs_moid:
      - source_compute_name: compute-5479e7cb-c1014
        # Target site nova compute name i.e. compute-yyyyyy-cyy.
        target_compute_name: compute-8f710e32-c1009
        # Target site nova compute cluster name
        cluster_name: domain-c1009
        datastore_regex: ds9\-1
        # Fill in the dvs moid for each novacompute if CarrierEdition and SRIOV enabled
        # dvs_moid:
      glance:
        # Replicate following fields for each glance backend, the format glance backend is: <datacentername>:<datastorename>:100
        vmware_datastores: dc:ds26-1:100
      cinder:
      # Replicate following fields for each cinder backend
      # Source site cinder backend name i.e. nova-xx.xx.xx.xx-vmdk-1. Could get from spec.conf.backends section in "osctl get cinder -oyaml"
      - source_backend_name: cinder1-10.155.20.145-vmdk-1
        # List each compute cluster from the next line after "vmware_cluster_name:", one for each line.
        # Do not add anything after "vmware_cluster_name:".
        vmware_cluster_name:
        # Replicate following field for each cluster
        - compute01
      - source_backend_name: cinder1-10.155.20.145-vmdk-2
        # List each compute cluster from the next line after "vmware_cluster_name:", one for each line.
        # Do not add anything after "vmware_cluster_name:".
        vmware_cluster_name:
        # Replicate following field for each cluster
        - compute02
    
    备份配置:
    # Backup configurations from source site 
    # Name of the backup file
    name: backup125
    source:
      kind: contentLibrary
      contentLibrary:
        # Name of the content library which must be Local content library type
        name: VIO
    # Optional, specified the datastore to be us 
    datastore: ds-vio