Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -54,36 +54,37 @@ Ubuntu 22.04 LTS, 24.04 LTS


Importing Windows VMs from VMware requires installing the virtio drivers for Windows on the hypervisor hosts for the virt-v2v conversion.
The Fedora-provided ``virtio-win`` RPM installs the drivers under ``/usr/share/virtio-win``, which is one of virt-v2v's
default search paths.

On (RH)EL hosts:
On EL-based hosts, including RHEL, Oracle Linux, Rocky Linux and Alma Linux, install the Fedora-provided RPM directly.
The ``virtio-win`` package may not be available from the enabled distribution repositories on EL8 or EL9 hosts.

::

yum install virtio-win
dnf install -y https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.noarch.rpm

You can also install the RPM manually from https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.noarch.rpm
rpm -qa | grep -i virtio-win
ls -l /usr/share/virtio-win


For Debian-based distributions:

Ubuntu don’t seem to ship the virtio-win package with drivers, which causes virt-v2v not to convert the VMWare Windows guests to virtio profiles. This could result in slow IDE drives and Intel E1000 NICs. As a workaround, we can follow the below steps to install the package from the RPM on all KVM hosts running the virt-v2v:
Ubuntu does not always ship a ``virtio-win`` package with the Windows drivers, which causes virt-v2v not to convert
the VMware Windows guests to virtio profiles. This can result in slow IDE drives and Intel E1000 NICs. As a workaround,
download the Fedora RPM and convert it to a DEB on all KVM hosts running virt-v2v:

::

apt install virtio-win (if the package is not available, then manual steps will be required to install the virtio drivers for windows)

wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.noarch.rpm

# install “alien” which can convert rpms to debs
apt -y install alien
wget -O virtio-win.noarch.rpm https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.noarch.rpm

# the conversion, can take a while
alien -d virtio-win.noarch.rpm

# install the resulting deb
dpkg -i virtio-win*.deb
ls -l /usr/share/virtio-win

In addition to this, we need to install the below package as well to avoid the error “virt-v2v: error: One of rhsrvany.exe or pvvxsvc.exe is missing in /usr/share/virt-tools“.
In addition to this, install the package below to avoid the error
``virt-v2v: error: One of rhsrvany.exe or pvvxsvc.exe is missing in /usr/share/virt-tools``.

::

Expand Down Expand Up @@ -146,6 +147,7 @@ This reduces disk I/O amplification, eliminates temporary staging storage, and s
CloudStack does not distribute VDDK, operators must download it separately.
Along with the new VDDK-based conversion method the traditional OVF-based method remains supported for environments.
Operators can choose the conversion method on a per-migration basis in the UI import wizard.

Host Prerequisites for VDDK-based Conversion
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -181,13 +183,26 @@ Ubuntu:

**Step 2: Download and install VDDK**

Download the VDDK tarball and extract it on the KVM host. The CloudStack agent will detect the VDDK library
directory from the extracted package layout or it can also be configured explicitly via the ``vddk.lib.dir``
property in ``/etc/cloudstack/agent/agent.properties``.
Download the VDDK Linux tarball from Broadcom's VMware Virtual Disk Development Kit page:
https://developer.broadcom.com/sdks/vmware-virtual-disk-development-kit-vddk/

For EL-based KVM hosts, use the latest available VDDK 8.x Linux tarball on EL8 hosts and the latest available
VDDK 9.x Linux tarball on EL9 hosts. Ubuntu hosts should use the Linux tarball compatible with the installed
``virt-v2v`` and ``nbdkit`` packages; validate this combination before enabling VDDK-based migrations in production.

Extract the tarball under a consistent location such as the example below. The CloudStack agent auto-detects a valid
``vmware-vix-disklib-distrib`` directory when it can find one on the host. If VDDK is extracted elsewhere, or if the
host has more than one VDDK installation and a specific one should be used, configure the directory explicitly with the
``vddk.lib.dir`` property in ``/etc/cloudstack/agent/agent.properties``.

::

mkdir -p /opt/vmware-vddk

# EL8 example
tar -xf VMware-vix-disklib-8*.tar.gz -C /opt/vmware-vddk

# EL9 example
tar -xf VMware-vix-disklib-9*.tar.gz -C /opt/vmware-vddk

Expected layout after extraction::
Expand Down
Loading