NetApp Tech OnTap
     

NetApp 存储数据压缩

高效是灵活 IT 的关键所在。作为存储效率创新的领导者,NetApp 一直努力为您提供最新的效率创新技术,包括 Snapshot® 和相关技术、精简配置、FlexClone®、主存储重复数据删除等。

当然,数据压缩技术已经推出很长时间了,但是给大型存储系统带来了难题,在性能影响方面尤为严重。直到最近,磁带驱动器和 VTL 等设备的数据压缩还几乎一直是通过专用硬件实现,导致成本和复杂性提高。现在,NetApp 开发了一种实时透明的数据压缩技术,压缩过程在软件中完成,同时降低了对计算资源的影响。这使我们能够在不花费额外成本的条件下将 Data ONTAP® 中数据压缩的优势用在升级到 Data ONTAP 8.0.1 或更高版本的现有 NetApp® 存储系统。

在本文中,我要讨论 NetApp 数据压缩的概念及其工作原理,还会提到一些常见用例,以及每个用例的实测空间节省。我还会讨论数据压缩如何与其他 NetApp 技术结合使用,并回顾 NetApp 如何推出这一新功能以取得成功。

什么是 NetApp 数据压缩?


NetApp 数据压缩作为集成到 Data ONTAP 8.0.1 中的免费选项提供,是基于软件的透明实时数据压缩解决方案。要使用 NetApp 数据压缩,无需更改应用程序。

NetApp 数据压缩技术可以在主存储、二级存储和归档存储上压缩灵活卷 (FlexVol®) 中的数据,从而减少在存储系统上存储数据所需的物理容量。它可以压缩常规文件、虚拟本地磁盘和 LUN。本文其余部分所参考文件也适用于虚拟本地磁盘和 LUN。

NetApp 数据压缩不是将整个文件作为一个连续的字节流进行压缩。如果要处理部分文件的小量读取,作为连续的字节流压缩成本非常高,因为需要在处理读取请求之前从磁盘读取整个文件且文件处于未压缩状态。读取大型文件就显得尤为困难。为了避免这一问题,NetApp 数据压缩技术一次只压缩少量连续数据块。这是 NetApp 数据压缩得以更高效的一个关键设计要素。收到读取请求之后,只需读取和解压缩少量数据块,而不是整个文件。这样可以优化读取,还能提高压缩的文件大小的可扩展性。

NetApp 压缩算法将文件分成 32 KB 的数据区块,称为“压缩组”,每个压缩组仅包含一个文件的数据。

写入数据。写入请求在压缩组级别得到处理。形成组之后,当数据还在内存中时执行测试,以确定数据是否可以压缩。如果不能压缩,直接将其传输到磁盘。仅当测试表明数据可以压缩时,才会压缩整个组。这样可以优化节省,同时最大限度地降低资源开销。

由于经过压缩的数据所含要写入磁盘的数据块较少,因此减少了每个压缩的写入操作所需的写入 I/O 数。这不仅可以减少磁盘上数据的占用空间,而且还能缩短完成磁盘写入请求的时间,并显著缩短执行备份所需的时间。

在进行任何压缩之前,都要测试压缩组是否可以压缩。然后,压缩组会被刷新到磁盘,是否压缩则取决于测试结果。

图 1) 在进行任何压缩之前,都要测试压缩组是否可以压缩。然后,将数据发送到磁盘,是否压缩则取决于测试结果。

读取数据。收到压缩数据的读取请求之后,Data ONTAP 仅读取包含请求数据的压缩组,而不是整个文件。这样可以最大限度地减少处理请求所需的 I/O 数,并且开销微乎其微。

压缩性能


NetApp 数据压缩可以单独使用,也可以与 NetApp 重复数据删除结合使用,以获得最佳节省效果。您可以计划在最方便的时候运行 NetApp 重复数据删除,而 NetApp 数据压缩在数据写入磁盘时实时运行。如果在同一卷上同时启用这两种技术,则数据首先经过压缩,然后再删除重复数据。重复数据删除不仅对未经压缩的数据起作用;它可以轻松删除数据卷中经过压缩或未经压缩的重复数据块。

数据压缩利用 Data ONTAP 的内部特性高效执行。尽管 NetApp 数据压缩可以最大限度地降低性能影响,但并不能消除影响。应该评估工作负荷对执行数据压缩所需资源的容限。实际影响取决于以下几个因素:

  • 应用程序类型
  • 数据集的可压缩性
  • 数据访问模式(例如连续访问与随机访问、I/O 大小和模式)
  • 平均文件大小
  • 更改率
  • 系统中启用数据压缩的卷数
  • 硬件平台 — 系统中的 CPU/内存量
  • 系统中的负载
  • 磁盘类型和速度
  • 聚合体中的磁盘轴数

我们设计了最佳实践,帮助您完成大小调整和其他活动,以优化实施。由于许多因素起着一定的作用,因此要确定数据压缩是否适用于预期使用目的,最好的方法是在环境中进行测试。下面几部分讨论在各种应用程序数据集和一些典型用例中,测得的空间节省。

执行数据压缩和重复数据删除节省的空间


NetApp 数据压缩通过实时压缩数据立即节省空间。NetApp 重复数据删除定期运行(后处理),提供积累的空间节省。结合使用数据压缩和重复数据删除时,应注意,节省的空间不一定等于对数据集单独运行每种技术所节省的空间之和。

对于某些数据类型,与单独使用重复数据删除相比,结合使用数据压缩不会增加节省。在其他一些情况下,与单独使用数据压缩相比,结合使用重复数据删除不会增加节省。另外还有这样的情况:结合使用数据压缩和重复数据删除,存储节省最多。下表中的示例可以说明这几点。

表 1) 各种数据类型的最佳空间节省组合。

数据集类型 应用程序 最佳节省组合 典型空间节省
主目录 数据压缩和重复数据删除 65%
虚拟服务器和桌面 仅重复数据删除 70%
数据库 仅数据压缩 65%
电子邮件 Exchange 2003/2007 仅数据压缩 35%
Exchange 2010 数据压缩和重复数据删除 40%
工程数据 软件开发 数据压缩和重复数据删除 75%
Geoseismic 仅数据压缩 75%

尽管这些节省示例都很典型,但是并非所有数据集都相同。应该对数据进行测试,以评估会节省多少空间。NetApp 始终都能帮助您完成评估过程。

典型用例


如上所述,数据压缩可以显著节省存储,但是会降低一些性能。为了确定在您的存储环境中将数据压缩用在何处能起到最大作用,综合衡量这两方面非常重要。

数据库备份(和常规备份)可能是数据压缩的最佳作用点。数据库通常容量非常大,许多用户愿意以备份存储略微的性能影响换来 65% 以上的容量节省。

另一个可能的用例是文件服务。在繁忙状态时间约占 50%、数据集可压缩率为 50% 的系统中,使用文件服务工作负荷进行测试,经测算,吞吐量仅减少了 10%。在文件响应时间为两毫秒的文件服务环境中,这将转化成仅增加 0.2 毫秒,即响应时间增加到 2.2 毫秒。若能节省 65% 的空间,这一小幅度的性能降低您也许可以接受。借助 NetApp 卷 SnapMirror® 技术复制数据,您可以节省网络带宽和二级存储空间,从而进一步增加节省。(在这种情况下,二级存储继承主存储的数据压缩,因此无需另外进行压缩处理。)在这种情况下,您可以实现:

  • 主存储容量节省 65%
  • 通过网络发送进行复制的数据量减少 65%
  • 复制速度提高 65%
  • 二级存储容量节省 65%

数据压缩还可以在其他许多用例中发挥重要作用,我们提供了多种工具和指南,可以帮助您确定哪些用例最适合您的环境。

将数据压缩与其他 NetApp 技术结合使用


通过前面的介绍,大家已经知道,NetApp 数据压缩与 NetApp 重复数据删除是两项互补的技术。本部分讨论数据压缩与其他一些常见的 NetApp 技术的结合使用。

卷 SnapMirror。卷 SnapMirror 在物理块级别起作用;如果在源卷上启用重复数据删除和/或数据压缩,在线缆上和在目标卷上可以保持重复数据删除和数据压缩节省的空间。这样可以显著减少复制期间所需的网络带宽,并大大缩短完成 SnapMirror 传输所需的时间。一般需注意以下几点:

  • 源系统和目标系统应该使用相同版本的 Data ONTAP。
  • 数据压缩和重复数据删除都仅在源系统管理 — 目标系统上的灵活卷继承效率属性和存储节省。
  • 共享块仅传输一次,因此重复数据删除还可以减少网络带宽。
  • 数据压缩在整个传输过程中持续进行,这样可以减少传输的数据量,从而降低网络带宽使用。
  • 没有必要执行 SnapMirror 链路压缩,因为 NetApp 数据压缩已经压缩了数据。

网络带宽和 SnapMirror 传输时间的减少量与空间节省量直接成比例。举个例子,如果您能节省 50% 的磁盘容量,则 SnapMirror 传输时间会缩短 50%,而且必须通过线缆传输的数据量也会减少 50%。

qtree SnapMirror 和 SnapVault®。qtree SnapMirror 和 SnapVault 都在逻辑块级别起作用;源存储系统和目标存储系统单独运行重复数据删除和数据压缩。这样,即使源数据并未经过压缩或重复数据删除,也可以对 qtree SnapMirror 和/或 SnapVault 备份进行数据压缩和/或重复数据删除。

克隆。NetApp FlexClone 技术实时创建文件或数据卷的虚拟副本,在对克隆进行更改之前,这些副本不占用额外的存储空间。FlexClone 支持重复数据删除和数据压缩。

NetApp 数据压缩入门


NetApp 数据压缩可以在运行 Data ONTAP 8.0.1 及更高版本的所有 NetApp FAS 和 V 系列系统上运行。数据压缩在卷级别启用。这意味着由您选择在哪些卷上启用该技术。如果您知道某个卷包含不可压缩的数据,则无需(也不应)在该卷上启用数据压缩。卷容量可以高达 16 TB,并且必须包含在 64 位聚合体中,这是在 Data ONTAP 8 中引入的一项功能。(了解有关 Data ONTAP 8 的更多信息,请参阅本期 Tech OnTap 中的姊妹篇。)

若要开始使用数据压缩,只需在存储系统上安装免费许可证,然后在选择的卷上启用它。就是这么简单。

面向早期采用者的数据压缩计划。与几年前推出的重复数据删除技术一样,NetApp 也管理数据压缩技术的早期采用。如果您申请数据压缩许可证,我们将评价您的环境,并提供最佳实践建议。

结论

NetApp 数据压缩技术继承发扬了 NetApp 的传统,那就是通过提高存储效率,为 Data ONTAP 添加重要的价值,并免费为您提供。此技术可以显著降低可压缩目标数据集的存储需求,并且可与 NetApp 重复数据删除及其他 NetApp 技术结合使用。

如果将数据压缩技术与其他 NetApp 存储效率提升技术结合使用,能够真正发挥它的作用和潜力。从集成的产品组合中选择合适的效率提升技术和功能,使您能够灵活有效地在技术和业务需求之间找到最佳平衡点。

NetApp 社区
 您对数据压缩有何见解?

请在 NetApp 社区中在线提出问题、交流观点、分享看法。

Sandra Moulton

Sandra Moulton
NetApp
技术营销工程师

自一年多前加入 NetApp 以来,Sandra 基本上专注于存储效率的研究,专攻重复数据删除和数据压缩技术。她负责设计这些重要技术的白皮书、最佳实践指南和参考架构。Sandra 拥有 20 余年的行业经验,曾在其他领先的硅谷公司担任类似职位。

 
了解
 
TRUSTe
联系我们  |  如何购买  |  反馈  |  招聘  |  预订  |  隐私策略  |  © 2010 NetApp