互联网服务快照虚拟机备份

虚拟机备份容量及快照原理?

前几天和同事在讨论虚拟机的快照技术,讨论到快照备份的容量变化问题。我同事认为首次快照备份后备份容量会随着虚拟机磁盘数据的容量增大而增大,但有一定界限。我认为快照备份就像是WINDOWS的还原点一样,有完全快照和差异快照之分,快照备份容量是不会变化的,首次是做的快照是...显示全部

前几天和同事在讨论虚拟机的快照技术,讨论到快照备份的容量变化问题。
我同事认为首次快照备份后备份容量会随着虚拟机磁盘数据的容量增大而增大,但有一定界限。
我认为快照备份就像是WINDOWS的还原点一样,有完全快照和差异快照之分,快照备份容量是不会变化的,首次是做的快照是完全快照,而后面再做快照是差异快照,但备份量会和第一次的快照合并,而不是像我同事说的不做快照自动随虚拟机的容量变化而变化。
请问虚拟机的快照到底是怎么样的!

收起
参与27

查看其它 2 个回答EndlessRain的回答

EndlessRainEndlessRain(网吧资深的网管)网吧

目前快照技术,包括vmware在内很多都是沿用了一个古老的技术原理,就是——Copy on write,因此楼主可以根据这个术语找到很多前辈们留下的文献。
在说你的问题,宏观来看,快照底层运作和类型确实有关系,而快照有涵盖了两种类型,就是楼主提到的:完整类型与差异化类型,后者也被称指针类型。这两者明显却别在于你触发快照指令后,紧接着底层如何运作。
如果是Full类型,往常会执行一次完整的数据Copy,如果是差异化,会执行一次创建指针动作。这个议题宏观来讲我也把传统的存储阵列涵盖进来,而不是仅仅vmware。原因在于,你和你同事知识背景可能来自不同的技术领域,这是以往造成代沟主要原因。继续,在存储上很多产品快照是可以挂载给主机的,Full模式快照可以直接读取数据,而指针则需要重新指向一次,指向到原数据磁盘。在主机验证上,读取Full模式速度理论更快较于指针型快照。Full模式快照创建则需要更长时间。
其次,一旦创建快照后,无论何种类型,底层都会有一个Bitmap,负责数据索引与指针。新增量的数据块进来后会放入到指针文件,然后指针文件会一直变大。原数据不在变化。这个周期直到管理员下一个操作。如果增量数据被要求访问,索引会重新引导,从原数据指向指针。理论来说,做过快照的卷性能应该更低。

然后,管理员最后通常会有两个选项,如果是删除快照,那么系统会把指针增量数据合并到原数据,使其成为一个完整的卷。如果选择还原,那么指针文件所有增量数据将被干掉。原数据指针索引也将清除,直到下一笔新数据被写入,继续上面的往返周期的。

在存储世界还有个叫做“更新”的功能,就是把快照时间点更新为目前时间点,这个过程被触发后仅是更新指针。数据仍然是两份。

以上内容有很多我自己的理解,希望参考开局第一句,去找文献作为权威参考。

补充两点:
大多存储上,如果原卷/原数据崩了,Full模式快照应该不受影响,指针型则会随之失效。
其二,如果你在0.2秒触发了快照执行,而在1.0秒快照完成,那么快照应该是0.2秒的状态,不是1.0秒。

IT其它 · 2017-12-21
浏览2322

回答者

EndlessRain
(网吧资深的网管)网吧
擅长领域: 存储灾备虚拟化

EndlessRain 最近回答过的问题

回答状态

  • 发布时间:2017-12-21
  • 关注会员:4 人
  • 回答浏览:2322
  • X社区推广