Hi Mercado,

If I read it right, you're trying to run x86 VM on a arm64 KVM host using 
CloudStack? If that's the case, yes - CloudStack doesn't support x86 VM on 
arm64 hosts. In fact, what CloudStack supports wrt KVM is same arch guest on 
the same arch host.

Trying to emulate x86 on arm64 will be super slow and I think current arm64 
processors may not support that (or for full virtualisation).


Regards.

 


________________________________
From: Mercado <cmerc...@g2khosting.com>
Sent: Friday, May 3, 2024 02:46
To: users@cloudstack.apache.org <users@cloudstack.apache.org>
Subject: Raspberry Pi as host in CloudStack

Hi everyone.

I have a CloudStack 4.17 cluster x86_64 using KVM/QEMU as a hypervisor.
I've been exploring the possibility of using a Raspberry Pi as a host,
as an alternative to conventional servers. Following the steps of this
tutorial [https://rohityadav.cloud/blog/cloudstack-arm64-kvm], I managed
to integrate the Raspberry Pi as a host in CloudStack and was able to
create a VM using an arm64 template. However, the issue arises when
attempting to create an x86_64 VM, where log indicates that QEMU doesn't
support KVM. I've been able to mount x86_64 VMs using only QEMU,
suggesting that the issue might be related to the CloudStack agent on
the Raspberry Pi host.

I would greatly appreciate any additional guidance on how to address
this matter and if anyone has had similar experiences when attempting to
virtualize x86_64 in a CloudStack environment using KVM/QEMU and
Raspberry Pi as a host.

Environment:

     - Cloudstack: 4.17.2.0

     Raspberry Pi 5
     - OS: Ubuntu 22.04.4 LTS (Jammy Jellyfish)
     - QEMU emulator version 6.2.0 (Debian 1:6.2+dfsg-2ubuntu6.19)

Log:
2024-04-30 18:04:20,394 WARN
[resource.wrapper.LibvirtStartCommandWrapper]
(agentRequest-Handler-4:null) (logid:abe7bdb2) LibvirtException
org.libvirt.LibvirtException: unsupported configuration: Emulator
'/usr/bin/qemu-system-x86_64' does not support virt type 'kvm'
     at org.libvirt.ErrorHandler.processError(Unknown Source)
     at org.libvirt.ErrorHandler.processError(Unknown Source)
     at org.libvirt.Connect.domainCreateXML(Unknown Source)
     at
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1799)
     at
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStartCommandWrapper.execute(LibvirtStartCommandWrapper.java:89)
     at
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtStartCommandWrapper.execute(LibvirtStartCommandWrapper.java:49)
     at
com.cloud.hypervisor.kvm.resource.wrapper.LibvirtRequestWrapper.execute(LibvirtRequestWrapper.java:78)
     at
com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1831)
     at com.cloud.agent.Agent.processRequest(Agent.java:660)
     at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:1080)
     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:1128)
     at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
     at java.base/java.lang.Thread.run(Thread.java:829)

Regards.

Reply via email to