Share:

vmware to kvm migration cloudstack

VMware to KVM Migration Improvements | CloudStack Feature Deep Dive

The VMware to KVM migration tool was introduced in CloudStack 4.19.0 to help CloudStack Administrators move existing VMware-based workloads into KVM-based environments in a controlled and automated way. This is particularly relevant for operators looking to reduce dependency on proprietary hypervisors, consolidate infrastructure, or modernize their virtualization stack using open-source technologies.

While the initial implementation delivered the core migration workflow, early versions had performance and usability limitations. Over subsequent CloudStack releases, the tool has been steadily improved, addressing scalability, operational visibility, and Administrator control. This article provides an overview of the migration architecture and highlights the key improvements introduced across recent CloudStack versions, with a focus on the current LTS release.

Requirements

The VMware to KVM migration process in CloudStack relies on the virt-v2v tool,  which runs on KVM hosts and performs the actual virtual machine conversion.

By default, virt-v2v is not installed as a dependency for the cloudstack-agent packages on the KVM hosts and must be installed manually. The tool is responsible for converting the source VMware virtual machine, including its disks, into a KVM-compatible format. Installing virt-v2v on the selected KVM hosts is mandatory for VMware to KVM migration.

An additional requirement for KVM hosts is ovftool, which can be downloaded from the Broadcom website. CloudStack uses ovftool to export the source virtual machine from VMware vCenter to the conversion Host prior to the conversion step.

Installing ovftool on the conversion Hosts is recommended but not mandatory. If it is not present, the OVF export process is handled by the CloudStack Management Server instead.

Detailed Installation steps are available in the ‘Preparing KVM environment’ section of the following blog article: https://www.shapeblue.com/cloudstack-vmware-to-kvm-migration-tool/

Overview of the migration process

Two types of KVM Hosts are involved in the migration workflow:

KVM conversion Hosts

  • These are KVM hosts where virt-v2v is installed (ovftool is also recommended, but optional).
  • When a migration is triggered, CloudStack delegates the conversion task to a selected conversion host (administrators can select it beforehand).
  • If ovftool is available on the conversion host, it connects directly to the source VMware vCenter and exports the virtual machine into a staging directory. If not, this step is executed by the CloudStack Management Server.
  • Once the OVF export is complete, virt-v2v converts the virtual machine into a KVM-compatible format in the staging directory.

 

KVM importing Hosts

  • These Hosts must have access to the staging directory used during conversion.
  • The importing Host moves the converted virtual machine from the staging directory into Primary Storage, completing the import process.

 

Vmware to CloudStack

Improvements throughout recent CloudStack Versions

The migration tool has been continuously refined since its initial version on CloudStack 4.19.0.

CloudStack 4.19.1

  • Major performance improvements, reducing migration times by approximately 70-90%.

CloudStack 4.19.3

  • Improved listing of source vCenter virtual machines, preventing UI timeout listing large number of VMs.
  • Enhanced security in agent logs.

CloudStack 4.20.2

  • Display of virt-v2v and ovftool versions on the CloudStack Host view.
  • Preservation of the source virtual machine boot type and boot mode (BIOS or UEFI) after conversion.

CloudStack 4.22.0

  • Prefixing of conversion task logs with the source virtual machine name.
  • Listing of migration tasks via UI and API.
  • Support for passing extra parameters to virt-v2v.
  • Ability to write converted virtual machines directly to the destination storage pool.

Status of the Migration Tool

The latest CloudStack LTS release, version 4.22.0, includes all the improvements listed above and introduces several usability enhancements in the import UI:

  • Display of the source virtual machine boot type and boot mode.
  • A new toggle (disabled by default) allowing Administrators to convert the virtual machines directly into Primary Storage, bypassing staging storage.
  • A new toggle (also disabled by default) allowing the OVF export task to be delegated to the CloudStack Management Server.

Import Instance CloudStack

When selecting a KVM conversion Host, CloudStack also indicates which Hosts are suitable for migrations and displays the detected virt-v2v and ovftool versions when available.

Storage Pool CloudStack

Force writing directly to storage pool during conversion

By default, CloudStack uses a staging directory to export OVF files and perform conversions. Starting with CloudStack 4.22.0, Administrators can bypass this staging step and allow virt-v2v to write directly to a destination storage pool.

To enable this behavior:

  • Enable the ‘Force converting to storage pool directly’ toggle.
  • Select the destination storage pool.

Import Instance CloudStack

This option supports convertion directly into NFS, Local Storage or Shared Mount Point storage pools.

Local Storage considerations

  • Enable the ‘Force converting to storage pool directly’ toggle.
  • Select the same KVM host for both conversion and import.
  • Choose the local storage pool of that host as the destination.

Shared Mount Point considerations

  • Enable the ‘Force converting to storage pool directly’ toggle.
  • Select import and conversion Hosts that have access to the Shared Mount Point.
  • Choose the Shared Mount Point as destination storage pool.

Allow passing extra parameters to virt-v2v

Passing extra parameters to virt-v2v is disabled by default. Administrators must explicitly enable this function and define which parameters are allowed via Global Settings:

  • vmware.instance.to.kvm.extra.params.allowed
  • vmware.instance.to.kvm.extra.params.allowed.list (comma separated list)

When enabled, the migration UI expose a dedicated section for specifying extra parameters.

Allow passing cloudstack

CloudStack validates the provided parameters against the allowed list and passes only approved values to the virt-v2v binary.

Migration tasks listing

CloudStack 4.22.0 introduces a new API, listImportVmTasks, along with a corresponding UI view under:

Tools -> Import/Export instances -> Migrate from Vmware

Import VM Tasks CloudStack

Administrators can view and filter migration tasks by status, including running, completed, and failed operations, improving visibility and troubleshooting during large-scale migrations.

Conclusions

The VMware to KVM migration tool in CloudStack has matured significantly since its initial release. What started as a functional but limited workflow has evolved into a more performant, transparent, and configurable migration framework.

With the improvements delivered up to CloudStack 4.22.0, Administrators gain better control over conversion behavior, clearer operational visibility, and flexibility in how and where virtual machines are imported. These enhancements make CloudStack a more practical and predictable platform for organizations planning or executing VMware-to-KVM migration strategies at scale.

Share:

Related Posts:

ShapeBlue