云硬盘跨存储迁移方案
修订记录
日期 | 版本 | 修订说明 | 修订人 | 审核人 | 批准人 |
2021-06-29 | 1.0 | 初稿 | 卢启涛 | ||
目录
背景
- 源卷在HDD pool,目的卷在SSD pool,也就是卷属于同一套ceph集群,但是卷所在pool不同。
- 源卷在ceph,目的卷在FCSAN/IPSAN,这种属于跨存储类型的迁移,也有可能源卷和目的卷属于不同ceph集群。
根据迁移操作对业务系统的影响,虚拟机的迁移一般分为两类:
1、冷迁移(Cold Migration / Non-live Migration)
虚拟机需要先停机,等待与此虚拟机相关的计算和存储等资源迁移完成后,再重新启动。在迁移期间,业务无法访问,只有迁移完成后,业务才能恢复。由于迁移过程中涉及到存储数据的拷贝,如果数据量比较大,会造成停机时间过长且不可控,因此冷迁移仅适用于对系统可用性要求不高的业务。
2、热迁移(Live Migration)
虚拟机在迁移过程中保持运行状态,业务可正常访问,根据虚拟机的存储类型又可分为:基于共享存储的热迁移、块设备的热迁移和基于卷的热迁移等。由于涉及到计算、网络和存储的一体化热迁移,对底层基础设施的要求较高。
实现方案
跨存储冷迁移
可通过cinder retype功能实现,相同后端的retype不在这里描述,以不同类型后端为例说明:
- 使用目的卷类型创建一个新卷。
- 同时将源卷和目的卷挂载到物理机,得到挂载点地址。
- 如果挂载地址为字符串调用dd命令将源卷数据拷贝到目的卷,否则调用driver提供的读写方法进行数据拷贝。
- 交换卷id,确保retype后卷id不变,删除源卷。
- 如果卷之前有挂载到虚拟机,将目的卷挂载到虚拟机。
跨存储热迁移
目前没有可行方案,libvirt热迁移虚拟机依赖共享存储,如果跨存储会导致虚拟机卷对应的uri不相同,热迁移报错。
VMware通过VMotion实现跨集群热迁移,方案实现较复杂。
跨存储卷冷迁移步骤
以卷所在集群不同为例,前置条件cinder同时对接2套ceph集群
- 查询卷类型和后端服务列表,得到A集群对应的卷类型为ceph_hdd,B集群对应卷类型为ceph_hdd2。
cinder type-list
cinder service-list
- 在ceph A集群创建一个卷,等待卷创建成功状态变成available。
cinder create --volume-type ceph_hdd2 --name test 1
- 登录到A集群查询卷详情。
rbd info pool2/volume-23b01dbf-1668-4791-98a3-76183ae0726c
rbd image 'volume-23b01dbf-1668-4791-98a3-76183ae0726c':
size 1GiB in 256 objects
order 22 (4MiB objects)
block_name_prefix: rbd_data.2758a17399ab7
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags:
create_timestamp: Wed Jun 30 16:25:17 2021
- 执行retype命令。
cinder retype --migration-policy on-demand test ceph_hdd
- 查询卷迁移状态,可以看到卷的migration_status从migrating状态变为success表示迁移成功,如果变为error表示迁移失败。
cinder show 23b01dbf-1668-4791-98a3-76183ae0726c
- 再次登录到A集群查询卷返回失败,因为卷已经迁走了。
rbd info pool2/volume-23b01dbf-1668-4791-98a3-76183ae0726c
rbd: error opening image volume-23b01dbf-1668-4791-98a3-76183ae0726c: (2) No such file or directory
- 登录到B集群可以正常查询卷详情,说明数据已从A集群迁移到B集群。
rbd info volumes/volume-23b01dbf-1668-4791-98a3-76183ae0726c
rbd image 'volume-23b01dbf-1668-4791-98a3-76183ae0726c':
size 1GiB in 256 objects
order 22 (4MiB objects)
block_name_prefix: rbd_data.d18dbdf3d6ce
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags:
create_timestamp: Wed Jun 30 16:27:16 2021
同一集群跨存储池,以及从FCSAN/IPSAN到ceph的互迁步骤类似。


浙公网安备 33010602011771号