云中没有正确备份的块存储可能会导致数据丢失,并且尽管云中的对象存储更具弹性,但需要格外小心。 如果备份不正确,则无法备份存储在云块存储服务中的数据可能会永远丢失。本文解释了对象存储与块存储的工作方式有何不同,以及它如何提供更好的内置保护。
什么是对象存储? 每个云计算供应商都提供对象存储服务,其中包括亚马逊公司的简单存储服务(S3)、微软Azure的Blob存储,以及谷歌公司的云存储。
将对象存储系统想像成一个没有目录和子目录的层次结构的文件系统。如果文件系统使用目录结构和文件名的组合来标识和定位文件,则存储在对象存储系统中的每个对象都会根据其内容获得唯一标识符(UID)。
然后,将唯一标识符(UID)用作识别和检索对象的方式。通过使用加密算法(例如SHA-1)运行文件的内容来创建唯一标识符(UID)(要了解SHA-1的工作原理,用户可以在此处通过插入任意数量的文本来创建自己的SHA-1散列)。任何项(例如文件、块、一组文件或块或一部分块或文件)可以存储为对象。
对象存储和块存储之间的巨大区别在于,对象存储中存储的每个对象都会自动复制到至少三个可用性云区域。这意味着自然灾害或其他灾难可能会占用两个可用性云区域,并且用户仍然会在对象存储系统中存储任何数据。它通常仅在单个可用性区域内进行复制,因此一次大的中断就有可能会破坏数据。
复制的工作方式也有很大不同。与云块存储和典型RAID系统的块级复制相比,对象复制是在对象级进行的。 对象也永远不会被修改。如果需要修改对象,则将其存储为新对象。如果启用了版本控制,则将对象的先前版本保存。如果不是,则只删除先前的版本。这与块存储非常不同,在块存储中,文件或块是就地编辑的,除非使用某种附加保护系统,否则以前的版本永远不会保存。
云计算供应商提供对象存储服务,其中包括亚马逊的简单存储服务(S3)、Azure的Blob存储和谷歌公司的云存储。可以将这些对象存储系统设置为抵御会耗尽所有可用区域的区域性灾难。 亚马逊公司使用必须由客户配置的跨区域复制来做到这一点。微软地理冗余存储包括跨区域的复制,而谷歌公司提供了具有相同功能的双区域和多区域存储。结合所有对象存储系统中内置的版本控制功能,这使得存储在此类系统中的数据比这些供应商提供的存储在块存储系统中的数据更具弹性。
块卷和文件系统是为提高性能而设计的,而对象存储的设计是以数据完整性为主要目标的。例如,可以在任何时候使用唯一标识符以确保对象的给定副本没有损坏。文件系统要做的就是通过创建唯一标识符(UID)的过程重新运行对象。如果唯一标识符(UID)仍然相同,则对象的内容没有更改。如果对象的内容由于其他原因而更改,则系统会自动检测到该内容,因为唯一标识符(UID)会更改。然后,它可以通过从另一个区域检索好的副本来自动修复对象。没有块设备或文件系统内置此级别的数据完整性。
由于所谓的“开放存储桶”问题,对象存储受到了极大的关注,在该存储桶中,重要且敏感的数据存储在权限未得到适当管理的存储桶中。将存储桶视为包含相关对象的超大容器。
大型客户数据库已通过此问题暴露出来,主要是因为客户根本不了解对象存储的工作方式。当然,可以创建一个开放的存储桶,因为它使用户可以通过简单地给他们直接链接到该对象的方式轻松地将文件分发给许多人。但这也意味着创建一个开放的存储桶并意外地将用户的商业秘密泄露给外界相对容易。 遵循最佳实践 通过谷歌公司对用户最喜欢的对象存储供应商的最佳实践进行简单搜索,即可获得用户需要做正确事情的资源。例如,亚马逊公司的网页提供了一些常识性建议,例如禁用所有人的公共访问权限和重写权限。微软公司和谷歌公司都有一个最佳实践页面。用户还应该能够找到许多第三方文章来获得指导。
一个常见的建议是仅识别给定应用程序需要什么访问权限,并授予该级别的访问权限,而不再授予其他权限。仅向每个应用程序授予对对象存储桶的完全访问权限可能会容易得多,但这是一个可能发生的安全隐患。还可以考虑使用基于角色的管理,该管理可根据需要轻松地授予和撤消访问权限。
是否需要备份对象存储? 决定是否备份对象存储并不像是否应该备份块卷那样简单。与块卷不同,对象存储自动包括许多级别的保护,以防止可能对企业造成危害的各种情况,其中包括可选的一次写入多次读取(WORM)保护。如果用户遵循所有可用的最佳实践(包括跨区域复制),那么在任何情况下都不会丢失所有数据并进行备份。数据保护专家可以帮助制定合理的策略。 尽管如此,很难与那些说对象存储服务仍然是有可能犯错误的人编写的人争论。他们会说,如果驻留在对象存储中的数据是关键任务,则应该备份它。
重要的是,有很多方法可以做到这一点。例如,用户可以为备份使用完全不同的服务级别(AWS Glazier Deep Archive、Azure Archive Storage或Google Coldline)来保存对象数据的“以防万一”副本。如果数据十分重要,则应考虑以这种方式进行备份,并确保数据位于不同的账户和区域中,就像块存储一样。
注意用户使用的是什么 块卷需要备份,因此需要确保备份。块存储快照也应复制到另一个区域和账户。对象存储提供了更高级别的弹性,因为它会自动复制到多个可用性区域。但是请注意,没有什么措施是绝对正确的,所以用户要了解这些并做出自己的决定。