VMware的快照原理
本文分享自天翼云开发者社区《VMware的快照原理》,作者:m****n
VMware的快照是基于数据块的快照。快照也是以一个文件方式存在的,缺省位置和虚拟机在同一目录下,它是一个Delta文件。每一次的快照就会产生一个新的Delta文件,而以前的Delta文件就进入一个只读状态。并且它是以16MB的大小来进行增长的。
快照文件的最大大小是不可能超过原磁盘文件的大小。
快照的不同类型:
- *-delta.vmdk文件:这是当你对一个VM做一个快照时产生的差异文件,也就是一个redo-log文件。Delta文件是一个针对初始VMDK而产生变化的一个Bitmap。
- *.vmsd文件:这个一个是用来存放关于快照的metadata和相关信息的文件。它是一个文本文件,存放一些诸如快照名,UID,磁盘文件名等等。它起始大小是0字节,直到做了第一个快照时才会改变大小。
- *.vmsn文件:这是一个快照状态文件,它存放的是当你做快照时虚拟机的真实运行状态。它的大小据于你是否选择保留VM的内存作为快照的一部分相关。
命令行创建快照:
vmware-cmd myvm1.vmx createsnapshot snap1 'before upgrade' 1 1".
The options for quiesce and memory are either 1 for yes or 0 for no.
快照的删除或恢复:
当你删除一个VM的所有快照时,所有在快照时创建出来的Delta文件被融合回原来的VMDK文件,然后删除这些Delta文件。但当你只删除一个快照时,那么只有这个快照会融合回它的上一级快照。
当你恢复一个快照时,现有的磁盘和内存状态被丢弃,然后VM被带回到那个时间点的状态,而这个快照成为新的父级快照。父级快照不一定就是最新做的快照,它在快照管理器中被标注为“you are here”。
当你用vmware-cmd来做时,vmware-cmd removesnapshots会删除所有的快照,vmware-cmd revertsnapshot会复原到最近的快照。若你要删除或复原到某一个快照时,你不能用命令行而需要用VIC。
若你复原一个不包含内存状态的快照,当你将VM启动时,它将会应用前一个快照。
如何找到那些有快照的VM呢?
到/vmfs/volumes目录下: 运行 find –iname “*-delta.vmdk” –mtime +7 –ls 可以找到在7天内没有改变的快照。运行 find –iname “*-delta.vmdk可以找到所有的快照文件。
如何改变快照文件的缺省位置:
在VM的配置文件VMX中加一句: workingDir=”/vmfs/volumes/Snapvolume/snapshots/”。
在做Vomtion时,若你的快照文件不在共享存储位置或新ESX主机不能访问快照文件时,当迁移做完时,VM会崩溃掉。所以,建议在做Vmotion时,最好先把快照commit掉。
快照与磁盘空间的关系:
当一个VM只有一个快照时,当你删除或commit快照时,你不需要额外的空间。但当一个VM有多个快照时,当你删除所有快照时,你需要额外的空间。
假设你要删除一个VM的所有快照(snap1,snap2,snap3),首先,snap3将融合进snap2,这将导致snap2增长,接下来,snap2将融合进snap1,这会导致snap1增长。最后,snap1将融合进原来的VMDK,这不需要额外的空间。只有当VMDK文件融合操作完成时,快照才会被删除,所以当一个有20G大小快照的VM在做commit时潜在地需要额外的20G。
VMware的快照原理的更多相关文章
- VMware Snapshot 工作原理
VMware中的快照是对VMDK在某个时间点的“拷贝”,这个“拷贝”并不是对VMDK文件的复制,而是保持磁盘文件和系统内存在该时间点的状态,以便在出现故障后虚拟机能够恢复到该时间点.如果对某个虚拟机创 ...
- 深入理解VMware虚拟机网络通信原理
VMware虚拟机的上网方式有三种:NAT.桥接.仅主机模式,本篇介绍桥接模式和NAT模式. 1.实验环境 博主的实验环境如下: 宿主机操作系统:Windows 7 VMware Workstatio ...
- VMware的快照和克隆总结
原文:https://www.cnblogs.com/zxz1987/p/6480833.html 多重快照功能简介: 快照的含义:对某一个特定文件系统在某一个特定时间内的一个具有只读属性的镜像.当 ...
- qcow2快照原理
关键术语:cluster 一个Qcow2 img文件由固定大小的单元组成,该单元称为cluster,默认大小为65536bytes/64Ksector 数据块读写的最小单元,大小为512字节host ...
- 使用libvirtAPI打快照原理
参考: https://blog.51cto.com/3646344/2096347 https://blog.51cto.com/3646344/2096351(磁盘外部快照) API接口: htt ...
- VMware NAT 设置原理
1.网络地址转换(NAT):默认使用VMnet8 (强烈推荐) 这种访问模式指的是虚拟机不占用主机所在局域网的ip,通过使用主机的NAT功能访问局域网和互联网,意味着虚拟机可以访问局域网中的其他电脑, ...
- VMware 虚拟机快照、克隆、磁盘扩容
1. 快照 快照是虚拟机某个时间点上完整系统的镜像,可以在虚拟机内部通过快照文件恢复系统到之前的节点. 拍摄快照: 恢复快照: 2. 克隆 克隆是原始虚拟机全部状态的一个拷贝,是脱离原始虚拟机独立存在 ...
- 基于LVM(逻辑卷管理)的快照原理
一.为甚么不管多大的逻辑卷进行备份,快照都会在几秒之内完成? 快照在拍摄的一瞬间,系统会记录那个时间点逻辑卷的状态.数据等,此时拍下的快照相当于一张白纸.如图所示 快照做好后,随着时间的推移,源卷里的 ...
- mysql备份时的快照原理
实际上实验的结果表明,这里的 the first such read指的是:对同一个表或者不同表进行的第一次select语句建立了该事务中一致性读的snapshot. 其它update, delete ...
- Redis快照原理详解
本文对Redis快照的实现过程进行介绍,了解Redis快照实现过程对Redis管理很有帮助. Redis默认会将快照文件存储在Redis当前进程的工作目录中的dump.rdb文件中,可以通过配置dir ...
随机推荐
- 拯救php性能的神器webman-初入门
无意间发现的这个神器webman,真是秋名山上的腾源拓海! 该框架是workerman下的一个web开发的生态,我们可以先看看这里workerman的官方网站. workerman早有耳闻,知道它蛮厉 ...
- 数据抽取平台pydatax使用案例---11个库项目使用
数据抽取平台pydatax,前期项目做过介绍: 1,数据抽取平台pydatax介绍--实现和项目使用 项目2: 客户有9个分公司,用的ERP有9套,有9个库,不同版本,抽取的同一个表字段长度有不一样, ...
- 在线文档-Wiki平台
GitBook 对于在线文档创作平台,当然还是首推GitBook GitBook为免费用户提供 10个空间(可以私有也可以公开) 支持自定义域名 gitbook本身是一个开源项目,你可以下载源代码自行 ...
- Centos使用图形化界面配置网络
1. 查看当前ip地址 # ip addr 2. 图形化界面配置网卡 # nmtui 界面提示,左右上下配置,OK即可.
- vscode+evernote印象笔记+markdown写在线笔记
1. vscode安装evermonkey插件 2. vscode快捷键:Ctrl+Shift+P ,输入ever 按提示进行操作 Ever New: 创建新evernote笔记: 愉快地玩耍 点击下 ...
- 中电金信:技术实践|Flink维度表关联方案解析
导语:Flink是一个对有界和无界数据流进行状态计算的分布式处理引擎和框架,主要用来处理流式数据.它既可以处理有界的批量数据集,也可以处理无界的实时流数据,为批处理和流处理提供了统一编程模型. 维 ...
- manim边学边做--旋转
本篇介绍Manim中的两个旋转类的动画,名称差不多,分别是Rotate和Rotating. Rotate类主要用于对图形对象进行指定角度.围绕特定点的精确旋转,适用于几何图形演示.物理模拟和机械运动展 ...
- Java 项目愚蠢的分层及解决方案
<整洁架构之道>的最后一章<细节决定成败>又在讨论 Javaer 永恒的问题:分层后 DAO Service Controller 应该按功能分包还是按层分包. 按功能分包的人 ...
- Vulnhub经典靶机:from_sqli_to_shell_i386入门靶机
靶机官网: https://www.vulnhub.com/entry/pentester-lab-from-sql-injection-to-shell,80/ 靶机镜像ISO下载地址:(转链) f ...
- 使用JSch进行sftp的连接运行状况检查
public boolean checkConnection() throws JSchException { try { JSch jsch = new JSch(); Session sessio ...