The Coriolis VMWare vSphere plugin allows for Migrating (CMaaS) or Replicating (DRaaS) from individual ESXi hosts or VMWare vSphere deployments using Changed Block Tracking (CBT) technology.
Coriolis achieves this by leveraging the vixDiskLib library from the official VMWare Virtual Disk Development Kit (VDDK) to call into the CBT subsystem to diff and fetch the blocks of the virtual disks of the VMWare VM(s) being migrated.
The Coriolis appliance comes by default with vixdisklib version 6.7 (starting with Coriolis release 2210.0), which allows migrating instances through CBT from ESXi host versions 6.x and also 7.x (the VDDK release policy is to support two ESXi releases back (relative to the version of vixDiskLib itself) and the immediately following version after).
As a troubleshooting step in case of migration errors, the vixdisklib version used by Coriolis can be manually updated on the appliance. The following steps are to be performed by a Coriolis Engineer, as Appliance access is required to perform the outlined steps. Please contact the Coriolis Support Team if this operation is required.
vixDiskLib-related deployment configuration options
Before updating the vixDiskLib SOs in use, please double-check the location where Coriolis is configured to search for the library:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#From Coriolis' console menu, select 'option 3' for editing ##Vixdisklib path coriolis_vmware_vix_disklib_dir: /opt/coriolis/vmware-vix-disklib #Verify the config $ cat /etc/coriolis/coriolis.conf ... [vmware_vsphere_migration_provider] ## NOTE: The last path appended here should be identical to the `coriolis_vmware_vix_disklib_dir` ## option shown above vixdisklib_library_directory = /lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/opt/coriolis/vmware-vix-disklib ## NOTE: vixdisklib 6.7 can be used with all versions of ESXi/vCenter equal or newer than 6.0. vixdisklib_compatibility_version = 6.7 ... |
NOTE The archive file containing the desired version of vixDiskLib should have been provided alongside your ESXi license(s), but it can also be downloaded from VMWare’s code distribution service. Depending on the source used, you may need to download/extract the VDDK as a whole in order to find the actual file(s) containing vixDiskLib.
After identifying the correct directory path for the library (“/opt/coriolis/vmware-vix-disklib” in this example), as well as the URL of the archive file containing the desired version of vixDiskLib, you may install it by running the following:
Installing a different vixDiskLib
version
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ VIX_DIR_PATH="/opt/coriolis/vmware-vix-disklib" $ VIXDISKLIB_TGZ_URL="<VIXDISK_LIB_TGZ_URL_LOCATION>" # From Coriolis' console menu, select 'option 3' for editing # Remove previous vixDiskLib installation: $ rm -rf "$VIX_DIR_PATH/*" $ mkdir /tmp/vix # Download, extract and copy the .tgz: $ wget $VIXDISKLIB_TGZ_URL -O /tmp/vix/tgz $ tar -xzvf /tmp/vix/tgz -C /tmp/vix $ cp -av /tmp/vix/vmware-vix-disklib-distrib/lib64/* "$VIX_DIR_PATH/" # NOTE: validate correct version is installed and symlinks are present: $ ls -l "$VIX_DIR_PATH" ... # NOTE: please remember to edit the 'vixdisklib_compatibility_version' under # the '[vmware_vsphere_migration_provider]' section of /etc/coriolis/coriolis.conf: $ vi /etc/coriolis/coriolis.conf # NOTE: please remember to confirm 'Restart Coriolis container' option upon exit, for the changes to take effect |