换掉NAS:用云存储非结构化数据的八个关键点
云存储想用于存储非结构化数据,就需要提供与企业存储系统相当的灵活性、性能和生产力。
云存储具有的成本效益、规模和可管理性是连最大的企业数据中心都根本无法与之匹敌的。
像AWS、谷歌和Azure这些超大规模云存储服务提供商在去年将价格降低了多达65%,承诺将来会采用遵循摩尔定律的价格模式,言外之意就是价格会一路走低。AWS提供999999999.99%的耐久性,这意味着如果你用亚马逊S3服务存储10000个对象,平均而言每10000000年才会遇到丢失一个对象的情况。此外,亚马逊S3将对象存储在多个数据中心的多个设备上,旨在经受得住数据在两个数据中心同时丢失的情况。
遗憾的是,就在不久前,云存储实际上只适用于平常使用的数据,而不是适用于实际用的数据。换句话说,云存储成本低、容量大,却无法提供本地存储具有的性能。云存储想适用于存储非结构化数据,它就需要提供与企业存储系统相当的灵活性、性能和生产力。成本优势本身尽管很吸引人,但是光有这一点还不够。
为了使用云既用于存储活动数据,又用于存储非活动数据,一定要让人觉得它并不逊色于已经部署的本地文件管理器。为了这让成为实现,就必须满足下列几大要求:
* 本地缓存:考虑到用户期望获得类似局域网的文件访问时间,活动数据需要缓存在本地,而非活动数据存储在云端。虽然大多数数据并不是经常访问,非常适合放在云端,但是活动数据需要仍然靠近用户。需要采用基于文件使用情况的机器学习、“固定文件夹”或者结合使用这两种方法,以确保合适的文件缓存在本地,而不常用的文件放回到云端。
* 全局性重复数据删除:全局性重复数据删除确保,只有一个独特的数据块存储在云端、缓存在本地。由于数据块常常散布于文件上,全局性重复数据删除可减少存储在云端的数据量以及在云和本地缓存之间发送的数据量,因为存储和发送的仅仅是变化的数据块。比如说,当美国艺电公司(Electronic Arts)使用云存储来集中组织数据后,总的存储占用空间从1.5PB减少至仅仅45TB。在办公室之间传输50GB大小的游戏版本所花的时间从多达10个小时缩短到短短几分钟,因为实际发送的仅仅是游戏版本的变化部分。
* 类似NAS的响应能力:文件目录浏览的响应速度必须跟本地NAS一样迅即。为了做到这一点,不仅活动数据应该缓存在本地,所有文件、而不仅仅是缓存文件的元数据也必须缓存在所有站点的固态硬盘上。固态硬盘必不可少,因为用户可以看到整个文件系统中所有文件的完整表示,尽管不到5%的文件缓存在本地。用户上下浏览网络驱动器中的文件和文件夹时,一定要让人“觉得”所有那些文件就在那里。由于一部分文件元数据常常与文件名称一并显示,文件锁定对任何文件来说一定要瞬时完成,即便没有缓存在本地,所以元数据的访问要尽可能快。要是没有缓存中的所有文件元数据,用户以为其计算机或网络运行速度缓慢,因为浏览文件夹是最最基本的功能之一。
* 支持“繁琐累赘”的应用程序:应用程序跨站点运行时要与在单一站点时运行时一样顺畅。许多技术类应用程序(CAD、 PLM和BIM)极其繁琐累赘,通常会将打开、保存或同步文件的时间从本地NAS上的不到30秒增加到云端集中后的超过20分钟。大多数人以为这是带宽问题,但实际上这是由于应用程序非常繁琐累赘。
比如说,一个常见的CAD应用程序有近16000个顺序文件操作需要在打开文件之前进行。如果权威副本在同一个局域网上,文件锁只需要0.5毫秒,那样打开文件要花8秒(16000 x 0.5毫秒)。然而,如果通过广域网进行操作,繁琐累赘的应用程序会引起严重延迟。如果集中在锡拉丘兹的某个文件从圣迭戈打开,文件锁需要86毫秒(从圣迭戈到锡拉丘兹的往返延迟),所以打开文件要花16000 x 86毫秒DD大概是22分钟。实际的数据传输所花时间只是22分钟的几分之一而已。
* 数据完整性和跨站锁定。数据驻留在文件服务器上时,我们只要担心维护一个一致的副本(只要用户在编辑文件时,文件被锁定)。当数据驻留在云端,但是从许多站点访问时,这种情况发生了变化。为了避免使用云存储时出现文件受损,你需要两个机制:
云端数据权威副本与每个站点本地缓存副本之间明确分离。即便出现硬件或电力故障,“事务一致”的文件系统也可以保持文件完整性,而不依赖文件系统检查或之前的文件版本。这在分布式环境下保证了数据完整性。
跨站点工作的细粒度组件级锁定,可以锁定文件的一部分,而不是锁定全部文件。你在跨站点工作时,云不可能是文件锁数据的中介。站点之间需要有直接的连接,确保数据最新,并保持高效的字节级锁定。
* 比本地安全更高的安全:寻找四种安全功能,即跨文件系统加密、安全密钥管理(密钥根本不该发送到云端或存储在云端)、锁管理与其他安全工具整合,以及符合相关的安全标准,比如FIPS 140-2。
* 可以灵活地更换提供商:你根本不知道何时可能需要更换云服务提供商,还记得Nirvanix这家云存储服务提供商吗?你可能还想要使用两家云提供商,实际上使用一家作为辅助站点。全局文件系统应该支持这两种场景。
有许多公司已经在使用云作为多个站点的主存储。比如说,C&S Companies和Mead & Hunt这两家公司都为分布式项目团队支持云端的Autodesk Revit和CAD文件;艺电公司跨40个站点运行其密集的软件开发应用程序,文件数据驻留在云存储中;Milwaukee Electric Tool使用云服务来存储其所有文件,不过其动机是需要在美国和中国两地之间协作处理CAD和视频文件。