To recover your VMware Integrated OpenStack deployment, you must deploy VMware Integrated OpenStack virtual appliance, and use viocli create drrecover for updating the VMware Integrated OpenStack backup data, and then use restore procedure for recovering the deployment in the disaster recovery site.

Prerequisites

  • Verify that you deploy VMware Integrated OpenStack 7.2 OpenStack virtual appliance in the disaster recovery target site.
  • Verify that there is a VMware Integrated OpenStack backup package in the vCenter content library in the disaster recovery target site.
  • Before disaster, you must prepare the disaster recovery YAML file.

Procedure

  1. Create the vCenter and the NSX CR in target site.
    1. Create CR for management and compute vCenter servers.
      viocli create vcenter -n 10.155.20.126 -u administrator@vsphere.local -p ‘xxxxxx’
    2. Create CR for NSX manager.
      viocli create nsx -n nsxmgr01.violab.com -u admin -p ‘xxxxxx!xxxxxx’
    3. Retreive the vCenter and NSX CR names.
      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. Calculate Nova compute name in the target site.
      • Log in to the management vCenter or compute vCenter.
      • Click each nova-compute cluster for obtaining the URL from the address bar. For example:
        https://<vcenter_server>/ui/app/cluster;nav=h/urn:vmomi:ClusterComputeResource:domain-c8:7e8d8b50-09e4-4cbf-ba52-cab4ae78eba6/summary
      • Extract the string ClusterComputeResource:domain-cx:xxxxxxxx from the http URL for each compute cluster for reforming compute node name.

        For example, for ClusterComputeResource:domain-c8:7e8d8b50, compute node name is compute-7e8d8b50-c8.

  2. Create the disaster recovery template and edit the source and target site information.
    viocli create drrecover -o > drrecover.yaml
  3. Edit the disaster recovery template YAML file with the necessary configuration information.
    Note: Ensure that you configure the backup package disaster recovery vCenter content library in the backup configuration section in YAML.
  4. Generate a disaster recovery package in vCenter content library using the drrecover command.
    viocli create drrecover -f drrecover.yaml
    Verify that there is a new backup package generated in the disaster recovery vCenter content library, for example: backup125-DR-625849.
  5. Use the new generated backup package backup125-DR-625849 for restoring the VMware Integrated OpenStack deployment in the disaster recovery vCenter. For more information, see Restore Deployment.
  6. After restore procedure, your deployment is recovered in the disaster recovery site. You can use it to manage the recovered instances, volumes, and networks.

    Following are the examples for the disaster recovery tempate. You can check the details for the configurations.

    Target site configuration:
    # 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 Configuration:
    # 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 Configuration:
    # 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 service configuration for management server:
    # 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
    
    OpenStack service configuration for compute vCenter:
    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 Configuration:
    # 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