CloudBase Coriolis Deployment Guide

The CloudBase Coriolis appliance VM can be installed on any node that has communication with the source and target platforms. In this guide, we will install the Coriolis VM on Virtuozzo Infrastructure.

Network ports requirements

OpenStack

ServiceDefault portProtocol
Keystone5000TCP
Cinder8776TCP
Nova8774TCP
Glance9292TCP
Neutron9696TCP
Swift8080TCP
Ceph6789TCP
Temporary Migration Worker – Source22, 4433TCP
Temporary Migration Worker – Destination22, 5986, 443, 5566TCP

VMware

ServiceDefault portProtocol
Management443TCP
CBT Source443TCP
Temporary Migration Worker – Destination22, 4433, 5986, 5566TCP
Management (to all ESXi nodes)902TCP

For more details, refer to the full list of platform ports requirements.

Prerequisites

1. Deploy a Virtuozzo Infrastructure cluster.

2. Create the compute cluster.

3. Configure the Virtuozzo Infrastructure command-line client.

4. Configure the OpenStack command-line client to authorize further OpenStack commands:

1
2
3
4
# su - vstoradmin
$ kolla-ansible post-deploy
$ exit
# source /etc/kolla/admin-openrc.sh

Preparation

Creating a Virtuozzo Infrastructure user for the migration target

For migration, you can use one of these three user types:

  • Federated domain administrator. Use this type if you need to migrate VMs to different domains or to keep the MAC addresses of the VM ports (required for preserving IP addresses). To create such a user:

1. Log in to the Virtuozzo Infrastructure management node.

2. Create a domain administrator named coriolis_user in the Default domain with the image uploading permission:

1
# vinfra domain user create coriolis_user --domain Default --domain-permissions domain_admin,image_upload

3. Add the federation permission to coriolis_user across all domains where you need to migrate your VMs:

1
2
# vinfra domain user set coriolis_user --domain default --assign-domain Default compute \
--assign-domain <Domain1> compute --assign-domain <Domain2> compute 

Now, coriolis_user has access to all projects in the assigned domains.

  • Domain administrator. Use this type if you need to migrate VMs to different projects within a specific domain. To create such a user:

1. In the Virtuozzo Infrastructure admin panel, go to Settings > Projects and users, click the required domain, and then click Create user.

2. Create a user named coriolis_user with the Domain administrator role and the Image uploading permission.

Now, coriolis_user has access to all projects in the specified domain.

  • Project member. Use this type if you need to migrate VMs to a specific project. To create such a user:

1. In the Virtuozzo Infrastructure admin panel, go to Settings > Projects and users, click the required domain, and then click Create user.

2. Create a user named coriolis_user with the Project member role and the Image uploading permission.

3. Assign coriolis_user to the required projects.

Now, coriolis_user has access to the specified projects.

Creating the migration target project

1. Log in to the self-service panel in the required domain.

2. Create a project will be used for the migration target.

Creating the Coriolis virtual network

1. In the Virtuozzo Infrastructure admin panel, create the coriolis-network virtual network (VXLAN) in the Default domain. Go to Compute > Network and click Create network.

2. Specify the subnet, gateway, and DNS server.

coriolis network

2. Create an RBAC rule to share coriolis-network with your target project via the OpenStack command-line client:

1
# openstack --insecure network rbac create --target-project <project_id> --action access_as_shared --type network <coriolis_network_id>

Creating a router for the Coriolis network

1. In the Virtuozzo Infrastructure admin panel, create a router for coriolis-network to route public networks. This is required by the OS morphing process to download drivers and for apt/yum updates. Go to Compute > Network > Routers and click Add router.

2. Specify the the public or bridged physical network that has access to Internet and coriolis-network:

coriolis router

Installation

1. Download the Coriolis VM image with the following credentials:

  • Username: virtuozzo

  • Password: d2625fd91180511f44e8791f828d1526534d5238a3

    1
    
    # wget --user=virtuozzo --password=d2625fd91180511f44e8791f828d1526534d5238a3 https://cloudbase.it/downloads/coriolis/coriolis-appliance-latest.ova
    

2. Extract the image and convert it to the QCOW2 format:

1
2
# tar -xvf coriolis-appliance-latest.ova
# qemu-img convert -f vmdk -O qcow2 disk-0.vmdk coriolis-appliance-latest.qcow2

3. Add the image to the compute cluster as Coriolis-appliance:

1
# openstack --insecure image create Coriolis-appliance --disk-format raw --container-format bare --file coriolis-appliance-latest.qcow2

4. Create the Coriolis VM from the image with the following parameters:

  • Name: Coriolis Appliance
  • Image: Coriolis-appliance
  • Volume: 60 GB
  • Flavor: large (4 vCPUs, 8 GiB of RAM)
  • Network interfaces: 1 NIC connected to coriolis-network

5. Once the VM is created, open its console by clicking Console on the VM right pane.

coriolis console

6. Obtain the password to the admin account of the Coriolis Web UI by selecting option 2 - Show UI Login Details.

Note: If the environment where you deploy the Coriolis VM does not feature DHCP, you need to log in to the VM console and manually configure its static networking by selecting option 4 - Edit/Inspect Network Settings. It is recommended to reboot the VM after configuring its network settings.

7. To access the Coriolis Web UI, open a new browser tab and type in the IP address of your Coriolis VM. Log in to the Coriolis Web UI specifying the credentials obtained in the previous step.

coriolis login

8. On the Dashboard screen, obtain the Appliance ID in the Current Licence section, and then contact the Virtuozzo support team to obtain a Coriolis license.

Adding cloud endpoints

Cloud endpoints contain the connection details and credentials for the source and destination cloud platforms participating in VM migration.

coriolis endpoints

Adding Virtuozzo Infrastructure as the target endpoint

1. Click New in the top right corner on the screen, select Endpoint, and then select OpenStack.

coriolis openstack

2. Specify the following parameters:

coriolis target

In this example, the west domain and migration project are used as a source.

Adding VMware as the source endpoint

1. Click New in the top right corner on the screen, select Endpoint, and then select VMware.

coriolis vmware

2. Specify the following parameters:

coriolis source

3. Click Validate and save.

Once the validation is successful, the endpoint will be saved and ready.

After you complete all these steps, you can proceed to create VM replicas and migrations: