Replies: 3 comments 2 replies
-
|
@nemethga it seems kvm host is unable to reach the vcenter vc01.testdomain.sk, can you manually try the ovftool cmd and verify it? |
Beta Was this translation helpful? Give feedback.
-
|
Any update for this issue? I have seen many videos that you have shown in the labs, how to migrate vm from vmware to kvm through this tool. It seems that it is not at all tight, I do not know how it is usable in a production environment. We do not know how to resolve error conditions and I have no idea how to run this conversion tool. Is there anyone here who has the conversion working and uses it in real conditions? Thanks |
Beta Was this translation helpful? Give feedback.
-
|
Hello, @nemethga, and others
The ACS native feature of importing VMs from VMware has some prerequisites that must be met before starting to use it. First, the Management Servers must be able to communicate with vCenter where the VMs are converted from, and vCenter must have access to one of the storage systems registered in ACS (secondary storage is a great choice; the reason is explained below). Additionally, some packages must be installed on the KVM hosts in the compute plane, including:
With the packages installed on the KVM hosts in the compute plane, the conversion can be performed through the graphical interface by navigating to
Notes: This process is extremely time-consuming, making its use unfeasible in most use cases when handling migration of TiB of volumes. This happens because Additionally, the conversion itself is performed by an external tool (
As previously mentioned and explained, given that it takes an expressive amount of time to migrate a VM using the built-in ACS functionality, it becomes unusable for some production situations. However, as a workaround, manual processes can be designed and executed to perform the migration of the instances. Next, a feasible alternative is described that only generates a single downtime of a few seconds for the imported VMs. It requires a shared NFS appliance accessible by VMware and KVM hosts, which does not need to be presented to ACS. Basically, the approach leverages: (i) the possibility provided by QEMU of having QCOW2 volumes with VMDK volumes as backing files; and (ii) the KVM's functionality of consolidating the backing file of a volume into its delta while the VM is running (the original/backing file is not changed and is kept after the operation). Below are the steps that could be performed to manually migrate a VM from VMware to KVM using this approach:
With that, the downtime will only occur during the execution of steps 7 and 8, whose commands should not take more than a few seconds to finish. With step 11, the volumes are fully converted to QCOW2 without any downtime, ending the import procedure. This will also make sure that the data between ACS VM and VMware is the same, thus avoiding the need to further sync the data. Hope it helps :), |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
We have ACS 4.22 environment with KVM and we are testing VM conversion from vmware to acs. Test VM is stopped OL8 linux. The following error occurred during migration. The error is from KVM cloudstack agent log. Where could the problem be? Vcenter is available.
Thanks for your help
2026-03-24 14:03:52,798 INFO [resource.wrapper.LibvirtConvertInstanceCommandWrapper] (Script-7:[]) (logid:) ((test-vm-01) export ovf) Error: Internal error: Failed to connect to remote host [vc01.testdomain.sk due to [No version for VMODL calls to <<<cs p:000055dee12710b0, TCP:vc01.testdomain.sk:443> >, /sdk>]
2026-03-24 14:03:52,800 INFO [resource.wrapper.LibvirtConvertInstanceCommandWrapper] (Script-7:[]) (logid:) ((doval-export-test) export ovf) Completed with errors
2026-03-24 14:03:52,809 WARN [resource.wrapper.LibvirtConvertInstanceCommandWrapper] (AgentRequest-Handler-4:[]) (logid:36eb933c) Execution of process [3172099] for command [ovftool --noSSLVerify vi://**
@vc01.testdomain.sk:443/PosAm DC/vm/Development/_noBCK/test-vm-01 /mnt/769229c1-29e0-3ff9-a668-97167bb64eee/14837b91-e991-4657-800c-3b585a149f32/ ] failed.
2026-03-24 14:03:52,809 WARN [resource.wrapper.LibvirtConvertInstanceCommandWrapper] (AgentRequest-Handler-4:[]) (logid:36eb933c) Exception [Stream closed] occurred when attempting to run command [ovftoo
l --noSSLVerify vi://**@vc01.testdomain.sk:443/PosAm DC/vm/Development/_noBCK/test-vm-01 /mnt/769229c1-29e0-3ff9-a668-97167bb64eee/14837b91-e991-4657-800c-3b585a149f32/ ]. java.io.IOException: St
ream closed
at java.base/java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:168)
at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:287)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:330)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:190)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:177)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:162)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396)
at com.cloud.utils.script.OutputInterpreter.processError(OutputInterpreter.java:41)
at com.cloud.utils.script.Script.execute(Script.java:336)
at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtConvertInstanceCommandWrapper.exportOVAFromVMOnVcenter(LibvirtConvertInstanceCommandWrapper.java:220)
at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtConvertInstanceCommandWrapper.execute(LibvirtConvertInstanceCommandWrapper.java:104)
at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtConvertInstanceCommandWrapper.execute(LibvirtConvertInstanceCommandWrapper.java:47)
at com.cloud.hypervisor.kvm.resource.wrapper.LibvirtRequestWrapper.execute(LibvirtRequestWrapper.java:78)
at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:2280)
at com.cloud.agent.Agent.processRequest(Agent.java:813)
at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:1295)
at com.cloud.utils.nio.Task.call(Task.java:83)
at com.cloud.utils.nio.Task.call(Task.java:29)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
2026-03-24 14:03:52,810 ERROR [resource.wrapper.LibvirtConvertInstanceCommandWrapper] (AgentRequest-Handler-4:[]) (logid:36eb933c) (test-vm-01) Export OVA for the VM test-vm-01 failed
Beta Was this translation helpful? Give feedback.
All reactions