分析:云存储中的数据完整性监测技巧

云存储是一个非常有吸引力的将日常数据管理外包的服务,但是,一旦数据丢失,所有的后果都将由拥有此数据的公司承担,而不是托管服务提供商。考虑到这一点,了解数据丢失的原因、云服务提供商承担多少责任、安全利用云存储的一些基本方法以及不管数据是存储在本地还是云端的完整性监测方法和标准就显得非常重要。

    完整性监测在云存储服务中是必不可少的,同样,数据完整性也是所有数据中心最核心的任务。任何级别的存储和任何类型的媒质都有可能发生数据损坏。位衰减(存储介质上的数据减弱或丢失)、控制器故障、重复数据删除元数据损坏、磁带故障是导致不同类型媒质数据损坏的主要因素。元数据损坏是上述故障导致的直接结果,比如位衰减,并且也极其容易受到除硬件错误率以外的软件故障的影响。不幸的是,重复数据删除的一个副作用是,损坏的文件、块(block)或字节将影响到每一块与之相关联的元数据。事实上,存储坏境内的任何一个环节都有可能发生数据损坏。将数据迁移到不同的平台过程中很容易就被损坏,即将数据迁移到云端。云存储系统也是由硬件和软件组成的数据中心,其也容易受到攻击而导致数据损坏。比如最近广为人知的亚马逊云宕机事件。许多企业不仅受到长时间的宕机影响,实际上,他们0.07%的客户数据已经丢失。据报道,引发数据丢失的原因是“亚马逊ESB卷……不一致的数据快照恢复。”这就意味着亚马逊系统中的数据已经损坏,因此,客户数据已经丢失。每当数据丢失,尤其是重要数据丢失,人们倾向于相互指责以推脱责任。在IT行业,这通常会导致工作人员被解雇、公司承受巨大经济损失,甚至最严重的情况是企业破产。因此,关键是要了解云服务提供商要承担的法律责任,以及每个服务水平协议(SLA)已采取一切可能的措施以确保数据的安全,防止数据丢失。就很多法律文件来说,SLA大多偏向于提供商的利益,而不是客户的利益。许多云服务提供商都提供了不同层次的数据保护,但是,所有的存储供应商都不对数据完整性承担责任。

    云SLA协议,包括云提供商的保护都明确表明,数据丢失或损坏是最常见的情况。比如亚马逊的客户web服务协议,其中规定,“我们……不提供任何形式的声明或保证,所提供的服务或第三方内容是不间断的、无差错的、无故障部件的,或任何内容…将是安全的、不丢失的或无损坏的。”这个协议甚至据以建议客户“频繁归档”他们的数据。如前所述,数据的完整性管理,无论其是在数据中心、私有云、混合云或公共云,其责任总是要该数据的实际拥有公司来承担。

    一些共通的最佳方式将允许公司利用云的灵活性和易接近性的优点,而又不会危及其数据安全。在数据保护的前提下分散风险,将数据丢失的可能性降到最低。即使是在云端存储数据,保留一个主副本和现场数据的备份副本也是很有意义的,这样的话,访问数据就不会依赖于网络性能或连通性。坚持这些基本的最佳做法,了解云服务提供商SLA的细节,适当构建模块以主动监测数据的完整性,无论其是存储在云端或是本地。

    验证一组数据的完整性的方法之一基于哈希值。哈希值是根据一个预定义的方式压缩一组数据而得到的一个独特的值。由于哈希值是从原始数据本身获得的,如果两个哈希值不完全相同,其就意味着这两个副本至少有一个已被更改或损坏。

    确保云提供商无论何时何地存储副本,都能够提供数据的哈希值核对,并与第二个数据副本的哈希值进行比较。

人工进行这个级别的数据监测将非常繁琐。幸运的是还有其他的方法可用,包括标题检查。SpectraLogic公司和其他动态归档联盟(ActiveArchiveAlliance)成员都提供自动监测系统内数据完整性工具。

    虽然动态归档是监测数据完整性的方法之一,但其仍需要目前广泛采用的云标准协议支持其完整性监测和互操作性。因为并不是所有的数据中心或云托管基础设施都采用的同一标准的设备,不同存储设备之间的互操作性至关重要。云存储管理接口(CDMI)标准是全球网络存储工业协会(SNIA)在2010年提出来的。兼容CDMI的系统可能查询另一个兼容CDMI的系统的对象的哈希值,以此验证两个数据副本是否相同。通过监测主数据副本和备份副本的完整性,企业可以确认存储在云端的数据副本是否损坏。可以通过数据值来频繁地监测这些数据集。诸如CDMI之类的行业标准,其不仅能确保异构兼容系统之间的互操作性,并且还给数据完整性监测提供了便利机制。

    最近很难看到云行业在媒体上出现,特别是IronMountain公司停止了他们最基本的云存储服务和预先讨论的亚马逊宕机事件之后。但是,这篇文章的宗旨不在于讨论云存储平台是否明智,而是在研究和实施云战略时,应考虑更多的因素,而不是仅简单地考虑每GB的存储成本。如果云存储实施正确,将给所有的企业提供许多的利益。消除云劣势需要智能数据管理战略。不管在何处或怎样存储数据,在需要时,其可访问和可恢复绝对是至关重要的。这个承诺是所有数据完整性监测和验证的核心任务。