Ceph RBD 导出和导入¶
我在 私有云架构 的 Ceph Atlas 集群通过 Libvirt集成Ceph RBD 运行 Windoes 7 虚拟机,安装Windows系统非常耗时,所以考虑在系统安装完成并升级好最新补丁之后,做一次完整的备份。
导出¶
已经按照 Libvirt集成Ceph RBD 部署并且配置好
ceph
客户端 ( CEPH_ARGS 环境变量 指定访问libvirt-pool
)
用户目录环境变量:
环境变量指定默认访问
libvirt-pool
存储池¶export CEPH_ARGS="--keyring /etc/ceph/client.libvirt.keyring --id libvirt -p libvirt-pool"
执行检查:
检查RBD存储池¶
rbd ls -l
输出显示,需要导出的 z-win7
磁盘大约19G
检查RBD存储池¶
NAME SIZE PARENT FMT PROT LOCK
z-k8s-m-1 16 GiB 2 excl
z-k8s-m-1.docker 9.3 GiB 2 excl
...
z-win7 19 GiB 2
执行导出:
导出
libvirt-pool
存储池的磁盘镜像 z-win7
¶rbd export libvirt-pool/z-win7 - | gzip -k9 > z-win7_export.gz
完成后导出的备份文件就是 z-win7_export.gzip
,可以用于导入到其他集群或者直接用于 Libvirt虚拟机管理器 存储
恢复¶
解压缩
z-win7_export.gzip
:
导出
libvirt-pool
存储池的磁盘镜像 z-win7
¶rbd export libvirt-pool/z-win7 - | gzip -k9 > z-win7_export.gz
gzip
的使用方法比较特殊,参考 How do you gunzip a file and keep the .gz file? 默认会删除源文件,所以采用-c
参数保留源文件: