Skip to content

Commit 3d72e47

Browse files
Revise VMware to KVM import instructions
Updated the instructions for importing VMware VMs into KVM, including recommendations for virt-v2v versions and installation steps for required tools.
1 parent 4c251b2 commit 3d72e47

1 file changed

Lines changed: 40 additions & 18 deletions

File tree

source/adminguide/virtual_machines/importing_vmware_vms_into_kvm.rst

Lines changed: 40 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ Requirements on the KVM hosts
1919
-----------------------------
2020

2121
The CloudStack agent does not install the virt-v2v binary as a dependency. The virt-v2v binary must be installed manually on KVM hosts, or the migration will fail.
22-
Newer versions of virt-v2v - v2.7.x on EL9, v2.4.x on Ubuntu 24.04 - are strongly advised. Older version of virt-v2v - e.g. v1.4.x should be avoided.
2322

24-
The virt-v2v output (progress) is logged in the CloudStack agent logs, to help administrators track the progress on the Instance conversion processes. The verbose mode for virt-v2v can be enabled by adding the following line to /etc/cloudstack/agent/agent.properties and restart cloudstack-agent:
23+
.. note:: Newer versions of virt-v2v - v2.7.x on EL9 variants, v2.4.x on Ubuntu 24.04 - are strongly advised. Older versions of virt-v2v - e.g. v1.4.x should be avoided.
24+
2525

26-
EL variants:
26+
The virt-v2v output (progress) is logged in the CloudStack agent logs, to help administrators track the progress on the Instance conversion processes. The verbose mode for virt-v2v can be enabled by adding the following line to /etc/cloudstack/agent/agent.properties and restart cloudstack-agent:
2727

2828
::
2929

@@ -56,7 +56,23 @@ Ubuntu 22.04 LTS, 24.04 LTS
5656
======================== ========================
5757

5858

59-
Importing Windows VMs from VMware requires installing the virtio drivers for Windows on the hypervisor hosts for the virt-v2v conversion.
59+
Recommended distributions, due to the most recent virt-v2v version (EL9 prefered)
60+
61+
62+
.. cssclass:: table-striped table-bordered table-hover
63+
64+
======================== ========================
65+
Linux Distribution Versions
66+
======================== ========================
67+
Alma Linux 9
68+
Red Hat Enterprise Linux 9
69+
Rocky Linux 9
70+
Oracle Linux 9
71+
Ubuntu 24.04 LTS
72+
======================== ========================
73+
74+
75+
Importing Windows VMs from VMware requires installing the virtio drivers inside that Windows VMs and that is executed by the host running virt-v2v conversion.
6076
The Fedora-provided ``virtio-win`` RPM installs the drivers under ``/usr/share/virtio-win``, which is one of virt-v2v's
6177
default search paths.
6278

@@ -70,7 +86,7 @@ On EL-based hosts, including RHEL, Oracle Linux, Rocky Linux and Alma Linux, ins
7086
ls -l /usr/share/virtio-win
7187

7288

73-
For Debian-based distributions (alien is needed for conversion of .rpm to .deb pavckage:
89+
For Debian-based distributions (alien is needed for conversion of .rpm to .deb package):
7490

7591
::
7692

@@ -81,13 +97,21 @@ For Debian-based distributions (alien is needed for conversion of .rpm to .deb p
8197
dpkg -i virtio-win*.deb
8298
ls -l /usr/share/virtio-win
8399

84-
On some distros, the Windows helper binary "rhsrvany.exe" which is used for Windows firstboot scripts and some other actions might be missing.
85-
To avoid virt-v2v error like ``virt-v2v: error: One of rhsrvany.exe or pvvxsvc.exe is missing in /usr/share/virt-tools`` - check if the file exists (it's actually a symbolic link):
86-
``ls -la /usr/share/virt-tools/rhsrvany.exe``
87-
If the file does not exist - proceed with the commands below (EL8 and EL9 hosts usually already have this in place, so are not affected)
100+
On some distros, the Windows helper binary "rhsrvany.exe", which is used for Windows-based VM firstboot scripts and some other actions, might be missing.
101+
102+
To avoid virt-v2v error like ``virt-v2v: error: One of rhsrvany.exe or pvvxsvc.exe is missing in /usr/share/virt-tools`` - check if the file exists (it's actually a symbolic link):
103+
104+
::
105+
106+
ls -la /usr/share/virt-tools/rhsrvany.exe
107+
108+
109+
If the file does not exist, proceed with the commands below (EL8 and EL9 variants usually already have this in place, so are not affected)
110+
111+
Ubuntu-based distros
112+
88113
::
89114

90-
Ubuntu-based distros
91115
wget -nd -O srvany.rpm https://kojipkgs.fedoraproject.org/packages/mingw-srvany/1.1/4.fc38/noarch/mingw32-srvany-1.1-4.fc38.noarch.rpm
92116
[ -f /usr/bin/alien ] || apt -y install alien
93117
alien -d srvany.rpm
@@ -97,9 +121,7 @@ If the file does not exist - proceed with the commands below (EL8 and EL9 hosts
97121
ln -sf /usr/i686-w64-mingw32/sys-root/mingw/bin/pnp_wait.exe /usr/share/virt-tools/pnp_wait.exe
98122
ls -la /usr/share/virt-tools/rhsrvany.exe
99123

100-
The OVF tool (ovftool) must be installed on the destination KVM hosts if the hosts should export VM files (OVF) from vCenter. If not, the management server exports them (the management server doesn't require ovftool installed).
101-
102-
Steps to install ovftool
124+
The OVF tool (ovftool) must be installed on the destination KVM hosts if the hosts are to export VM files (OVF) from vCenter. If not, the management server exports them (the management server doesn't require ovftool installed).
103125

104126
Download the ovftool from https://developer.broadcom.com/tools/open-virtualization-format-ovf-tool/latest
105127

@@ -111,7 +133,7 @@ Download the ovftool from https://developer.broadcom.com/tools/open-virtualizati
111133

112134
ln -s /usr/local/ovftool/ovftool /usr/local/bin/ovftool
113135

114-
If you are hitting the following error when running ovftool, install the dependecy
136+
If you are hitting the following error when running ovftool, install the dependency
115137

116138
./ovftool.bin: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
117139

@@ -147,7 +169,7 @@ This reduces disk I/O amplification, eliminates temporary staging storage, and s
147169
.. note::
148170

149171
CloudStack does not distribute VDDK, operators must download it separately.
150-
Along with the new VDDK-based conversion method the traditional OVF-based method remains supported for environments.
172+
Along with the new VDDK-based conversion method, the traditional OVF-based method remains supported for environments.
151173
Operators can choose the conversion method on a per-migration basis in the UI import wizard.
152174

153175
Host Prerequisites for VDDK-based Conversion
@@ -197,7 +219,7 @@ vSphere 9 and is not the expected default for vSphere 7 or vSphere 8 environment
197219
Extract the tarball under a consistent location such as the example below. The CloudStack agent auto-detects a valid
198220
``vmware-vix-disklib-distrib`` directory when it can find one on the host. If VDDK is extracted elsewhere, or if the
199221
host has more than one VDDK installation and a specific one should be used, configure the directory explicitly with the
200-
``vddk.lib.dir`` property in ``/etc/cloudstack/agent/agent.properties``.
222+
``vddk.lib.dir`` property in ``/etc/cloudstack/agent/agent.properties`` - as explained in the
201223

202224
::
203225

@@ -217,7 +239,7 @@ Expected layout after extraction::
217239

218240
::
219241

220-
ls /opt/vmware-vddk/vmware-vix-disklib-distrib/lib64/libvixDiskLib.so.8
242+
nbdkit vddk --dump-plugin libdir=/opt/vmware-vddk/vmware-vix-disklib-distrib/lib64 | grep vddk_library_version
221243
virt-v2v --version
222244
nbdkit --version
223245

@@ -372,7 +394,7 @@ Since version 4.22.1 it is possible to select the Guest OS for the VM to be impo
372394

373395
The conversion is performed on a random (or explicitly chosen) KVM host (if the ovftools are installed), otherwise, the management server will export/copy the VM files (optionally, you can force this action to be done by the management server even the KVM hosts have the ovftools installed in it). Irrelevant if the KVM host or the management server performs the copy of the VM files (OVF), you can further either let CloudStack choose which KVM host should do the conversion of the VM files using virt-v2v and which host will import the files to the destination Primary Storage Pool, or you can explicitly choose these KVM hosts for each of the 2 mentioned operations.
374396

375-
When importing an instance from VMware to KVM, CloudStack performs the following actions:
397+
When importing an instance from VMware to KVM (OVF method), CloudStack performs the following actions:
376398

377399
- Export the VM files (OVF) of the instance to a temporary storage location
378400
(which can be selected by the administrator). The export is performed by a

0 commit comments

Comments
 (0)