2008年(8065)
分类: 服务器与存储
2008-09-10 11:53:13
您或许也曾怀疑重复数据删除技术是否安全?在从已删除重复数据的备份还原数据时,您是否真的可以取回自己的数据?
评估重复数据删除技术的相对安全性可分为两个基本部分:
识别并消除重复数据所用的算法
基础软硬件的可靠性
本文中,我将根据这两条标准评估重复数据删除技术。此外,我还将讲解NetApp为增强其重复数据删除技术的可靠性所作的选择。大多数其他供应商提供的重复数据删除仅用于备份,而我们却支持用于主存储和二级存储的重复数据删除,因此我们格外注重数据安全性。
识别重复数据
大多数现有重复数据删除产品都是在块级操作,即用新块比较上次存储的块,以判断是否存储过相同的块。如果上次存储过相同的块,则指针将指向这个存储的块,“新”块将被丢弃。
那么如何判断两个块是否完全相同?最常用的方法是计算每个块的指纹,即每个数据块中包含的哈希值。如果两个块有相同的指纹,则通常认为它们是相同的。
但是,两个不同的数据块也可能具有相同的指纹或哈希值,这种可能性虽然很低,但却是存在的。我们称之为“哈希冲突”,这将导致唯一的数据块被意外删除。
正如我们所预料,降低哈希冲突的可能性必需有更为复杂的算法,这通常会耗费更多的CPU资源来计算哈希值,并会得出较大的输出值。显然,可靠性与速度之间存在某个平衡点。此外,哈希值越长,指纹存储所需的空间也越大。
在评估重复数据删除技术时,您必需清楚供应商识别重复数据的方式,以及所选算法带来哈希冲突的风险。很多供应商辨称磁盘故障、磁盘驱动器或磁带错误造成数据块损坏的概率要比哈希冲突的概率高。我不知道这是否只是令人宽慰的想法,但我相信绝大部分人都希望将风险降至最低。
由于NetApp支持主存储和备份存储的重复数据删除,因此我们需要采取一种更为积极的方法来防范哈希冲突。与大多数其他公司一样,我们也采用指纹算法,但只用于识别潜在的重复数据。发生哈希冲突时,我们会首先对两个块进行逐个字节的比较,核查它们是否完全相同,然后才会决定是否废弃任何块。
基础软硬件的可靠性
重复数据删除技术的可靠性程度取决于基础软硬件有多可靠。事实上,尽管这一点可能不会即刻体现,但是对于实施重复数据删除,可靠性确实变得更为关键。
例如,假设您按照比较标准的备份日程进行每晚的增量备份和每周的完整备份, 现在假设您在月初创建了一个文件,之后没有做过任何修改, 按照传统的备份方式,每周的完整备份都会产生一个副本,因此在月底这个文件将会有四个副本。如果您需要将文件还原至该点,则即使备份介质不可靠,您也可以至少恢复四个副本中的一个。
但是如果在此情景中加入重复数据删除,月底时,您只会有该文件的一个物理副本,外加三组指向相同文件块的指针。通过这个简单的例子,您或许认识到必须确保经过重复数据删除处理的备份一直可靠地存储在弹性硬件上,并具有很好的RAID保护。在这一年中,您可能会有数百个实际上引用着大多数相同数据块的备份。
图 1) 一个未更改的相同文件在四周内的完整备份。如果没有做重复数据删除,同一文件会有四个分散的副本。通过重复数据删除,您只会拥有一个副本。这样可获得大量的空间节省,但同时这个唯一副本的可靠保存也变得更为关键。
市场上重复数据删除方面的产品多种多样。有些只有软件并可能用到多种基础硬件;有些包括软硬件(通过许可或OEM协议,从多种来源获得)。在做出决定之前,您应评估软件成熟度、基础硬件的可靠性以及两者的集成情况。
结论
为了保护备份的数据,重复数据删除技术必须使用合适的算法来避免废弃唯一的数据块,同时还应提供可靠的基础软硬件,以便安全地存储经过重复数据删除处理的数据,用于以后的恢复。
由于NetApp重复数据删除技术不仅用于主数据存储,而且还用于备份数据,因此我们格外注意确保数据的可靠性。NetApp重复数据删除技术结合使用指纹和数据块逐个字节的比较,从而绝不会由于哈希冲突而误删任何唯一的数据块。经过重复数据删除处理的数据存储在NetApp存储系统中,多年的实践证明该系统采用的硬件和软件不仅可靠而且富有弹性。因此我们相信您一定能在恢复数据时取回已备份的数据。