专栏首页信息化漫谈云快照的2种存储机制

云快照的2种存储机制

云计算是庞大的IT技术的结合,例如我们经常在云主机ECS中使用的快照功能,仔细研究起来,每一个功能实现都沉淀着“攻城狮的智慧”。今天我们来看一下云快照的两种不同实现机制。

一、首先什么是云快照

当我们在为windows打补丁担心系统无法启动、当我们进行系统渗透性测试等场景时,希望为当前的云主机的数据进行保存,当需要时我们可以快速回退到当时的云快照点。云快照就像我们年轻时的照片,当你拿起当年的照片,能想起以前的故事。

二、云快照的两种不同实现方式

2.1 ROW (redirect on write)

当你在云服务商的控制台点击生成快照按钮后,云控制台将用户的原数据盘内容封存起来,再新增一块新的磁盘作为写快照盘。如下图,当生成了快照1后,云主机将新的修改增量数据(差量数据)直接写入到快照1,而读操作直接从主磁盘中读取。如果用户需要返回最初的数据,直接将写操作指令指回主磁盘即可。

如果以后再生成了快照2,则云主机将新的修改增量数据直接写入快照2中。快照1-快照2称为快照链,每一个快照只保存相对上一个快照的增量修改数据。如果用户需要返回上一步的数据,直接将写操作指令指回快照1即可。

每一个快照保存的数据是相当于上一个快照的差量数据。如果删除了快照1,云控制台将自动将快照1的数据添加到快照2,保障即使删除了快照链的数据,也不会影响数据的恢复。

该快照链特征导致了一个问题,就是如果一共做了 10 次快照,那么在恢复到最新的快照点时,则需要通过合并 10 个快照卷来得到一个完整的最新快照点数据。

2.2 COW (copy on write)

COW的模式更趋近于最初认识云快照人员的认识,即,主磁盘中永远保留最新数据,所有的读写操作均指向主磁盘;而当主磁盘中的数据有修改时,首先将主磁盘中的旧数据copy至快照1中,再将新数据写入主磁盘中。

当需要恢复至最初的数据状态时,则将快照1中的旧数据指针指回主磁盘中,即可完成快照数据的恢复。

COW 在创建快照时,并不会发生物理的数据拷贝动作,仅是拷贝了原始数据所在的源数据块的物理位置元数据。因此,COW 快照创建非常快,可以瞬间完成。COW 有一个很明显的缺点,就是会降低源数据卷的写性能,因为每次改写新数据,实际上都进行了两次写操作。

三、ROW、COW的应用场景分析

从上面的分析,我可以看到,COW存数据将发生两次写操作,而ROW仅有一次写操作;但另一方面,在读数据时,COW只有一次操作,而ROW将进行快照链的指针计算,才能从多块磁盘中找到最新的数据。

在分布式存储+块存储的大趋势下,ROW是未来的快照存储主要趋势。原因如下:分布式场景下,数据是分开存储,数据越是分散,系统性能越高。而 ROW 把源数据卷中的原始数据打散之后,对性能反而有好处。

四、快照与备份的区别

1、备份的安全性更好。如果原始数据损坏(例如物理介质损坏,或者绕开了快照所在层的管理机制对锁定数据进行了改写),快照回滚是无法恢复出正确的数据的,而备份可以。

2、快照的速度更快。生成快照的速度比备份速度快的多,因为快照仅生成了一个空白的空间,仅有新数据写入时才会在快照中写数据。而备份一般会生成一份全量数据,因此一般只会在夜间业务量少时进行备份操作。

3、占用的存储空间不同。备份会占用双倍的存储空间,而快照所占用的存储空间则取决于快照的数量以及数据变动情况。极端情况下,快照可能会只占用1%不到的存储空间,也可能会占用数十倍的存储空间。

本文分享自微信公众号 - 信息化漫谈(informationwalk),作者:新梦飞

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 云快照是简单易用的备份助手

    企业数据上云后,面临数据定期备份的需要,传统的一体机受制于网络带宽的限制不再适用于云上数据的灾备。为此,云服务商开发了很多备份的工具,最简单、易用的工具也就是快...

    希望的田野
  • 云快照与云备份的区别?

    云计算的服务不断增加,出现了一些功能看上去类似的产品,如“云快照与云备份”。我们今天从实际操作演示,来总结一下两者之间的区别。

    希望的田野
  • 大数据的“动物管理员” ZooKeeper

    Hadoop的框架里面经常有听到PIG(猪)、HIVE(小密蜂)、Hadoop(大象)......,就像是动物园的小动物,这些小动物的管理者就是...

    希望的田野
  • linux-创建/使用快照/克隆(类似windows中备份还原)

    小小咸鱼YwY
  • 快照是什么?揭秘存储快照的实现

    存储网络行业协会SNIA(StorageNetworking Industry Association)快照的定义:关于指定数据集合的一个完全可用拷贝,该拷贝包...

    BH8ANK
  • 创建快照操作文档

    前言:快照是腾讯云提供的一种数据备份方式,通过在指定时间点对指定云硬盘进行完全可用的拷贝,使该备份独立于云硬盘的生命周期。在某些变更导致数据错误或数据丢失时,可...

    cdc
  • 工程师笔记 | 为什么说SC系列存储的快照是性能无损的?

    作为最常用的本地数据保护手段,快照已经成为企业级存储阵列上的必备功能之一,主要用于在线数据备份与恢复,可防范逻辑故障风险,比如病毒攻击、文件格式损坏、系统崩溃以...

    用户6543014
  • Kubernetes 1.17 特性:Kubernetes卷快照移至Beta版

    Kubernetes 卷快照功能现在Kubernetes v1.17中处于beta版。它在Kubernetes v1.12中作为Alpha引入,在Kuberne...

    灵雀云
  • Git命令集十三——快照操作 原

        Git工具中提供了一个stash命令,这个命令的作用是创建快照。快照主要的用途是将当前未更新到缓存区的修改进行入栈保存,创建快照后,Git的状态会变回上...

    珲少
  • Stream 分布式数据流的轻量级异步快照

    分布式有状态流处理支持在云中部署和执行大规模连续计算,主要针对低延迟和高吞吐量。这种模式的一个最根本的挑战就是在可能的失败情况下提供处理保证。现有方法依赖于可用...

    smartsi

扫码关注云+社区

领取腾讯云代金券