详解NAS虚拟化

 如何管理这些数据已经成为一个急待解决的痛点,管理成本飞涨。 
   
我们到底应该怎样这种左右为难的境地当中的呢?显而易见,一方面,我们可以很容易的利用Windows或者Linux的文件 服务器 再加上直连 存储 系统或者SAN存储系统来构建出一台文件服务器来存放非结构化数据。另一方面,我们还有传统的纵向(Scale-Up)扩展方式的NAS系统,但是却不可横向(Scale-Out)扩展,扩展能力受限。比如,NetApp在发布Ontap8之前是并没有先进的集群以及单一命名空间的产品的,唯一的扩展方式就是再购买一台更大容量和性能的Filer(NetApp的NAS设备)或者干脆部署一台独立的NAS以脱离当前的NAS系统。 
   
数据存储行业已经很深刻的认识到这个情况,很多厂商都已经采取了不同的策略推出了文件系统和NAS虚拟化产品,这些产品能够帮助用户解决当前面临的棘手问题。虽然这些产品被宣称可以解燃眉之急,但是市场反应还是比较冷淡。“块级别的 虚拟化 用了10年才得以深入人心,”Stillwater, Minn.-based StorageIO Group公司的创办者以及高级咨询师Greg Schulz这样说道,“NAS虚拟化仍然处于早期阶段,在被人广为采用之前,会经历一段很长的时间。” 
   
对文件访问的四种虚拟化方式  
   
在后端的文件存储层与客户端之间嵌入一个逻辑层次,这种虚拟化文件访问的方法被认为是应对非结构化数据所带来的挑战的一种最保险的方式。与块级别的虚拟化类似,实现文件访问虚拟化的方式也不止一种,相反,我们有多种架构和方法来在文件虚拟化市场上角逐。 
   
NAS虚拟化术语  
   
命名空间:文件系统数据的一种展现方式和组织方式,比如目录结构和文件。 
   
非共享命名空间:在一个非共享命名空间中,文件系统信息被限制在一个单一的物理设备中,不被其他人共享。传统的scale-up模式的NAS系统以及基于服务器的文件存储系统就是非共享命名空间的例子。 
   
共享命名空间:相反的,共享命名空间,又被称为全局命名空间,会将多个物理设备或者节点之上的非共享命名空间整合成一个全局的单一的命名空间。有两种实现方法,第一种是简单的将后面的多台文件存储系统中的命名空间进行整合,然后成为一个新的统一命名空间,这种方式也是文件系统虚拟化产品以及集群NAS的普遍做法。第二种方式则是使用集群文件系统,也就是一个单一的文件系统会被分不到多个物理节点上。(译者注:前者可以理解为松耦合,后者可以理解为紧耦合,前者容易扩展,后者扩展性差。) 
   
Scale-up NAS:是这样一种NAS设备,通过替换硬件或者升级到更高速的硬件来实现性能和容量提升,比如升级到更快的CPU,更多的内存以及磁盘。其命名空间只能够在一个或者两个节点之间进行扩展,仅仅为了保持高可用性。 
   
Scale-out NAS:是这样一种设备,通过增加节点到现有集群的方式来获得性能和容量的提升。可以有N+1(只有一个热备节点)或者N+N模式(每个节点都有各自的热备节点)的冗余配置。其提供一个跨越所有节点的单一命名空间,通过任何一个节点即可访问到集中的所有数据。 
   
1.文件系统的虚拟化(整合)是文件虚拟化的方式之一。站在一个较高的角度来审视的话,文件系统虚拟化相当于将多个独立的文件系统进行积累和整合,成为一个大的文件系统池,而客户端访问这个池的时候就像在访问一个单一的单元,感觉不到底层的多个独立文件系统的存在。换句话说,客户端所看到的是一个单一命名空间而不是底层的文件存储。底层的文件存储可以是一台独立的NAS设备,或者一批不同类型的文件服务器和NAS设备。文件系统虚拟化有针对性的解决了两个主要问题:它给用户提供了一个单一的虚拟文件存储空间;它提供了其他的存储管理功能比如在线数据迁移以及文件路径固定化处理(当文件在底层各个存储空间内移动的时候对上层客户端透明)。 
   
文件系统虚拟化的一个最大好处便是它可以被方便的部署在现存的环境中同时不会对现存的服务器以及NAS设备产生影响。当然,也有一些劣势,即文件虚拟化并不能够简化对底层各个文件存储空间实体的管理操作。 
   
2.集群文件系统是文件虚拟化的另外一种方式。集群文件系统可以说是下一代NAS系统中的一部分,它的机制可以突破传统纵向(scale-up)架构的NAS系统所带来的限制。集群文件系统一般由提供块级访问的存储节点(典型情况下起配3个节点)组成,通过简单的向系统中增加更多的节点,整个系统可以扩展到PB级的文件存储容量。集群文件系统将所有节点粘合了起来,对外向客户端提供一个全局的单一命名空间。提供基于集群文件系统的NAS厂商的代表有:Falcon StorSoftware公司的HyperFS(OEM自中国国内的集群文件系统厂商:蓝鲸BWFS),Hewlett-Packard(HP)公司的StorageWorks X9000 Network Storage Systems, IBM’s Scale Out Network Attached Storage(SONAS),Isilon Systems公司,Oracle公司的Sun Storage 7000 Unified Series,Panasas公司,Quantum公司的StorNext以及Symantec公司的FileStore。 
   
3.集群NAS系统是文件虚拟化的第三种方式。集群NAS系统的架构囊括了基于集群文件系统的NAS系统的多个好处。与基于集群文件系统的NAS系统所不同的是,集群NAS系统并不是在所有节点上都承载同一个单一文件系统,而是在每个节点上都维护各自独立的文件系统,然后在高层将这些独立的文件系统进行松耦合,对外表现为同一个根路径入口,供客户端来访问。从某种意义上讲,集群NAS属于一种将横向(scale-out)技术、多节点存储架构与文件系统整合者三个角色结合起来的合体。除了可以整合异构文件系统之外,它还可以整合本地存储节点上的文件系统。BlueArc公司的Titan以及Mercury系列的横向架构的NAS是集群NAS的典型代表。 
   
4.NAS网关可以看做一种文件系统虚拟化设备。部署于块级存储系统前端,NAS网关可以凌驾于块级存储之上而提供NFS和CIFS协议的数据访问。这种网关设备大多数NAS厂商都提供,它通常可以允许将第三方经过认证的块级存储设备进行整合虚拟化,然后形成一个单一命名空间。 
   
开源的NAS虚拟化  
   
NAS虚拟化产品有些是开源软件。比如,Apache Hadoop Distributed File System(HDFS)就是开源的,它可以处理分布式的文件同时保证文件的冗余,而且当某个文件尺寸大于其底层的物理存储空间时,仍然可以保证这个文件的逻辑视图,对上层屏蔽底层的差异。HDFS兼容商业化的硬件,可以支持几个甚至数以千计的节点。开源文件系统另外一个例子是Glusterclusteredfile 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)提供了一种共享模式的虚拟化;诸如F5Netword公司的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在多数情况下为带外模式,数据流直接在客户端与后端的多个独立的文件存储系统之间流动。当有数据迁移的需求时,设备会切换到带内模式。 
   
F5ARX系列:于2007年被F5从Acopia收购而来。F5的ARX是一种带内的文件系统虚拟化设备。部署形态一般为主备双机集群模式。这种设备嵌在CIFS/NFS客户端以及异构的CIFS/NFS文件服务设备之间,向客户端提供虚拟化之后的CIFS和NFS访问。非结构化的数据以一个虚拟化的全局命名空间来向客户端提供。物理形态上像一个网络交换机,有2Gbps接口(ARX500)可选,12Gbps接口(ARX2000)可选以及12Gbps接口+2个10Gbps接口(ARX4000)的配置可选。 
   
F5ARX非常注重数据迁移以及自动存储分级功能,在这两个方面功能较强。配备一个强大的策略引擎,可以在异构文件存储之间双向实时的实现数据在不同的层级之间迁移,同时对用户透明。与AutoVirt类似,策略是根据文件的元数据信息来判断的,比如最后访问时间、创建时间以及文件尺寸、类型等。 
   
由于F5ARX属于一种物理设备,所以它相对于纯软件方案来讲可以提供更加优化的性能。使用split-path模式来设计,使得其具有两条路径,一个是数据路径,用于在客户端及后端存储空间之间传输实际数据,另外一条是控制路径,用于承载一切控制性数据内容。“我们相对DFS来讲更加高级,它们提供共享级别的虚拟化,而我们提供文件级别的虚拟化。” 
   
微软DFS:微软的DFS是一系列的客户端与服务端的服务,这些服务可以让一个正在使用微软Windows服务器来提供CIFS文件共享的企业将这些共享整合起来从而形成一个分布式的文件系统。DFS可以实现位置透明处理以及冗余处理,可以让位于不同位置的共享目录从属于一个单一的DFS跟入口目录之下,从而提高了数据可用性以及性能的均衡。 
   
DFS支持在不同的服务器之间复制数据,这个功能使用File Replication Servce(FRS)(Windows2003)或者DFS Replication(DFSR)(Windows 2003 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系统下获得新生,为企业提供了一个虚拟化后端异构文件存储系统之后的全局单一命名空间。虽然当前这些产品多数还只是为了应对在异构平台之间迁移数据以及实现动态数据分级的目的而被部署,但是在将来,他们一定会扮演重要角色,为企业提供一个统一的全局非结构化数据存储池。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值