You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by "matheusfontes (via GitHub)" <gi...@apache.org> on 2026/03/17 01:51:15 UTC

[I] Ceph RBD Volume Migration [cloudstack]

matheusfontes opened a new issue, #12820:
URL: https://github.com/apache/cloudstack/issues/12820

   ### problem
   
   Volume migration between Ceph RBD primary storages fails in CloudStack 4.22 because the destination is incorrectly treated as a local file path instead of an RBD URI.
   
   In CloudStack 4.22, migrating a volume from one Ceph RBD primary storage to another fails during the qemu-img convert operation.
   
   The system attempts a direct primary-to-primary migration (which is expected behavior in newer versions), but the destination is incorrectly passed as a local filesystem path instead of an RBD URI.
   
   As a result, the migration fails with:
   qemu-img: CEPH2_NVME/<uuid>.raw: error while converting raw:
   Could not create 'CEPH2_NVME/<uuid>.raw': No such file or directory
   
   From the agent logs:
   qemu-img convert -O raw -U \
   rbd:CEPH1_SATA/<source-volume>:mon_host=...:auth_supported=cephx:id=... \
   CEPH2_NVME/<destination-volume>.raw
   
   Expected behavior:
   qemu-img convert -O raw \
   rbd:CEPH1_SATA/<source-volume> \
   rbd:CEPH2_NVME/<destination-volume>
   
   The destination is missing the rbd: prefix and is incorrectly suffixed with .raw, causing qemu-img to treat it as a local file path.
   
   ### versions
   
   	•	Apache CloudStack: 4.22.0
   	•	Hypervisor: KVM
   	•	OS: Ubuntu 22.04 and 24.04
   	•	qemu-img version: 6.2.0 (Debian 1:6.2+dfsg-2ubuntu6.27)
   	•	Ceph version: Source: Octopus / Destination: Reef
   
   ### The steps to reproduce the bug
   
   	1.	Configure two Ceph RBD primary storages in the same zone:
   	•	Source: CEPH1
   	•	Destination: CEPH2
   	2.	Ensure both are accessible from KVM hosts.
   	3.	Create a volume in CEPH1
   	4.	Attempt to migrate the volume to CEPH2 using:
   	•	CloudStack UI
                    select volume -> click on Migrate Volume -> Select CEPH2 storage pool
   
   	•	cmk call
                     migrate volume storageid=CEPH2_ID volumeid=VOLUME_ID_HOSTED_IN_CEPH1
   
   	5.	Observe failure during migration.
   
   ### What to do about it?
   
   	•	Ensure the destination is correctly formatted as an RBD URI (rbd:pool/image)
   	•	Validate logic in LibvirtStorageAdaptor (KVM) for RBD-to-RBD migration path
   	•	Possibly introduce fallback to secondary storage if direct conversion fails


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] Ceph RBD Volume Migration [cloudstack]

Posted by "weizhouapache (via GitHub)" <gi...@apache.org>.
weizhouapache commented on issue #12820:
URL: https://github.com/apache/cloudstack/issues/12820#issuecomment-4073135764

   @matheusfontes 
   
   this should have been fixed by #12103
   
   can you patch the kvm agent, or wait for 4.22.1 release ?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org