————————————————

virsh域快照和备份

虚拟机快照(snapshot)
作用:将虚拟机某个时间点的状态(包括内存、磁盘文件等的状态)进行保存,以便在后续时间恢复虚拟机创建快照时的状态

快照类型
磁盘快照:只对虚拟机的磁盘内容进行快照
内存快照:只对虚拟机的内存数据进行快照
完整快照:对虚拟机的磁盘内容与内存数据都进行快照

快照的保存位置分类
内部快照:虚拟机的状态数据保存在虚拟机的虚拟磁盘文件内部(只针对qcow2磁盘文件格式)
外部快照::虚拟机的状态数据保存在外部文件中(而非虚拟磁盘文件,支持各种磁盘文件格式)

快照的实现
快照链:按照时间先后顺序做多次快照,根据快照之间的依赖关系就形成了快照链
注意:在时间顺序上,后一个快照是以前一个快照为基础创建的,仅仅记录虚拟机状态改变的部分

virsh虚拟机快照管理
内部快照的创建

snapshot-create-as    虚拟机名或ID
--name:快照名
--atomic  #原子操作,确保快照要么完全制作成功,要么完全制作失败

内部快照的恢复
snapshot-revert 虚拟机名或ID 快照名

内部快照的合并与删除
snapshot-delete 虚拟机名或ID 快照名

注意:删除某个快照,快照的数据将合并至其下级快照中

外部快照的管理
前提:宿主机需安装增强版qemu-kvm:qemu-kvm-ev

外部磁盘快照

snapshot-create-as   域名    快照名    \
--diskspec   做快照的磁盘在虚拟机中的设备名,file=新磁盘文件的路径   \
--disk-only  --atomic

说明:--disk-only #只进行磁盘快照

查看qcow2文件链

qemu-img  info  虚拟磁盘文件  \    
   --backing-chain

外部快照的合并
blockcommit 虚拟机名 做快照的磁盘在虚拟机中的设备名 --pivot --verbose

说明:将下游的qcow2文件合并至上游的qcow2文件
--pivot #命令会等待快照合并的完成
--verbose #显示快照合并的进度

blockcommit --base 磁盘文件路径 --top 磁盘文件路径

将文件链上,从top磁盘文件到base磁盘文件之间(包括top磁盘文件)的磁盘文件内容,都合并至base磁盘文件中

外部快照的删除
注意:virsh并不支持外部快照的删除,需手动删除
删除过程:

将待删除快照的磁盘文件内容,合并至上游磁盘文件中
删除关于该外部快照在libvirt中的信息
删除快照对应的外部磁盘文件

外部快照的恢复
目前,virsh不支持外部快照的恢复

虚拟机备份
虚拟机相关文件的备份:虚拟机虚拟磁盘文件和虚拟机配置文件
目的:避免因为虚拟机相关文件损坏、丢失,导致虚拟机无法运行

备份方式
1)冷备份,又称为离线备份
关闭虚拟机的情况下进行备份
优点:简单,低维护,高安全性
缺点:备份时,虚拟机提供的业务将不可用

2)热备份,也称为在线备份
在虚拟机处于运行状态下,进行备份
借助虚拟机磁盘文件的外部快照创建,实现虚拟机磁盘文件的备份
以虚拟机要备份的虚拟磁盘文件为后端文件,产生一个新的临时虚拟磁盘文件
虚拟机新产生的数据,将保存在该临时虚拟磁盘文件中

注意:冷备份不能在虚拟机运行时,直接对相关文件进行复制,会产生数据不一致问题。而热备份不会。

热备份的基本步骤

1.针对要备份的磁盘文件,创建外部磁盘快照
2.备份磁盘文件
3.备份完毕,将外部磁盘快照对应的磁盘文件内容,合并至原磁盘文件
4.删除外部快照

备份虚拟磁盘文件
tar zcvf 压缩包保存路径 被打包压缩的虚拟磁盘文件路径

可以将VM1.qcow2复制到其它存储位置,在复制时也可以打包压缩

posted @   Tjane'Blogs  阅读(839)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示