CAS KVM 虚拟机的保护与恢复
发布日期:2021-06-30 10:09:05
浏览次数:2
分类:技术文章
本文共 10655 字,大约阅读时间需要 35 分钟。
目录
方式一
思路:以 QCOW2 格式来备份和恢复被保护的 KVM 虚拟机
- Step1:centos7_0(base qcow2) 以 qcow2 格式写入到 iSCSI 设备
root@h3cas-e306:/vms/images# virsh list --all Id Name State---------------------------------------------------- 33 centos7 runningroot@h3cas-e306:/vms/images# virsh domblklist centos7Target Source------------------------------------------------vda /vms/images/centos7_0hda /vms/isos/CentOS-7-x86_64-Minimal-1511.isoroot@h3cas-e306:/vms/images# qemu-img convert -f qcow2 /vms/images/centos7_0 -O qcow2 /dev/sddroot@h3cas-e306:/vms/images# qemu-img info /dev/sddimage: /dev/sddfile format: qcow2virtual size: 20G (21474836480 bytes)disk size: 0cluster_size: 262144Format specific information: compat: 1.1 lazy refcounts: false
- Step2:尝试使用 iSCSI 设备手动启动 KVM 虚拟机
# 创建 XML 文件root@h3cas-e306:/etc/libvirt/qemu# vim centos7_q_0.xmlcentos7_q_0 d668e699-22a4-464b-99c4-1ffdcd6ad4e1 0 0 0 4194304 4194304 10 34359738368 300 1 0 24 512 1000000 -1 hvm linux | 0 destroy restart restart root@h3cas-e306:/etc/libvirt/qemu# virsh define centos7_q_0.xmlDomain centos7_q_0 defined from centos7_q_0.xmlroot@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State---------------------------------------------------- 33 centos7 running - centos7_q_0 shut offroot@h3cas-e306:/etc/libvirt/qemu# virsh start centos7_q_0Domain centos7_q_0 startedroot@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State---------------------------------------------------- 33 centos7 running 34 centos7_q_0 running /usr/bin/kvm
- Step3:对 centos7_0 做快照得到增量快照数据 centos7_1(increment qcow2)
root@h3cas-e306:/vms/images# virsh snapshot-create-as --domain centos7 snap01 snap01-desc --disk-only --diskspec vda,snapshot=external,file=/vms/images/centos7_1 --atomicDomain snapshot snap01 createdroot@h3cas-e306:/vms/images# lcentos7_0 centos7_1root@h3cas-e306:/vms/images# qemu-img info centos7_1image: centos7_1file format: qcow2virtual size: 20G (21474836480 bytes)disk size: 772Kcluster_size: 262144backing file: /vms/images/centos7_0backing file format: qcow2Format specific information: compat: 1.1 lazy refcounts: falseroot@h3cas-e306:/vms/images# virsh domblklist centos7Target Source------------------------------------------------vda /vms/images/centos7_1hda /vms/isos/CentOS-7-x86_64-Minimal-1511.iso
NOTE: 现在虚拟机的数据会写入到 centos7_1 中, centos7_0 理论上应该是只读的.
- Step4:Copy centos7_1 的副本到备份目录下
root@h3cas-e306:/vms/images# cp centos7_1 /kvm_backup/root@h3cas-e306:/vms/images# ll /kvm_backup/total 2572drwxr-xr-x 2 root root 4096 Apr 18 23:39 ./drwxr-xr-x 33 root root 4096 Apr 18 23:22 ../-rw------- 1 root root 2883584 Apr 18 23:39 centos7_1
- Step5:rebase 并 commit centos7_1 到 iSCSI 设备中
root@h3cas-e306:/etc/libvirt/qemu# virsh destroy 34Domain 34 destroyedroot@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State---------------------------------------------------- 33 centos7 running - centos7_q_0 shut offroot@h3cas-e306:/vms/images# cd /kvm_backup/root@h3cas-e306:/kvm_backup# lscentos7_1root@h3cas-e306:/kvm_backup# qemu-img info centos7_1image: centos7_1file format: qcow2virtual size: 20G (21474836480 bytes)disk size: 2.5Mcluster_size: 262144backing file: /vms/images/centos7_0backing file format: qcow2Format specific information: compat: 1.1 lazy refcounts: falseroot@h3cas-e306:/kvm_backup# qemu-img info /dev/sddimage: /dev/sddfile format: qcow2virtual size: 20G (21474836480 bytes)disk size: 0cluster_size: 262144Format specific information: compat: 1.1 lazy refcounts: falseroot@h3cas-e306:/kvm_backup# qemu-img rebase -b /dev/sdd -F qcow2 centos7_1root@h3cas-e306:/kvm_backup# qemu-img info centos7_1image: centos7_1file format: qcow2virtual size: 20G (21474836480 bytes)disk size: 15Mcluster_size: 262144backing file: /dev/sddbacking file format: qcow2Format specific information: compat: 1.1 lazy refcounts: falseroot@h3cas-e306:/kvm_backup# qemu-img info /dev/sddimage: /dev/sddfile format: qcow2virtual size: 20G (21474836480 bytes)disk size: 0cluster_size: 262144Format specific information: compat: 1.1 lazy refcounts: falseroot@h3cas-e306:/kvm_backup# qemu-img commit -f qcow2 centos7_1Image committed.root@h3cas-e306:/kvm_backup# qemu-img info centos7_1image: centos7_1file format: qcow2virtual size: 20G (21474836480 bytes)disk size: 15Mcluster_size: 262144backing file: /dev/sddbacking file format: qcow2Format specific information: compat: 1.1 lazy refcounts: falseroot@h3cas-e306:/kvm_backup# qemu-img info /dev/sddimage: /dev/sddfile format: qcow2virtual size: 20G (21474836480 bytes)disk size: 0cluster_size: 262144Format specific information: compat: 1.1 lazy refcounts: false
- Step6:使用 commit 后的 iSCSI 设备启动虚拟机
root@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State---------------------------------------------------- 33 centos7 running - centos7_q_0 shut offroot@h3cas-e306:/etc/libvirt/qemu# virsh start centos7_q_0Domain centos7_q_0 startedroot@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State---------------------------------------------------- 33 centos7 running 35 centos7_q_0 running
NOTE: 虚拟机启动成功, 证明 QCOW2 格式的虚拟机增量快照文件是能够合并到虚拟机 Base 数据文件中的。
方式二
思路:以 RAW 格式来备份和恢复被保护的 KVM 虚拟机
- Step1:centos7(base qcow2) 以 raw 格式写入到 iSCSI 设备
root@h3cas-e306:/vms/images# qemu-img info centos7image: centos7file format: qcow2virtual size: 20G (21474836480 bytes)disk size: 1.0Gcluster_size: 262144Format specific information: compat: 1.1 lazy refcounts: falseroot@h3cas-e306:/vms/images# qemu-img convert -f qcow2 /vms/images/centos7 -O raw /dev/sddroot@h3cas-e306:/vms/images# qemu-img info /dev/sddimage: /dev/sddfile format: rawvirtual size: 23G (24696061952 bytes)disk size: 0
- Step2:使用 iSCSI 设备手动启动 KVM 虚拟机
root@h3cas-e306:/etc/libvirt/qemu# virsh define centos7_r_0.xmlDomain centos7_r_0 defined from centos7_r_0.xmlroot@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State---------------------------------------------------- 36 centos7 running - centos7_q_0 shut off - centos7_r_0 shut offroot@h3cas-e306:/etc/libvirt/qemu# virsh start centos7_r_0Domain centos7_r_0 startedroot@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State---------------------------------------------------- 36 centos7 running 37 centos7_r_0 running - centos7_q_0 shut off
- Step3:对 centos7 做快照得到增量快照数据 centos7_1(increment qcow2)
root@h3cas-e306:/vms/images# virsh snapshot-create-as --domain centos7 snap01 snap01-desc --disk-only --diskspec vda,snapshot=external,file=/vms/images/centos7_1 --atomicDomain snapshot snap01 createdroot@h3cas-e306:/vms/images# lscentos7 centos7_1root@h3cas-e306:/vms/images# qemu-img info centos7_1image: centos7_1file format: qcow2virtual size: 20G (21474836480 bytes)disk size: 2.0Mcluster_size: 262144backing file: /vms/images/centos7backing file format: qcow2Format specific information: compat: 1.1 lazy refcounts: false
- Step4: Copy centos7_1 的副本到备份目录下
root@h3cas-e306:/vms/images# cp centos7_1 /kvm_backup/root@h3cas-e306:/vms/images# cd /kvm_backup/root@h3cas-e306:/kvm_backup# lscentos7_1root@h3cas-e306:/kvm_backup# qemu-img info /kvm_backup/centos7_1image: /kvm_backup/centos7_1file format: qcow2virtual size: 20G (21474836480 bytes)disk size: 2.5Mcluster_size: 262144backing file: /vms/images/centos7backing file format: qcow2Format specific information: compat: 1.1 lazy refcounts: falseroot@h3cas-e306:/kvm_backup# qemu-img info /dev/sddimage: /dev/sddfile format: rawvirtual size: 23G (24696061952 bytes)disk size: 0
- Step5:以 raw 的格式 rebase 并 commit centos7_1 到 iSCSI 设备中
root@h3cas-e306:/kvm_backup# qemu-img rebase -b /dev/sdd -F raw centos7_1root@h3cas-e306:/kvm_backup# qemu-img info centos7_1image: centos7_1file format: qcow2virtual size: 20G (21474836480 bytes)disk size: 25Mcluster_size: 262144backing file: /dev/sddbacking file format: rawFormat specific information: compat: 1.1 lazy refcounts: falseroot@h3cas-e306:/kvm_backup# qemu-img info /dev/sddimage: /dev/sddfile format: rawvirtual size: 23G (24696061952 bytes)disk size: 0root@h3cas-e306:/kvm_backup# qemu-img commit -f qcow2 centos7_1Image committed.root@h3cas-e306:~# qemu-img info /dev/sddimage: /dev/sddfile format: rawvirtual size: 23G (24696061952 bytes)disk size: 0
- Step6: 使用 commit 后的 iSCSI 设备再次启动虚拟机
root@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State---------------------------------------------------- 38 centos7 running - centos7_q_0 shut off - centos7_r_0 shut offroot@h3cas-e306:/etc/libvirt/qemu# virsh start centos7_r_0Domain centos7_r_0 startedroot@h3cas-e306:/etc/libvirt/qemu# virsh list --all Id Name State---------------------------------------------------- 38 centos7 running 39 centos7_r_0 running - centos7_q_0 shut off
NOTE:尚未测试虚拟机在备份和恢复的过程中虚拟机的应用业务是否被中断。
转载地址:https://is-cloud.blog.csdn.net/article/details/71216386 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月11日 15时54分29秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Oracle函数——COALESCE
2019-04-30
bootstrap下拉框组件dropdown及获取元素值
2019-04-30
bootstrap组件组input-group
2019-04-30
bootstrap中的导航
2019-04-30
bootstrap进度条
2019-04-30
bootstrap面板panel
2019-04-30
jboot入门
2019-04-30
maven配置jetty插件
2019-04-30
在线banner制作网站
2019-04-30
webpack入门
2019-04-30
easyui combotree复选框多选只能选择叶子节点
2019-04-30
防火墙相关命令
2019-04-30
如何更改oracle是spfile参数值
2019-04-30
oracle查看表索引
2019-04-30
mysql 根据某字段特定值排序
2019-04-30
oracle查看sql执行计划
2019-04-30
tomcat服务器编码问题
2019-04-30
mysql中union order by问题
2019-04-30
js实现音频播放
2019-04-30