详解 VMware 快照技术(二)之快照最佳实践
上篇文章讲解了VMware快照技术的原理及其文件组成详解 VMware 快照技术(一),本文着重讲解VMware快照的最佳实践,通过最佳实践对快照技术进行展开分析
在 vSphere 环境中使用 VMware 快照时,请遵循以下最佳实践:
一、不要使用 VMware 快照作为备份
备份和快照之间是有区别的,区别在于备份是独立于原虚拟机文件的虚拟机副本,而快照依赖于原始的虚拟机文件。快照文件只是原始虚拟磁盘的增量数据,它会创建一个占位磁盘 virtual_machine-00000x-delta.vmdk ,用于存储自创建快照以来的数据更改。因此,即使快照可以回到虚拟机某一个时间点(包括虚拟机的文件、状态和配置),也不能用作 vSphere 虚拟机的备份。如果使用快照作为备份,则可能会发现在发生故障后无法恢复数据和虚拟机。
• 快照依赖于创建它们的源虚拟机文件。快照可以称为差异(增量)磁盘,因为它们实际上是一组相对于基础磁盘的增量信息。由于增量磁盘与其所依赖的基础磁盘之间的这种相互关系,它们有时也被称为快照链。如果快照所依赖的基础磁盘被删除,则快照将不包含重新创建已删除数据所需的数据。 • 备份是独立的完整数据副本,允许重新创建虚拟机文件、磁盘和整个虚拟机的其他文件,而无需依赖虚拟机中包含的原始虚拟磁盘即可完整恢复虚拟机。

二、仅使用 2 到 3 个快照
一个链中最多支持 32 个快照。但是,为了获得更好的性能,请仅使用 2 到 3 个快照。快照链越长,读写回溯越多,I/O 抖动越明显,删除/合并时卡顿风险越大。由于快照使用与父虚拟机相同的资源,因此创建过多快照可能会影响虚拟机的性能。

三、请勿使用单个快照超过 72 小时
快照非常适合作为虚拟机的短期副本,但保留时间越长,它们占用的数据存储磁盘空间就越大。一旦数据存储空间撑满了,虚拟机就会关闭并停止工作。将快照数据合并回原始磁盘也会对虚拟机性能产生负面影响。快照是需要在一段时间后删除,一旦不再需要回滚到特定时间点状态,就不应再保留它们。
可以使用VMware PowerCLI命令查询超过三天的快照,之前文章有详细配置PowerCLI的教程VMware PowerCLI超详细安装步骤:
Connect-VIServer -Server 192.168.x.x -Protocol https -User 'administrator@vsphere.local' -Password 'xxxxxx'
Get-VM | Get-Snapshot | Where {$_.Created -lt (Get-Date).AddDays(-3)} | Select-Object VM, Name, Created, SizeMB

四、请勿在拥有快照时增加vmdk的磁盘大小
当虚拟机在开机/关机状态下运行快照时,无法增加虚拟机磁盘的大小。即使使用 CLI,也切勿尝试增加快照上运行的 VMDK 磁盘的大小。

五、在使用第三方备份时记得定期删除快照
大部分第三方备份系统是通过API给虚拟机拍摄内存快照,再基于快照来进行备份,备份任务跑完之后备份系统可能不会主动删除虚拟机快照,在快照管理器UI中可能也无法正常查询到快照链,需要通过命令行定期查看快照。

六、不要取消正在运行的删除/合并任务
在执行删除快照操作后,系统会合并快照与先前磁盘状态之间的更改。增量磁盘中的所有数据(包括已删除快照的信息)都会写入原始 VMDK 磁盘。删除快照所需的时间取决于自上次快照以来写入虚拟磁盘的数据量。如果快照在删除或者合并过程中管理员强行取消任务,可能导致数据不完整,导致数据不可用,这是非常致命的。





