VMware快照工作原理以及如何运用

日期: 2019-02-11 作者:Stephen J. Bigelow翻译:邹铮 来源:TechTarget中国 英文

当你更新或修复应用程序和服务器时,VMware快照无疑是你的救星。而如果你负责监管虚拟环境,你更是应该知道什么是快照及其工作方式。

磁盘快照是指某个时间点VM(虚拟机)磁盘文件的副本;它保留了VM的磁盘文件系统和系统内存。如果出现问题,你可以恢复快照。

快照使用的磁盘空间和增长率

如果你为ESXi主机的VM创建多个快照,则你就有多个还原点可进行还原。当你创建快照时,当时可写入的内容从那一刻开始变为只读。通过使用文件内增量技术,同时还会创建新文件,其中包含对原始虚拟机磁盘文件(VMDK)的所有更改。

对于VMware快照,存储可能是一个问题。快照文件的大小永远不会超过原始磁盘文件。每次当你更改磁盘块时,系统都会在增量文件中创建快照,并在进行更改时更新增量文件。如果你在创建快照后更改服务器上的每个磁盘块,则快照将与原始磁盘文件的大小相同。

但是还有一些额外的磁盘空间开销,其中包含可用于管理快照的信息。最大磁盘空间空间各有不同。传统的开销估算是基于使用VMFS-3的虚拟机文件系统(VMFS)块大小。

块大小             最大VMDK大小               最大开销
1 MB                   256 GB                             2 GB
2 MB                   512 GB                             4 GB
4 MB                   1,024 GB                          8 GB
8 MB                   2,048 GB                          16 GB

如果VM的虚拟磁盘接近VMFS卷的最大VMDK大小,则所需的磁盘空间开销可能导致快照创建失败。例如,在块大小为2 MB的VMFS卷上,如果VM的虚拟磁盘为512 GB,则最大快照大小为516 GB(即512 GB + 4 GB)-这将超过VMFS卷512 GB的最大VMDK大小,并导致快照创建失败。

如果你计划使用VMware快照,则你创建VM时,虚拟磁盘应小于最大VMDK大小,小一个最大开销,例如,512 GB – 4GB = 508 GB。快照文件最初很小(16 MB),但随着系统写入VM的磁盘文件,它们会逐渐增长。

随着VMFS-5的出现,块大小固定为1 MB,这可实现更精细和高效的存储使用,但你仍应为快照等开销保留足够的逻辑单元号空间。从ESXi 5.5开始,最大VMDK大小增加到62 TB。

企业可能会选择为开销分配一定比例的存储空间,范围从7-15%不等。例如,2,048 GB(即 2 TB)的数据存储可能会留出10%的容量用于开销,而更大的数据存储–高达4,096 GB(即4 TB)可能会留出7%。而所有用于VM复制和恢复的数据存储都可能会留出高达15%的容量,例如用于快照。VMware等平台不会阻碍容量–这必须由VMware管理员来处理。

当你请求更改原始磁盘的块时,这会在增量文件中更改。如果再次更改增量文件中先前更改的磁盘块,则不会增加增量文件的大小,因为系统只是更新增量文件中的现有块。

快照的增长率取决于服务器上磁盘写入活动量。对于具有写入密集型应用程序(例如SQL和Exchange)的服务器,将会看到快照文件快速增长。这是VMware快照不建议用于VM备份的主要原因之一,因为它们可能会影响网络性能,频繁的快照会使存储膨胀并给LAN带来拥塞。

另一方面,对于主要包含静态内容和较少磁盘写入的服务器(例如Web和应用程序服务器),快照文件增长速度要慢得多。当你为这些服务器创建多个快照时,这将会创建新的增量文件,而先前的增量文件将变为只读。在使用多个快照时,每个增量文件都可能会增加到原始磁盘文件的大小。

不同类型的快照文件

* -delta.vmdk文件:这是当你创建VM快照时创建的差异文件,它会随每个新快照而更新。它也被称为重做日志文件。该增量文件主要映射对基本VMDK的更改;因此,它永远不会比基本VMDK大,除快照开销空间外。

该系统会为你创建每个VM快照创建增量文件。当删除或恢复快照时,它还会创建额外的增量辅助文件来保存任何磁盘更改。当在Snapshot Manager中删除或恢复快照时,该系统会自动删除这些文件。

* -flat.vmdk文件:此文件表示基本磁盘,其中包含VM的原始数据。这些文件通常不会出现在工具中,但你可在ESXi控制台列出的目录内容看到它们。

* .vmsd文件:此文件用于存储有关VMware快照的元数据和信息。此文件采用文本格式,它包含快照的显示名称、唯一标识符和磁盘文件名等信息。在你创建VM的第一个快照时,它最初是一个0字节的文件。随后,该系统会填充该文件,并在你创建新快照时持续更新该文件。此文件是Snapshot Manager等工具的主要信息来源。

在你创建快照后,此文件不会完全清除。而当你删除快照后,它仍会增加该快照的最后一个唯一标识符用于下一个快照。

* .vmsn文件:这是快照状态文件,它会存储你创建快照时VM中内存的准确运行状态。该文件大小取决于你是否选择保留VM的内存作为为快照的一部分。如果你确实选择保留VM的内存,则此文件将比分配给VM的最大RAM内存大几兆字节。

此文件类似于VMware挂起状态(.vmss)文件。VM上创建的每个快照都会生成.vmsn文件,并且,该文件会在删除快照时自动删除。

创建VMware快照

图A:创建VMware快照

你可以通过两种方式创建快照,一种是使用快照工具(例如vSphere Client中的Snapshot Manager),另一种是直接使用ESX服务控制台或通过vSphere CLI使用vmware-cmd命令行实用程序。通过使用命令,你可以打开或关闭VM。你还可以在创建快照时挂起VM。如果VM已关闭,你将无法对VM的内存进行快照。

你可通过直接连接到ESX服务器或连接到vCenter Server,使用vSphere Client管理VMware快照。如果你选择使用命令行界面,则创建快照的语法是vmware-cmd createsnapshot,即vmware-cmd myvm1.vmx createsnapshot snap1 ‘before upgrade’ 1 1。

图B:管理VMware快照

静默和内存的选项是1表示Yes,或者0表示No。在创建快照前选择1可暂停文件系统写入。而为内存选择1会获取VM的内存状态快照。如果你创建多个快照,则在创建新快照后,先前的快照将变为只读。

删除或恢复VMware快照

当你删除VM的所有快照时,所有增量文件将合并回VM的原始VMDK磁盘文件,然后被删除。如果选择删除单个快照,则只有该快照会合并到其父快照中。如果你选择恢复快照,则会丢弃当前磁盘和内存状态,VM会恢复到原来状态。无论你恢复哪个快照,都会成为新的父快照。

但是,父快照并不总是最新的快照。如果还原到较旧的快照,则它将成为VM当前状态的父级。父快照始终由快照工具中的“您在此处”标签标记。

你可以使用vSphere Client或vmware-cmd命令行实用程序删除或恢复快照。与vSphere CLI相比,vSphere Client中的Snapshot Manager提供了更高的灵活性和易用性。vSphere Client中的“恢复快照”选项和Snapshot Manager之间的重要区别是,恢复只会将你带回到你创建的上一个快照,而Snapshot Manager让你可以灵活地选择要恢复的特定快照。这在Snapshot Manager中,被称为Go To。

图C:删除VMware快照

如果你使用vmware-cmd,则语法为vmware-cmd removednapshots,这可删除所有快照;或vmware-cmd revertsnapshot,这可将VM恢复到“您在此处”状态的父级。此父级可能不一定是最后创建的快照。如果你必须删除或恢复到特定快照,请改用vSphere Client。

如果你恢复到不包含内存状态的快照,则服务器将关闭电源,而当你重新打开电源后,它会使用上一个快照。如果快照包含内存状态,则VM将暂停,然后返回上一个快照的磁盘和内存状态。

在本系列文章的第2部分,我们将介绍高级快照主题,包括如何指定备用快照目录、从快照中排除虚拟磁盘、删除多个快照所需的额外磁盘空间、查找活跃快照以及在VM上运行快照的效果。在继续阅读之前,请务必试试VM快照!

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Stephen J. Bigelow
Stephen J. Bigelow

数据中心和虚拟化网站的高级技术编辑,拥有20年的PC和技术写作经验。

翻译

邹铮
邹铮

相关推荐

  • 配置ESXi Autostart,自动打补丁

    顾名思义,VMware ESXi Autostart能够实现自动开启、关闭ESXi服务器上的虚拟机,让虚拟机管理变得更轻松。如果运行了多个虚拟机并且给主机打补丁后需要重启主机,那么ESXi Autostart的作用就更大了,没有Autostart的话,你需要在给主机打补丁后,手动重启每个虚拟机。

  • 推荐一款好的虚拟主机提供商

    推荐一款好的虚拟主机提供商 推荐理由:   第一:种类多:有经济型,全能型,功能型等   […]

  • 哪里的虚拟主机最便宜?

    鱼和熊掌不可兼得, 想要找即便宜又好用的虚拟谁有办法? 我来推荐一款,可以了解 新网云虚拟主机一年只要1元钱 […]

  • 谁知道哪里的域名是真的可以便宜买?

    昨天北京下雪了,需要不是很大,但是美景已显现出来,有人说北京一下雪就成了北平,故宫一下雪就成了紫禁城,其实不假 […]