菜单

什么是重复数据删除?

主题

分享该页面

重复数据删除是一个消除过多数据副本并显著降低存储容量需求的过程。

重复数据删除可以在将数据写入存储系统时作为实时进程运行,也可以作为后台进程运行,以便在将数据写入磁盘后消除重复数据。

在 NetApp,重复数据删除是一种零数据丢失技术,既作为实时进程运行,也作为后台进程运行,以最大限度地节省空间。它会作为实时进程找机会运行,因此不会干扰客户端操作,它也会在后台全面运行,以最大程度地节省空间。默认情况下,重复数据删除处于启用状态,系统会自动在所有卷和聚合上运行重复数据删除,而无需任何手动干预。

重复数据删除操作的性能开销最低,因为它在一个专用存储效率域中运行,该域与客户端读/写域不同。无论运行哪个应用程序或如何访问数据(NAS 或 SAN),它都在后台运行。

数据在移动时仍保持通过重复数据删除节省的空间 — 数据复制到灾难恢复站点、备份到存储或在内部、混合云和/或公有云之间移动时。

重复数据删除通过丢弃重复的数据块来减少卷所需的物理存储量。

重复数据删除的工作原理

重复数据删除在整个 FlexVol® 卷以及聚合中的所有卷中以 4KB 块级别运行,可消除重复的数据块并仅存储唯一的数据块。

重复数据删除的核心支持技术是指纹 — 所有 4 KB 数据块的唯一数字签名。

将数据写入系统时,实时重复数据删除引擎会扫描传入的块,创建指纹并将指纹存储在哈希存储中(内存数据结构)。

计算指纹后,将在哈希存储中执行查找。在哈希存储中找到匹配的指纹后,将在缓存中搜索与重复指纹(主数据块)对应的数据块:

  • 如果找到此参数,则会对当前数据块(接收方块)和源块进行逐字节比较,以进行验证,以确保完全匹配。验证后,该接收方块将与匹配的接收方块共享,而不会将该接收方块实际写入磁盘。仅更新元数据以跟踪共享详细信息。
  • 如果在缓存中未找到源块,则会将此源块从磁盘预提取到缓存中,以执行逐字节比较,以确保完全匹配。验证后,接收方块会被标记为重复,但不会实际写入磁盘。元数据会更新,用于跟踪共享详细信息。

后台重复数据删除引擎的工作方式相同。它会扫描聚合中的所有数据块,并通过比较这些数据块的指纹以及逐字节比较来消除重复数据,从而消除任何误报。此过程还可确保重复数据删除操作期间不会丢失任何数据。

NetApp 重复数据删除的优势

NetApp® 重复数据删除具有一些显著优势:

  • 在 NetApp 或第三方主存储,二级存储和归档存储上运行
  • 独立于应用程序
  • 与协议无关
  • 开销极低
  • 适用于 NetApp AFFFAS
  • 逐字节验证
  • 可以应用于新数据或以前存储在卷和 LUN 中的数据
  • 非高峰时段运行
  • 与其他 NetApp 存储效率技术集成
  • 使用 NetApp SnapMirror® 复制技术或 Flash CacheTM 智能缓存时,可以继承因重复数据删除而节省的空间
  • 免费

重复数据删除使用情形

无论工作负载类型如何,重复数据删除都很有用。在使用多个虚拟机进行测试/开发和应用程序部署的虚拟环境中,可以获得最大优势。

虚拟桌面基础架构 (Virtual Desktop Infrastructure, VDI) 是另一种非常适合进行重复数据删除的情形,因为桌面之间的重复数据非常多。

Oracle 和 SQL 等一些关系数据库不会从重复数据删除中获得明显优势,因为它们通常会为每个数据库记录提供一个唯一的密钥,从而防止重复数据删除引擎将其标识为重复数据。

配置重复数据删除

AFF 系统上的所有新卷和聚合都会自动启用重复数据删除。 在其他系统上,可以按卷和/或聚合启用重复数据删除。

启用后,系统将自动运行实时和后台操作,以最大程度地节省空间。

Drift chat loading