GitHub user arpanbht created a discussion: vm creation from backups
I am facing an issue while trying to create a new VM from an existing backup in
Apache CloudStack.
The backup is available on both NAS storage locations, and I have verified that
the corresponding QCOW2 backup file exists physically on the NAS. However, when
I attempt to create a VM from the backup through CloudStack, the operation
fails.
The Management Server reports that the backup file for the volume does not
exist, even though the QCOW2 backup file is present on the backup storage.
Here is the error log
```
2026-08-31 11:05:58,681 DEBUG [c.c.v.UserVmManagerImpl]
(API-Job-Executor-49:[ctx-3b9138ee, job-58083, ctx-1245a0d5]) (logid:5076d060)
Successfully cleaned up Instance 1211 after create Instance from backup failed
2026-08-31 11:05:58,681 ERROR [c.c.a.ApiAsyncJobDispatcher]
(API-Job-Executor-49:[ctx-3b9138ee, job-58083]) (logid:5076d060) Unexpected
exception while executing
org.apache.cloudstack.api.command.admin.vm.CreateVMFromBackupCmdByAdmin
com.cloud.utils.exception.CloudRuntimeException: Failed to create Instance
[i-2-1211-VM] from backup
[{"externalId":"i-2-1185-VM\/2026.08.31.06.56.07","name":"r3","uuid":"26295893-2f9e-4256-9ddd-a7099cebd291"}]
due to: Backup file for the volume [86636972-a7a4-422d-8f31-b3c932850659] does
not exist..
at
org.apache.cloudstack.backup.BackupManagerImpl.restoreBackupToVM(BackupManagerImpl.java:1408)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
at jdk.proxy3/jdk.proxy3.$Proxy296.restoreBackupToVM(Unknown Source)
at
com.cloud.vm.UserVmManagerImpl.restoreVMFromBackup(UserVmManagerImpl.java:9826)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
at jdk.proxy3/jdk.proxy3.$Proxy202.restoreVMFromBackup(Unknown Source)
at
org.apache.cloudstack.api.command.user.vm.CreateVMFromBackupCmd.execute(CreateVMFromBackupCmd.java:124)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:173)
at
com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:110)
at
org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:686)
at
org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:49)
at
org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:56)
at
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:103)
at
org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:53)
at
org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:46)
at
org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:634)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
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)
```
Here is the output where the file exists
This is for zone 1
```
zone-1-nfs@zone-1-nfs:~$ find /volume1/cloudstack-backups/ -iname
'*86636972-a7a4-422d-8f31-b3c932850659*'
/volume1/cloudstack-backups/i-2-1185-VM/2026.08.28.06.46.00/.root.86636972-a7a4-422d-8f31-b3c932850659.qcow2.l0hA0y
/volume1/cloudstack-backups/i-2-1185-VM/2026.08.28.06.46.00/root.86636972-a7a4-422d-8f31-b3c932850659.qcow2
/volume1/cloudstack-backups/i-2-1185-VM/2026.08.31.06.29.48/root.86636972-a7a4-422d-8f31-b3c932850659.qcow2
/volume1/cloudstack-backups/i-2-1185-VM/2026.08.31.06.56.07/.root.86636972-a7a4-422d-8f31-b3c932850659.qcow2.eyUkiV
/volume1/cloudstack-backups/i-2-1185-VM/2026.08.31.06.56.07/root.86636972-a7a4-422d-8f31-b3c932850659.qcow2
```
This is for zone 2
```
zone-2-nfs@nasdr:~$ sudo find /volume1/cloudstack-backups/ -iname
'*86636972-a7a4-422d-8f31-b3c932850659*'
Password:
/volume1/cloudstack-backups/i-2-1185-VM/2026.08.31.06.56.07/root.86636972-a7a4-422d-8f31-b3c932850659.qcow2
```
GitHub link: https://github.com/apache/cloudstack/discussions/14015
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]