存储分析:NAS虚拟化应对文件增长(下)

开源的NAS虚拟化

NAS虚拟化产品有些是开源软件。比如,Apache Hadoop Distributed File System (HDFS)就是开源的,它可以处理分布式的文件同时保证文件的冗余,而且当某个文件尺寸大于其底层的物理存储空间时,仍然可以保证这个文件的逻辑视图,对上层屏蔽底层的差异。HDFS兼容商业化的硬件,可以支持几个甚至数以千计的节点。开源文件系统另外一个例子是Gluster clustered file System,利用它可以部署一个具有单一命名空间的NAS系统。

与其在传统的NAS系统上花费大量的费用, 不如选择一个开源的文件系统,运行在廉价的硬件组件之上,这种做法显得更实惠。但是开源的文件系统对于企业来讲并不是一个最好的选择了。它们需要仔细的调校以及大量的维护工作,以及了解所选择的开源软件的细节。另外,这些开源软件并不提供与传统NAS一样的售前售后服务。可用性、可靠性、性能以及服务支持是企业存储所关注的,而这些正是开源软件的痛处。开源文件系统对于云存储提供商或者那些想用存储平台来获利的公司来讲却是一个很好的选择,同时,对于研究和教育机构来讲也是适合的,但是毕竟不适合企业用户。

NAS系统以及基于集群文件系统的NAS网关,或者集群NAS架构都属于下一代的NAS系统,而且与现存的传统文件存储不相容,通常这些新架构的系统会与当前现存系统并行运行或者直接替代后者。所以,这些系统会有些难于部署,以及在成本上高于文件系统虚拟化产品。然而,管理一台独立的NAS设备而不是被文件系统虚拟化产品所整合起来的多个文件存储设备,其在所耗费的额外精力和成本上的好处也是不可小视的。

文件系统虚拟化产品应用场合以及选择标准

在很多情况下,直接使用横向(scale-out)架构的NAS系统来替代现有的文件存储系统并不是一个好选择。能够将不同类型的文件存储系统整合成一个大的单一命名空间的文件系统虚拟化产品与传统NAS系统以及横向(scale-out)的NAS系统应当是一种互补的关系,尤其是在将传统文件存储转向新类型存储的期间。“很多用户购买了NAS,目的是得到一些诸如复制、归档以及快照等的增值功能,但是他们并不对所有文件都是用这些功能。” AutoVirt公司的市场副总裁Brian Gladstein这样说道,“我们可以让这些客户将现存的低端文件存储与更高速更强的文件存储系统混合使用,同时给他们提供一个单一命名空间。”

即便是对于一些可以将他们的非结构化数据集中存储到支持单一命名空间的中心NAS设备的公司,也不可避免的存在一些并没有被整合进来的NAS孤岛。这些孤岛可能是存放有部门私有数据,或者被认为是一些不值得存放在相对较昂贵的NAS设备上的数据。文件系统虚拟化产品则允许将这些不怎么受待见的数据与NAS设备一起整合成为一个全局命名空间。文件系统虚拟化的第二种使用场合是数据迁移。在导致数据从一个物理位置被迁移到另外一个物理位置所发生的众多原因中,主要的三个原因是:获得了新数据、存储基础架构升级以及数据重分布项目。因为文件虚拟化产品可以实现对不同类型的文件存储的虚拟化访问,所以这些产品就可以提供天然的数据迁移方案。另外一个应用场景则是自动分级存储。可以在文件虚拟化产品内嵌入一个可以根据不同元数据类型比如最后访问时间、文件尺寸及类型等而定义数据迁移规则的引擎,这样可以实现将对应的数据迁移到合适的存储层级中。

文件虚拟化产品有两种交付形态:独立的物理设备或者独立的软件产品。以软件形式交付的文件虚拟化产品,其优势则是提供非常灵活的部署以及对硬件的自由选择,而且这种形态交付的产品具有很低的厂商依赖性。相反的,以独立物理设备交付的文件虚拟化产品,一般会以一个整合的、经过性能优化以及其他优化的产品包形式交付,由于硬件和软件皆由同一家厂商提供,所以兼容性的风险也就降低了。

在比较不同的文件系统虚拟化产品时,虚拟化所作用的层次也是一个很重要的选择标准。比如,Microsoft的Distributed File System(DFS)提供了一种共享模式的虚拟化;诸如F5 Netword公司的ARX系列则提供文件级别的虚拟化。

是否能够方便的部署也是另外一个重要的标准。理想状况下,文件虚拟化产品的部署应当对客户端的改变很小,以及对后端文件存储系统中的文件数据不应当予以改变。

所支持的文件系统也必须考虑。有些系统只支持CIFS,像F5的ARX以及EMC公司的Rainfinity同时支持CIFS以及NFS,这种支持对于Windows、Linux的混合环境很受用。如果对应的产品支持数据迁移以及自动分级存储,那么一个良好设计的策略引擎是非常重要的。

文件系统虚拟化产品样例

多个厂商都提供了文件系统虚拟化产品,而这些产品的背景以及模块都不同。
AutoVirt文件虚拟化软件:像微软的DFS一样,AutoVirt是一个运行在Windows服务器上的独立软件产品。

AutoVirt全局命名空间使用CIFS协议来与文件服务器、客户端以及DNS交互。当某个客户端要求访问某个文件的时候,DNS设备将会解析出对应的目标存储设备。全局命名空间作为一个中间人的角色存在,它嵌在客户端以及DNS之间。使用AutoVirt全局命名空间,客户端的快件方式都指向这个空间,这个空间掌握着所有网络上的文件的位置,同时通过DNS的帮助来向客户端提供查询。

AutoVirt可以在不影响客户端的情况下透明的引入,直接接管现存的文件系统共享空间。虽然这个动作可以手动执行,但是AutoVirt提供一个数据自动发现服务来自动的发现现存的文件存储空间然后透明的全局命名空间引入。这一点与微软的DFS不同,后者需要在客户端配置新的DFS共享信息,而不是透明的让客户端继续访问数据。

与微软DFS还有一点不同,AutoVIrt提供了一个策略引擎,它可以实现基于策略的数据迁移、整合、复制以及数据分级,同时毫不影响用户对数据的访问。目前这个引擎只支持CIFS,AutoVirt计划在年底推出对NFS的支持。

EMC的Rainfinity文件虚拟化设备:Rainfinity是EMC公司的一个文件虚拟化产品家族,可以虚拟化非结构化数据,同时也提供数据迁移以及文件自动分级服务。Rainfinity全名命名空间设备对用户以及应用程序提供了一个单一的挂载点,Rainfinity文件管理设备提供基于策略的自动分级,Rainfinity文件虚拟化设备提供了透明数据移动功能。

与F5的ARX所不同的是,Rainfinity文件虚拟化架构被设计为一种可以在带内与带外模式之间自由切换的模式。ARX在多数情况下为带外模式,数据流直接在客户端与后端的多个独立的文件存储系统之间流动。当有数据迁移的需求时,设备会切换到带内模式。

F5 ARX系列:于2007年被F5从Acopia收购而来。F5的ARX是一种带内的文件系统虚拟化设备。部署形态一般为主备双机集群模式。这种设备嵌在CIFS/NFS客户端以及异构的CIFS/NFS文件服务设备之间,向客户端提供虚拟化之后的CIFS和NFS访问。非结构化的数据以一个虚拟化的全局命名空间来向客户端提供。物理形态上像一个网络交换机,有2Gbps接口(ARX500)可选, 12 Gbps接口 (ARX2000)可选以及12 Gbps 接口+2个10Gbps接口(ARX4000)的配置可选。

F5 ARX非常注重数据迁移以及自动存储分级功能,在这两个方面功能较强。配备一个强大的策略引擎,可以在异构文件存储之间双向实时的实现数据在不同的层级之间迁移,同时对用户透明。与AutoVirt类似,策略是根据文件的元数据信息来判断的,比如最后访问时间、创建时间以及文件尺寸、类型等。

由于F5 ARX属于一种物理设备,所以它相对于纯软件方案来讲可以提供更加优化的性能。使用split-path模式来设计,使得其具有两条路径,一个是数据路径,用于在客户端及后端存储空间之间传输实际数据,另外一条是控制路径,用于承载一切控制性数据内容。“我们相对DFS来讲更加高级,它们提供共享级别的虚拟化,而我们提供文件级别的虚拟化。”

微软DFS:微软的DFS是一系列的客户端与服务端的服务,这些服务可以让一个正在使用微软Windows服务器来提供CIFS文件共享的企业将这些共享整合起来从而形成一个分布式的文件系统。DFS可以实现位置透明处理以及冗余处理,可以让位于不同位置的共享目录从属于一个单一的DFS跟入口目录之下,从而提高了数据可用性以及性能的均衡。

DFS支持在不同的服务器之间复制数据,这个功能使用File Replication Servce(FRS)(Windows 2003)或者DFS Replication(DFSR)(Windows2003 R2以及Windows Server 2008及后续版本)这两种协议来实现。

微软的DFS只支持Windows上的CIFS共享的虚拟化,而并不支持将NFS或者NAS的共享目录虚拟化到DFS单一命名空间中。另外,它不提供用于数据迁移或者分级的策略引擎。作为Windows Server服务器操作系统的一部分,它是一个免费软件模块,并且对于大部分文件存储都是基于Windows Server服务器的企业来讲是很好的选择。

文件虚拟化展望

在过去的15年之内,对于非结构化数据的访问方式并没有改变,但是如今来讲,异常变革正在发生。NAS系统的架构正在向多节点的scale-out模式发展,并且提供单一命名空间的支持。NAS的龙头老大NetApp公司最终也将其购买的Spinnaker的SpinFS软件整合到了其Ontap8.0操作系统中,使得用户可以构建一个多节点的NetApp集群NAS系统。

文件系统虚拟化产品正在将传统的scale-up模式的NAS终结,而在下一代的scale-out模式的NAS系统下获得新生,为企业提供了一个虚拟化后端异构文件存储系统之后的全局单一命名空间。虽然当前这些产品多数还只是为了应对在异构平台之间迁移数据以及实现动态数据分级的目的而被部署,但是在将来,他们一定会扮演重要角色,为企业提供一个统一的全局非结构化数据存储池。

本文接:存储分析:NAS虚拟化应对文件增长(上)