热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【VMware】快照笔记

当我们在虚拟机上做实验或测试时、难免碰到一些不熟悉的地方、此时做个快照、备份一下当前的系统状态一旦操作失误、可以很快还原到出错前的状态、完成实验最终避免一步的失误导致重新开始整个实
当我们在虚拟机上做实验或测试时、难免碰到一些不熟悉的地方、此时做个快照、备份一下当前的系统状态
一旦操作失误、可以很快还原到出错前的状态、完成实验
最终避免一步的失误导致重新开始整个实验或测试的后果
当然、快照的功能远不止这个、

⑴ 定义

快照的英文就是 Snapshot、是对某一个特定文件系统在某一个特定时间时的一个具有只读属性的镜像
也就是、磁盘"快照"是我们在某个时刻'抓住时机'对虚拟机磁盘文件(vmdk)所进行的备份
当你创建一个快照,则那些现在可写的在那个点上将变成了只读
如果你创建了多个快照,那么你便有多个还原点可供恢复

⑵ 磁盘空间使用及增长率

快照文件最初很小(16M左右)
快照的增长率由服务器上磁盘的write I/O频度决定

⑶ 快照所含的文件类型

① vm_name-Δ.vmdk


比如:exam1-rhel5.4-000001-s011.vmdk
当你创建一个快照时,这些是特定的文件

Δ文件是基于vmdk上的变更位图,因此,它不能增长到比vmdk还大
例如:
RHEL5.8-s001.vmdk 为 1936000 K 则当创建一个快照时:RHEL5.8-s001.vmdk的大小为1935872 K

为虚拟机创建每一个快照时,都会创建一些Δ文件
当snapshot被删除或在snapshot manager里被恢复时,这些文件将自动删除

② vm_name.vmsd

比如:exam1-rhel5.4.vmsd
用于存储关于快照的元数据,为文本格式
包括快照显示名称(snapshot#.displayName)、UID和磁盘文件名等
在你没创建快照之前,这个文件的初始大小是0字节
也就是说,只要进行快照,这个文件就会增大和持续更新

在快照被delete后,这个文件不能被完全清除,一旦移除一个快照,它仍然会保留snapshot的UID

例子:

.encoding = "GBK"
snapshot.lastUID = "7"
snapshot.current = "6"
snapshot.mru0.uid = "6"
snapshot.mru1.uid = "7"
snapshot.mru2.uid = "5"
snapshot.mru3.uid = "1"
snapshot0.uid = "1"
snapshot0.filename = "exam1-rhel5.4-Snapshot1.vmsn"
snapshot0.displayName = "rhel5.4"
snapshot0.description = "系统刚安装好,环境刚配置完成,数据库软件还未安装"
snapshot0.createTimeHigh = "314967"
snapshot0.createTimeLow = "-495362528"
snapshot0.numDisks = "2"
snapshot0.disk0.fileName = "exam1-rhel5.4.vmdk"
snapshot0.disk0.node = "scsi0:0"
snapshot0.disk1.fileName = "exam1-rhel5.4-swap0.vmdk"
snapshot0.disk1.node = "scsi0:1"
snapshot1.uid = "5"
snapshot1.filename = "exam1-rhel5.4-Snapshot5.vmsn"
snapshot1.parent = "1"
snapshot1.displayName = "database sofe 10.2.0.2"
snapshot1.description = "1、只安装了数据库软件10.2.0.2|0D|0A2、实验脚本已上传"
snapshot1.createTimeHigh = "314971"
snapshot1.createTimeLow = "1951457584"
snapshot1.numDisks = "2"
snapshot1.disk0.fileName = "exam1-rhel5.4-000001.vmdk"
snapshot1.disk0.node = "scsi0:0"
snapshot1.disk1.fileName = "exam1-rhel5.4-swap0-000001.vmdk"
snapshot1.disk1.node = "scsi0:1"
snapshot2.uid = "6"
snapshot2.filename = "exam1-rhel5.4-Snapshot6.vmsn"
snapshot2.parent = "5"
snapshot2.displayName = "orcl emrep agent"
snapshot2.description = "1、手工建好orcl|0D|0A2、dbca建好emrep|0D|0A3、agent安装好"
snapshot2.createTimeHigh = "315010"
snapshot2.createTimeLow = "-2126901256"
snapshot2.numDisks = "2"
snapshot2.disk0.fileName = "exam1-rhel5.4-000002.vmdk"
snapshot2.disk0.node = "scsi0:0"
snapshot2.disk1.fileName = "exam1-rhel5.4-swap0-000002.vmdk"
snapshot2.disk1.node = "scsi0:1"
snapshot3.uid = "7"
snapshot3.filename = "exam1-rhel5.4-Snapshot7.vmsn"
snapshot3.parent = "6"
snapshot3.displayName = "physical datagurad"
snapshot3.description = "orcl配置了physical datagurad"
snapshot3.createTimeHigh = "315133"
snapshot3.createTimeLow = "1864149632"
snapshot3.numDisks = "2"
snapshot3.disk0.fileName = "exam1-rhel5.4-000003.vmdk"
snapshot3.disk0.node = "scsi0:0"
snapshot3.disk1.fileName = "exam1-rhel5.4-swap0-000003.vmdk"
snapshot3.disk1.node = "scsi0:1"
snapshot.numSnapshots = "4"



③ vm_name-.vmsn

比如:exam1-rhel5.4-Snapshot1.vmsn
snapshot的状态文件,里面存储的是使用快照时,一台虚拟机精确的运行状态
该文件取决于你是否保留这台虚拟机的存储作为snapshot的一部分
如果你选择保留虚拟机的存储,那么这个文件比较大,然后会分配给虚拟机最大的内存

⑷ 删除或恢复快照

--删除


删除所有snapshot,所有创建的Δ文件被合并到虚拟机原先的vmdk,然后被删除
删除一个snapshot,这个快照合并到它的父级快照

--恢复

无论你恢复哪个快照,这个快照就成为新的父级快照
在snapshot manager里可以看见这个父级快照,在它的下面有一个标签"you are here"

⑸ 磁盘空间和删除多个快照

这里有个经验:
事先在vmware虚拟机文件系统(vmfs)卷上为快照文件预留大概1/4虚拟机总磁盘的大小的磁盘空间

只有一个snapshot的虚拟机在删除快照时不需要额外的磁盘空间;不过,如果你有许多snapshot,当删除所有快照时
你将需要额外的磁盘空间,这是由于这些snapshot要合并到原始vmdk

例如:
假设你要删除有三个快照的虚拟机上的所有快照:S1 S2 S3
首先,S3将合并到S2,S2的大小将增加
接下来,S2合并到S1,S1的大小也将增加
最后,S1将合并到原始磁盘文件,这不需要额外的磁盘空间
当原始磁盘文件在整个操作结束时更新,这时快照文件才被删除,而不是每个合并过程时删除
因此,当删除它们时,拥有20GB快照文件的虚拟机可能需要额外的20GB

所以,使用较少额外磁盘空间来删除多个快照的解决办法是一个一个删除它们,从虚拟机父级快照开始到子级
使用这种方法,当快照被合并到先前的快照,只有先前快照增加了,然后删除

注意:当虚拟机有一个快照运行时,不要运行Windows磁盘碎片整理。碎片整理操作会改变许多磁盘块并能引起快照文件急速增加

⑹ 多长时间删除快照

活动了很长时间的快照(因此变得很大)在删除时需要很长时间
快照删除需要的时间的变化取决于虚拟机活动等级;当关闭虚拟机时,删除时间短
100GB的快照需要3到6小时合并到原始磁盘,这将影响虚拟机的性能
正因如此,你应该限制保留快照的时间长度,在你不需要它们时就删除

⑺ 使用快照备份运行着的虚拟机

snapshot在某种程度上就是一种备份
当虚拟机开着时,快照提供了一个备份原始VMDK文件的好办法
所有的写入操作在原始文件上暂停了,因此,复制它在另一个存储卷上是很安全的

⑻ 快照和克隆的区别




推荐阅读
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
author-avatar
mobiledu2502883317
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有