Incomplete Full Clone from Shared Storage to Local Storage Across Nodes

Petros

Member
Apr 8, 2023
23
0
6
Hello,

When performing a full clone of a VM/template stored on shared storage (e.g. RBD/Ceph) to a target node using local storage (e.g. directory or LVM-based), and the clone operation targets a different node than the source, Proxmox:


  • Creates the new VM configuration file on the target node as expected.
  • But does not transfer or properly copy the VM disk image to the selected local storage on that target node.
  • As a result, the newly cloned VM is incomplete and unbootable, referencing a disk that does not exist locally.


    1745977840584.png



    Please confirm if this is intended behavior or a known limitation, and whether it could be improved in future versions.

    My goal was to store VM templates on shared storage so I can clone VM from A server to targeted servers.
 
Last edited:
Hi,
please share the storage configuration cat /etc/pve/storage.cfg and the VM configurations from the source of the clone and the clone qm config <ID>. And for completeness, the output of pveversion -v.
 
I wonder how you are able to trigger the clone, for me it fails right away:
Code:
[I] root@pve8a1 ~# qm clone 123 500 --target pve8a2 --storage dir
can't clone to non-shared storage 'dir'
This is a known limitation: https://bugzilla.proxmox.com/show_bug.cgi?id=2059

Is the target storage maybe accidentally marked as shared?
 
I wonder how you are able to trigger the clone, for me it fails right away:
Code:
[I] root@pve8a1 ~# qm clone 123 500 --target pve8a2 --storage dir
can't clone to non-shared storage 'dir'
This is a known limitation: https://bugzilla.proxmox.com/show_bug.cgi?id=2059

Is the target storage maybe accidentally marked as shared?
Hello,

I'm happy to see someone has responded from the staff.

I've tried it using Samba and Ceph ( both shared of course )

It fails for you because you are trying to clone from local probably. But I do from shared storage.

Unfortunately, pveversion -v won't help too much, I see this issue since proxmox v8 and before, never tried it.


dir: local
path /var/lib/vz
content images,snippets,iso,vztmpl,backup,rootdir
prune-backups keep-all=1
shared 0

dir: vm_disks
path /var/lib/vms
content rootdir,backup,vztmpl,iso,import,snippets,images
prune-backups keep-all=1
shared 1

rbd: templates
content images
krbd 0
monhost 192.0.10.1
pool vms
username proxmox

Im trying to clone from templates (node1 => vm_disks(local, unshared) node2))

proxmox-ve: 8.4.0 (running kernel: 6.11.11-2-pve)
pve-manager: 8.4.1 (running version: 8.4.1/2a5fa54a8503f96d)
proxmox-kernel-helper: 8.1.1
proxmox-kernel-6.11.11-2-pve-signed: 6.11.11-2
proxmox-kernel-6.11: 6.11.11-2
proxmox-kernel-6.11.11-1-pve-signed: 6.11.11-1
proxmox-kernel-6.8.12-10-pve-signed: 6.8.12-10
proxmox-kernel-6.8: 6.8.12-10
amd64-microcode: 3.20240820.1~deb12u1
ceph-fuse: 16.2.15+ds-0+deb12u1
corosync: 3.1.9-pve1
criu: 3.17.1-2+deb12u1
glusterfs-client: 10.3-5
ifupdown: residual config
ifupdown2: 3.2.0-1+pmx11
ksmtuned: 4.20150326+b1
libjs-extjs: 7.0.0-5
libknet1: 1.30-pve2
libproxmox-acme-perl: 1.6.0
libproxmox-backup-qemu0: 1.5.1
libproxmox-rs-perl: 0.3.5
libpve-access-control: 8.2.2
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.1.0
libpve-cluster-perl: 8.1.0
libpve-common-perl: 8.3.1
libpve-guest-common-perl: 5.2.2
libpve-http-server-perl: 5.2.2
libpve-network-perl: 0.11.2
libpve-rs-perl: 0.9.4
libpve-storage-perl: 8.3.6
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.6.0-2
proxmox-backup-client: 3.4.1-1
proxmox-backup-file-restore: 3.4.1-1
proxmox-firewall: 0.7.1
proxmox-kernel-helper: 8.1.1
proxmox-mail-forward: 0.3.2
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.7
proxmox-widget-toolkit: 4.3.10
pve-cluster: 8.1.0
pve-container: 5.2.6
pve-docs: 8.4.0
pve-edk2-firmware: not correctly installed
pve-esxi-import-tools: 0.7.4
pve-firewall: 5.1.1
pve-firmware: 3.15-3
pve-ha-manager: 4.0.7
pve-i18n: 3.4.2
pve-qemu-kvm: 9.2.0-5
pve-xtermjs: 5.5.0-2
qemu-server: 8.3.12
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.7-pve2
 
dir: vm_disks
path /var/lib/vms
content rootdir,backup,vztmpl,iso,import,snippets,images
prune-backups keep-all=1
shared 1
Here, the directory is storage is marked as shared.
rbd: templates
content images
krbd 0
monhost 192.0.10.1
pool vms
username proxmox

Im trying to clone from templates (node1 => vm_disks(local, unshared) node2))
If it actually is unshared, please remove the flag from the storage configuration. The flag is only for indicating directories that already are on shared file systems.

pve-edk2-firmware: not correctly installed
Unrelated, but I suggest you run apt install pve-edk2-firmware
 
Yes, when disabling the shared flag from local storage, it becomes impossible to clone the VM .Now I have a better image.
>
Unrelated, but I suggest you run apt install pve-edk2-firmware

Done, appreciate for the info.

Thank you for your input. Hope maybe one day we will be able to handle this with PDM, if not directly with Proxmox.