本文作者:无为

继上一篇大话CDM之后,本篇聚焦CDM在原格式数据备份的的技术之一CBT(Changed Block Tracking)的实现剖析。

CBT技术优势

CBT是一种在通用块层实现的追踪块变化通过标记、写时复制来实现相应数据在某个时间点(快照创建时间点)的完全可用拷贝的映像的技术。其中的技术优势如下:

  1. 完整数据备份的时间内无需冻结文件系统
  2. 生产环境直接在线快照,不影响系统的正常业务使用
  3. 备份涉及三次I/O读写,降为2次I/O,一次磁盘I/O,一次内存I/O,减少读写性能损耗
  4. 备份结束窗口期内提供增量模式,仅需标记变化的块号,对生产零性能损耗
  5. 支持无限次增量合成
  6. 提供合成的并行计算,加快增量合成的速度
  7. 支持备份到任意卷、支持裸设备备份

其中CBT驱动程序可以对跟踪的块设备的不同状态之间进行动态转换,得益于挂载系统调用操作的hook。正常使用过程中快照设备将大部分时间处于“活动”状态。此状态下,快照设备已完全初始化,并且所有内存中数据结构均处于活动状态。

正确安装了CBT块设备驱动,快照设备将开始保持活动状态,当系统触发卸载卷等行为的时候,才触发活跃状态进入休眠状态(当前系统不可用)。

模块工作模式介绍

同时通过卸载块驱动程序后,无论用户主动的操作还是在计算机正常关闭的卸载,块设备也都将转换为“休眠”状态。简而言之,“休眠”状态是可以通过操作系统安全地卸载块设备的状态。捕捉到驱动模块正在跟踪的块设备的触发卸载系统调用时,内核模块首先将该快照设备的所有内存数据结构写入COW文件,以供后续使用,然后关闭当前COW文件的文件描述符,并关闭该块设备的所有工作的处理线程。

当工作在模式一(COW文件存放在待备份目标卷中)下,原始卷被操作系统卸载,快照将保持休眠模式,直到再次重新安装磁盘为止,此时快照将过渡到活动状态。

当工作在模式二下(COW文件存放在额外提供的备文件系统中),性能将得到更大提升,不过处理逻辑更为复杂,这里需要监控原始卷和COW文件所在的块设备,两者任意卷的卸载都无法正常工作,必须处于休眠状态。这里需要通过原子引用计数的方式,并且当卸载失败需要原位复原,只有两个卷设备都正常才能转为“活跃”状态!

初始化原子计数为0,当校验跟踪的原始块设备和COW文件的块设备正常,且文件结构指向的块设备和监控的保持一致,分别进行两次原子操作,使得原子值转为2,在这个模式下的任何校验都将需要该原子值为2!同时卸载过程需要进行二次卸载逻辑的修复判断,不可以重复关闭,这会导致块设备的处理线程引发异常!恢复块设备过程,只有全部恢复,才可以过渡块设备到活动状态,恢复处理线程。

不同工作模式下的状态模式

其中CBT主要的两个核心模式是快照模式、增量模式。快照设备可以处于增量模式或快照模式,增量模式的意义在于节约物理盘空间,同时减少两次读写I/O大幅度提升性能!在快照模式下无论出于工作模式一或者二,磁盘上的COW文件都维护磁盘上的块缓存数据,该缓存初始化缺省占原始卷总大小的10%,用于在备份过程中实现写时复制。

工作模式一、二之间的区别在于模式一的写入I/O操作会触发成三次I/O,一次读取原始卷块数据I/O,一次写入备文件的I/O,一次写入原始卷I/O,三次都在同一个卷上,存在较大性能损耗(这也是增量状态和模式二存在的原因)。

工作模式二下,将I/O写转移到其他物理卷上,减轻一次原始卷I/O写入负载,性能得到大幅提升!  当转为增量模式,仅COW索引保留在磁盘上。这样可以释放磁盘空间供文件系统的其余部分使用。内核模块只需要内存中跟踪写入,并根据需要定期将其同步到索引文件,快照模式下的3次I/O降为一次内存I/O一次写入I/O,又大大提升性能。

在此模式下,驱动程序不会提供可读的快照设备,而只是跟踪COW文件索引中哪些块已更改。因此在备份过程,驱动程序应将其大部分时间用于增量模式。对于增量备份合成,通过辅助开发的并行合成工具更加快速合成,恢复数据状态!

CBT所面临的挑战也是显而易见的,不同架构的处理器平台、繁多的内核版本,这即是挑战也是CDM背后的技术优势。

大话CDM技术之CBT相关推荐

  1. CDM技术分析和产品选型建议

    数据副本管理(CDM)是一种节约存储资源,有效管理数据生命周期的方法,包括消除不必要的重复生产数据.传统备份软件和企业应用程序独立运行,经常会创建多个相同数据的副本.然而,相同数据的冗余副本不但浪费存 ...

  2. 大话UWB技术之核心命脉:TDOA与TOF

    正如我们上一个话题讲到的,超宽带定位,是一种基于极窄脉冲无线技术,UWB射频信号与生俱来的物理特性使得UWB技术从一开始就被明确定义:能够实现实时.超精确.超可靠的定位和通信.它能够非常准确地测量无线 ...

  3. 大话AI技术辅助游戏NPC设计

    在电子游戏开始之初,游戏的乐趣很大程度上依赖于游戏开发者设计的世界,在世界里有各种NPC(Non-Player Character),我们通过与之互动推动游戏的进行.游戏NPC作为游戏中的一个重要组成 ...

  4. EHIGH恒高:大话UWB技术之TDOA与TOF两种技术方案对比

    超宽带(UWB技术)是一种基于IEEE802.15.4a和802.15.4z标准的无线电技术,它能够非常准确地测量无线电信号的飞行时间,从而实现厘米精度的距离/位置测量.不同于蓝牙.WiFi等其他定位 ...

  5. 给中国存储技术涨势气 鼎甲发布CDM一体机

    在逐渐步入以云计算.大数据.物联网.智能制造等新兴技术主导的数字经济时代之后,数据已经成为新时期的"电力",IT已由过去的"工具"职能向着"生产力&q ...

  6. 满满的干货!传统备份vs CDP vs CDM

    前言: 灾难恢复的对象主要有两个,其一是应用的业务数据,其二是应用的运行状态. 通常的灾难恢复技术包括数据的备份.复制.应用的远程集群群等.目前针对业务运行状态的灾难恢复技术――持续数据保护是灾难恢复 ...

  7. CDN服务技术架构图

    前言 在博文中 解读大型网站的演变过程  浅谈 举家搬迁静态文件到CDN 博文中都有涉及CDN,这次我们来详细讲解下CDN的架构 简介 CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器 ...

  8. “删库跑路”重现江湖,技术和制度如何保障数据安全?

    摘要:近日,一则来自微盟官网的消息在业内引起轩然大波,"删库跑路"重现江湖--由此,关于如何从技术和制度两方面进行数据安全防范的关注和讨论广泛展开. 近日,一则来自微盟官网的消息在 ...

  9. 继SDS之后又迎来CDM,存储行业真要变天了?

    今天的存储行业正处于在大变革的前夜.由于采购成本和运维成本高.可扩展性.灵活性不足等原因,传统存储正面临来自各种新技术的严峻挑战,大有风雨欲来风满楼之势.软件定义存储是其中的领头羊,不过新技术也不仅限 ...

最新文章

  1. 互联网引发全面深刻产业变革
  2. Entity Framework的启动速度优化
  3. Entity Framework part2
  4. hadoop上lzop的安装
  5. 如何改变X:\Users\XXX的用户名称
  6. mysql gui 有哪些_推荐五款较好的MySQLGUI工具
  7. Linux安装Yum包管理器
  8. python如何生成一系列浮点数(含例子)
  9. 设计模式笔记五:原型模式
  10. js中调用vue中的方法
  11. 设计模式-04-行为型模式详解
  12. button按钮的四种监听及实例
  13. cocos2d-js 的 cc.callFunc 参数
  14. linux下doc转docx
  15. AndroidUSBCamera调用USB摄像头问题
  16. 什么时候应该在ECMAScript 6中使用Arrow函数?
  17. 华虹U盾(红白那种)win7旗舰版64位驱动解决方案
  18. 基于奇异值分解的图片压缩
  19. 网站安全狗安装时服务器名,解决网站安全狗安装后访问网站需要用户名密码的方法...
  20. SAP中采购订单收货和发票收据选项的控制逻辑分析

热门文章

  1. [二分法]leetcode4:寻找两个有序数组的中位数(hard)
  2. 烧烤架,烧烤套装,烧烤刷CSA Z630:19标准
  3. layui分页功能实现、管理员模块
  4. 【Vulkan】RenderPass(一)【Basic】
  5. jlink最新版本下载
  6. 【Linux云计算架构:第三阶段-Linux高级运维架构】第19章——安装Kali黑客操作系统-利用ettercap实施中间人攻击
  7. 给大家爬坑--谈人人商城互通直播通讯失败的坑(宝塔坑版)
  8. 写一篇5000字励志演讲稿
  9. 超级全面的IT行业知识及术语,值得收藏!
  10. 金融科技:房产抵质押贷款业务平台搭建方案分享