qemu-img 在不同 ceph 集群之间转换 rbd volumes 加速

qemu-img convert rbd volumes between different ceph clusters accelerate

有没有一种优雅的方法可以将 RBD 卷复制到另一个 Ceph 集群?

我用qemu-img 2.5版本或qemu-img 6.0版本计算转换时间,通过复制一个卷(容量为2.5T,仅使用18G)到另一个Ceph集群。

qemu-img [2.5 or 6.0] convert -p -f raw rbd:pool_1/volume-orig_id:id=cinder:conf=1_ceph.conf:keyring=1_ceph.client.cinder.keyring -O raw rbd:pool_2/volume-new_id:id=cinder:conf=2_ceph.conf:keyring=2_ceph.client.cinder.keyring [-n -m 16 -W -S 4k]

测试qemu-img convert结果:

qemu-img 2.5 花费 2 小时 40 分钟,没有选项参数:

qemu-img 6.0 使用选项参数 (-m 16 -W -S 4k):3 小时 3 分钟:

问题:

1、为什么2.5版本写入只用到磁盘容量(18G),而6.0版本写入孔盘2.5T?

2、如何使用qemu-img(2.5或6.0版本)加速将RBD volume转换到另一个Ceph集群或者有其他的方法吗?

主要特点是qemu-img convert -n -n 选项参数。

如果用'-n' skips the target volume creation (useful if the volume is created prior to running qemu-img)参数转换磁盘,它会将空磁盘容量写入目标rbd卷。没有它,qemu-img convert 只读取源卷使用的能力并将它们写入目标卷