如何给运行的kvm虚拟机做快照
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何给运行的kvm虚拟机做快照相关的知识,希望对你有一定的参考价值。
参考技术A KVM-快照管理1.kvm克隆
kvm
虚拟机有两部分组成:img镜像文件和xml配置文件(/etc/libvirt/qemu
克隆命令:virt-clone
-o
rhel6-
71
-n
xuegod63-kvm2
-f
/var/lib/libvirt/images/xuegod63-kvm2.img
virt-clone
-o
原虚拟机
-n
新虚拟机
-f
新img文件
对比配置文件,将两份xml文件做diff对比,里面只修改了name、img、Mac
3个位置信息
克隆完成后,需要修改新虚拟机的网卡配置,并删除/etc/udev/rule.d/70-*-net文件,
2.快照(snapshot)
kvm默认格式为raw格式,如需要修改镜像文件格式。需要配置xml文件
查看镜像文件格式qemu-ig
info
镜像文件
1)、转换格式(将raw格式转换为qcow2格式)
qemu-img
convert
-f
raw
-O
qrow2
/var/lib/libvert/images/xuegod63-kvm2.img
需要修改xml文件virsh
edit
虚拟机
2)、创建快照
qemu-img
snapshot-create
虚拟机(可以用snapshot-create-as指定快照名称)
3)、快照管理
qemu-img
snapshot-list
4)、恢复快照
查看虚拟机状态:virsh
domstate
xuegod63-kvm2
恢复快照:virsh
snapshot-revert
虚拟机
快照名
查看当前快照:
virsh
snapshot-current
xuegod63-kvm2
快照目录:/var/lib/libvert/qemu/snapshot/虚拟机
删除快照:
virsh
snapshot-delete
虚拟机
快照名
什么是虚拟机的快照?
我搞不懂"虚拟机快照"是什么?有什么作用?是不是指一个虚拟软件中装几台电脑操作系统(也就是等于安装了几台电脑)?
虚拟机的快照是虚拟机在某个点及时的副本。
虚拟机快照是对某一个特定文件系统,在某一个特定时间内的一个具有只读属性的镜像。就是说当用户需要重复的返回到某一系统状态时,又不想创建多个虚拟机的时候,就可以使用虚拟机快照功能。
系统崩溃或系统异常,可以通过使用恢复到快照来保持磁盘文件系统和系统存储,当升级应用和服务器以及给它们打补丁的时候,快照是相当于救世主一样的存在。
工作原理
对虚拟机打快照,其本质是记录虚拟机在某个时间点的磁盘数据。以KVM为例,KVM中虚拟机磁盘采用的是qCow2格式的镜像文件,虚拟机拥有几个磁盘就会有几个qCow2文件,所以,记录虚拟机在某个时间点的磁盘数据就是对qCow2镜像文件打快照。
虚拟机快照产生的数据是与虚拟机磁盘数据存放在同一个qCow2镜像文件中的,所以存储位置就是虚拟机本身的存储位置,即如果虚拟机所在存储访问不了,其快照也就无法恢复了。
qCow2快照采用的是“写时复制(Copy On Write)”的技术,实现原理比较简单,快照时复制一份原磁盘的索引,指向的实际数据均为原始磁盘的数据,只有当原镜像的的数据发生变化时,才将变化区域的在变化之前的数据复制一份给快照对应位置。所以打快照的时候数据比较小,后面会越来越大。
参考技术A (转)只希望对你有帮助多重快照功能简介:
快照的含义:对某一个特定文件系统在某一个特定时间内的一个具有只读属性的镜像。当你需要重复的返回到某一系统状态,又不想创建多个虚拟机的时候,就可以使用快照功能。其实,快照并不是VMware Workstation 5的新功能。早在VMware Workstation 4的时代,就已经支持快照功能了。但是VMware Workstation 4只能生成一个快照,也就是说,VMware Workstation 4创建的虚拟机要只有两个状态:当前状态和快照状态。使用起来还不够灵活。与之相比,VMware Workstation 5及其它升级版本的多重快照功能真的是很强大。 新的多重快照功能,可以针对一台虚拟机创建两个以上的快照,这就意味着我们可以针对不同时刻的系统环境作成多个快照,毫无限制的往返于任何快照之间。与此同时快照管理器,形象的提供了VMware多个快照镜像间的关系。树状的结构使我们能够轻松的浏览和使用生成的快照。那么新的快照功能究竟能给我们带来什么呢?其实,多重快照不只是简单的保存了虚拟机的多个状态,通过建立多个快照,可以为不同的工作保存多个状态,并且不相互影响。例如,当我们在虚拟机上做实验或是作测试时,难免碰到一些不熟悉的地方,此时做个快照,备份一下当前的系统状态,一旦操作错误,可以很快还原到出错前的状态,完成实验,最终避免一步的失误导致重新开始整个实验或测试的后果。
创建快照具体操作步骤:
1、 启动一个虚拟机,在菜单中单击VM展开Snapshot(快照),单击Take Snapshot... (丛当前状态创建快照)
2、 在“创建快照”窗口中填入快照的名字和注释,单击“OK”。
什么是克隆?
说过了快照,那么,什么又是虚拟机的克隆呢?在VMware软件中,克隆和快照功能很相像,但又不同,稍不注意就会混淆。一个虚拟机的克隆就是原始虚拟机全部状态的一个拷贝,或者说一个镜像。克隆的过程并不影响原始虚拟机,克隆的操作一但完成,克隆的虚拟机就可以脱离原始虚拟机独立存在,而且在克隆的虚拟机中和原始虚拟机中的操作是相对独立的,不相互影响。克隆过程中,VMware会生成和原始虚拟机不同的MAC地址和UUID,这就允许克隆的虚拟机和原始虚拟机在同一网络中出现,并且不会产生任何冲突。 VMware支持两种类型的克隆: 完整克隆 链接克隆
一个完整克隆是和原始虚拟机完全独立的一个拷贝,它不和原始虚拟机共享任何资源。 可以脱离原始虚拟机独立使用。
一个链接克隆需要和原始虚拟机共享同一虚拟磁盘文件,不能脱离原始虚拟机独立运行。但采用共享磁盘文件却大大缩短了创建克隆虚拟机的时间,同时还节省了宝贵的物理磁盘空间。通过链接克隆,可以轻松的为不同的任务创建一个独立的虚拟机。
创建克隆的虚拟机:
1、 打开一个虚拟机,单击“Clone this virtual machine(克隆这个虚拟机)”按钮。
注意:克隆虚拟机只能在虚拟机未启动的状态下进行。
2、 在克隆虚拟机创建向导页上,单击“下一步”。
3、 选择从当前状态或是某一快照创建克隆。
可以看到,克隆过程既可以按照虚拟机当前的状态来操作,也可以对已经存在的克隆的镜像或快照的镜像来操作。
4、 在克隆类型选择页面上,可以选择创建的克隆虚拟机的类型“linked clone(联系克隆)”或“full clone(全面克隆)”。一个连接的克隆指向原始的虚拟机,占用很少的磁盘空间,但必须依托于原始的虚拟机,不能够脱离原始虚拟机独立运行。一个完整
的克隆提供原始虚拟机当前状态的一个副本,可以独立的运行,但是占用很多的磁盘空间。
此处我们选择“Create a linked clone(创建链接的克隆)”,单击“下一步”。
5、 在新虚拟机名页面上填入克隆的虚拟机的名称,并确定新虚拟机的安装位置。
6、 单击完成,完成新克隆的建立。同样的方法,我们可以建立出多个虚拟机的克隆。
快照与克隆的区别:
说了这么多,为了让大家更清晰的理解快照与克隆的区别,我们不妨作一张表,总结一下。
快照 克隆
创建时间 不限 虚拟机关机时才可以
创建数量 不限 不限
占用磁盘空间 由创建的数量决定,较小 由创建的数量决定,完整克隆较大
用途 保存虚拟机某一时刻状态 分发创建的虚拟机
是否独立 不能脱离原始虚拟机独立运行 链接克隆:部分脱离 完整克隆:完全脱离
能否同时使用 不能 克隆的虚拟机可以和原始虚拟机同时使用
是否网络使用 不能 生成和原始虚拟机不同的MAC地址和UUID,网络中可以同时使用
镜像的管理:
无论是快照还是克隆,都是对虚拟机的一个状态生成了一个镜像,不同的是这个镜像是作为虚拟机的一部分存在还是作为独立的部分存在。总之,我们可以通过vmware创建多个镜像,用以保存虚拟机不同时期状态。这么多的镜像我们如何管理呢?下面就通过快照管理器来看看我们的成果吧。
vmware提供了一个管理镜像和快照的快照管理器。在快照管理器中,快照树形象的显示出当前多个快照的层次结构。单击管理其中任何一个镜像,都可以为这个镜像起一个形象的名字,写些必要的注释,还能够删除快照,也能够基于选中的快照创建出一份新的克隆。有了快照管理器,快照的管理也就容易了。本回答被提问者采纳 参考技术B 创建一个快照呢就是为当前状态保留一个样了(可以这样理解).....当你的虚拟机出现系统故障时或不能启动时,这时你就可以用你那个创建的快照来恢复虚拟机,就像超越时空一样,虚拟机又可以恢复到你创建快照的时候的样子和状态了。。。。。你的虚拟机又可以用了,坏了在就快照恢复,有快照那虚拟机怎么搞都不会死。。。。。好吧?? 参考技术C 简单的说就是将你当前状态的虚拟机复制保存一份,也就是说当你的虚拟机发生故障或者你有别的需求时可以直接回到你当初做快照的时候,这样就不用你来回的重启了。 参考技术D 就像游戏存档一样,存个档以后万一死了可以复活
以上是关于如何给运行的kvm虚拟机做快照的主要内容,如果未能解决你的问题,请参考以下文章