读数据保护:工作负载的可恢复性07去重技术(上)

1. 去重技术

1.1. 去重技术(deduplication)的全称为重复数据删除(或去除)技术,也叫作重删或删重(dedupe)技术,该技术会认定数据集里的重复数据,并将其消除,这个数据集可能含有我们在不同时间、不同地点所制作的多个备份

1.2. 功能

  • 1.2.1. 去重技术至少能够把备份所占的磁盘空间降低一个数量级

  • 1.2.2. 同一文件的多个版本

    • 1.2.2.1. 去重技术只会把新版本里特有的数据保存下来
  • 1.2.3. 位于不同地点的同一份文件

    • 1.2.3.1. 同一份文件可能在不同的地方保存了好几遍
  • 1.2.4. 比较隐蔽的重复数据

    • 1.2.4.1. 去重系统所能删掉的数据量是一个变量,它受到许多因素影响,其中包括使用的去重技术本身

    • 1.2.4.2. 备份软件与去重软件如果是同一个厂商制作的,这两个软件本身知道应该按照什么样的顺序处理

    • 1.2.4.3. 先给备份数据加密,然后再将其发给去重设备,那么实际上相当于没有任何去重效果

    • 1.2.4.4. 加密其实也可以安排到去重之后再做,所以你应该考虑好去重与加密之间的顺序

2. 重复数据是如何消除的

2.1. 去重系统一般会把数据切割成小块,这样的小块通常称为chunk

2.2. 压缩(compression)是跟去重完全不同的数据缩减方法

2.3. 要看哈希去重流程能够从中认定多少个重复的chunk

2.4. 看后续的压缩流程能把这些互不重复的chunk压缩到什么程度

2.5. 去重的执行范围

  • 2.5.1. 并不是所有的去重系统都一模一样,而且每个去重系统所能考虑的数据量也各不相同

  • 2.5.2. 范围越大,能够找到并消除的重复数据就越多

  • 2.5.3. 范围越大,执行去重工作所要使用的资源也越多

  • 2.5.4. 备份集

    • 2.5.4.1. 某些备份软件只能在同一个备份集(backup set)里执行去重

    • 2.5.4.2. 只能在你对同一份原数据(例如某个数据库)所做的这些备份之间去重

  • 2.5.5. 主机

    • 2.5.5.1. 主机范围内的去重,只能在你对同一个主机(以及它名下的各种原数据)所做的备份之间去重

    • 2.5.5.2. 假如你没有把去重范围从备份集扩展到主机,那么数据库就会备份两遍,除非你在给整个虚拟机做备份的时候,能够通过某种方式将数据库排除出去

  • 2.5.6. 设备

    • 2.5.6.1. 最常见的去重范围

    • 2.5.6.2. 能够在发给同一台备份设备的所有备份数据之间去重

  • 2.5.7. 站点

    • 2.5.7.1. 跟设备范围内的去重是一样的,只不过去重范围变成了站点

    • 2.5.7.2. 能够在同一个站点里的所有备份数据之间去重

  • 2.5.8. 全局

    • 2.5.8.1. 如果备份系统能够做全局去重,那么它会在发给该系统的所有备份数据之间对比,无论这些数据备份的是什么东西,无论这些数据来自哪台主机或哪个站点,备份系统都会在这些备份之间执行去重
  • 2.5.9. 去重系统基本上会对自己在某个去重范围内所能考虑的数据总量设定上限

    • 2.5.9.1. 上限通常是根据哈希表的最大容量来确定的

    • 2.5.9.2. 如果哈希表过于庞大,那么在其中查找所花的时间就比较长,这会影响性能

      2.5.9.2.1. 大多数去重系统都会设定上限,以避开这个问题

2.6. 不要只看去重率

  • 2.6.1. 去重率都是在实验环境下得出来的,他们在实验时可能会专门构造一些数据,这些数据很难反映出用户在现实工作中所需处理的备份数据

  • 2.6.2. 目标去重系统与源端去重系统之间的去重率也不太好比较

    • 2.6.2.1. 源端去重系统是在把数据发给备份服务器之前先做去重的

      2.6.2.1.1. 本身的去重率通常比较低

      2.6.2.1.2. 真正的去重效果,还得看这些数据在备份服务器上占据的实际空间

    • 2.6.2.2. 要看彻底备份完某套数据之后,这个备份到底占用多大的磁盘空间

  • 2.6.3. 绝不是说所有的去重系统在去重效果上全都一样,也绝不是说同一份数据交给它们去重之后,所得到的结果都占据完全相同的磁盘空间

  • 2.6.4. 如果你要知道某个去重系统的真实效果,那么唯一的办法就是在你们自己的数据中心里,用你们自己的数据去观察

    • 2.6.4.1. 要看它所占据的实际磁盘空间

2.7. chunk的大小很重要

  • 2.7.1. 如果把切割的单位设定成一个二进制位,那么实际上只有两种内容不同的chunk,一种是值为0的chunk,另一种是值为1的chunk

  • 2.7.2. 切割得越密,内容互不相同的chunk的数量就越少

2.8. chunk的大小很重要

  • 2.8.1. 如果把切割的单位设定成一个二进制位,那么实际上只有两种内容不同的chunk,一种是值为0的chunk,另一种是值为1的chunk

  • 2.8.2. 切割得越密,内容互不相同的chunk的数量就越少

2.9. 文件级别的去重

  • 2.9.1. 把对象存储里所保存的对象叫作文件,那么对象存储实际上就是一种文件级别的去重系统

  • 2.9.2. 对象存储实际上就是一种文件级别的去重系统

  • 2.9.3. 许多存储系统都可以利用这样的技术,尤其是档案系统,它可以运用该技术减少保存邮件与其他文件所需的存储空间

  • 2.9.4. 不仅能够缩减存储空间的占用量,而且能够用来判断数据是否受损,如果数据受某种原因影响而遭到破坏,那么它的哈希码就会改变,而根据这个哈希码所确定的独特ID当然也会改变

posted @ 2024-12-08 09:42  躺柒  阅读(15)  评论(0编辑  收藏  举报