在广电非线性编辑、媒体资产管理、大规模流媒体播出系统、高性能计算、大型网站系统、遥感信息处理、云计算、云存储、大型信息管理系统等诸多应用场景中要实现“多台工作站或服务器对来自于SAN的同一个或同一组卷进行同时读写操作”这一应用模式。
虽然SAN架构(无论是IP SAN还是FC SAN)具有物理上的互联互通性即任何一个逻辑卷可以同时被任何一个主机访问,但是由于传统的本地文件系统(例如NTFS或EXT3)在设计上均不支持两台主机同时读写同一块磁盘(也就是同一个逻辑卷)这一功能,所以“SAN+本地文件系统”的方式是无法实现“多台工作站或服务器对来自于SAN的同一个或同一组卷进行同时读写操作”这一应用模式的。在这些应用场景中一般会用到“卷共享软件”或“SAN文件系统”来满足“多台工作站或服务器对来自于SAN的同一个或同一组卷进行同时读写操作”这一需求。
能满足上述需求比较常用的有:SANergy、Imagesan、StornextFS、BWFS、HyperFS、ASFS、等,既然是满足类似的应用需求,对于“卷共享软件”和“SAN文件系统”之间的区别和联系大家可能还并没有特别的了解和关注,甚至不少存储业界同仁也并不清楚其差别。让我们一起来看一下两者的实现原理:
卷共享软件的实现原理与应用价值
首先:“卷共享软件”本身不包含文件系统的功能,所以没有办法独立的工作,必须要依赖于传统的本地文件系统,换句话说实际上“卷共享软件+传统的本地文件系统”和“SAN文件系统”完成类似的工作,实现对来自于SAN的同一个卷进行同时读写操作。
以典型的“卷共享软件”SANergy为例,看下他是如何工作的:文件系统层面采用本地文件系统进行格式化,可以用NTFS、UFS(或者其他 SANergy支持的本地文件系统),SANergy将标准网络文件协议(CIF或NFS)的数据I/O操作部分“劫持”从LAN重新定向到“由MDC所主导管理的且被所有客户端所挂载并直接访问的来自于SAN的卷上的本地文件系统”。
这样,如上图所示,与传统网络文件协议(也就是传统NAS)的访问方式相比较,好处是实现了“元数据”与“数据”的带外传输,大幅度的提高了性能(例如单机FC可达到接近4Gb的速度)这种性能提升是传统NAS架构(标准CIFS协议、NFS协议)所无法企及的。
SAN文件系统的实现原理与应用价值
“SAN文件系统”与“卷共享软件+传统的本地文件系统”方式的主要差别在于其不依赖于某一种本地文件系统,而是采用了独立自主的文件系统设计来更好的满足网络存储条件下的应用需求。
因为泛指的“文件系统”本身是满足特定应用需求而存在于发展的技术环境中的,而传统的本地文件系统的设计,大多数未能满足需求和技术环境的发展,例如:不支持两台主机同时读写同一块磁盘、32位条件下支持卷大小的限制、只能支持单卷或对多卷支持不尽如人意、只能支持主板总线与SAS等可靠的物理连接对于IP SAN这类半可靠连接时不时变成只读等等。
采用“卷共享软件+传统的本地文件系统”只是解决了“不支持两台主机同时读写同一块磁盘”这一个问题,而采用独立的文件系统的好处主要是更好的满足了需求而顺应了技术环境的发展,对应用带来的好处主要有如下这几点:
1、SAN文件系统摆脱了本地文件系统的固有容量限制。
例如32 位windows操作系统下单个盘符2T容量的限制,在这种情况下如果32T盘就需要有16个盘符之多,使用与维护均不方便,有的项目中A-Z的英文字母都快被用完。有的方案中也采用某些方式加以破解容量限制,但在没有厂商支持的情况下需要冒相当大的风险,曾经出现过扩容后不稳定,造成数据丢失的严重事故。
2、SAN文件系统大多提供了包括高可用配置实现、各模块服务、管理与监控在内的完整的整体解决方案。
反观“卷共享软件+传统的本地文件系统”大多采用多种工具松散组合的方式,以SANergy+NTFS为例,需要用到来自不同厂商的工具与技术、服务等,包括CIFS、NTFS、MSCS等多种工具松散组合,组合完以后的功能缺失问题、各个工具间配合问题、大多数工具是通用工具存在的适用性等诸多问题,这样带来不小维护与管理的风险。
3、SAN文件系统摆脱了本地文件系统的固有限制,实现真正的跨平台,支持包括64位windows、linux、Mac等多种操作系统的异构共享。
由于现在满足同一种业务可能同时用到2个以上的操作系统,例如有客户同时在使用windows和Mac并且在同一个FC SAN的环境中,windows这边使用SANergy互相共享性能还不错,但由于“SANergy+NTFS”无法同时支持Mac,所以windows 和Mac之间通过CIFS和AFP(需确认)在两种操作系统间倒数据非常不方便和耗时(注意一个原理上的差别,不是SANergy这个“卷共享软件”不支持Mac,而是“SANergy+NTFS”不支持Mac。)。采用了SAN文件系统以后就解决了这个问题。
4、SAN文件系统对多卷的支持带来很大的性能提升空间和安全保障,这也是不少厂商放弃卷共享软件而转向SAN文件系统的重要原因。
本地文件系统大多只支持单卷,所以性能提升空间就很有限,也限制了“卷共享软件+传统的本地文件系统”这种方式的应用规模。就绝大多数的盘阵产品所支持的功能来看,一个卷只能来自于一个Raid组,而一个Raid组的性能提升空间是有限的(Raid组如果越大硬盘数量越多看起来性能带宽应该是越大才对,但实际上随着Raid组容量增大所需要承载的并发访问量也就越大,所面临的就是并发访问量增加带来的随机性压力问题反而可能使Raid组性能下降)。
而SAN文件系统支持多卷,多卷可以来自多个Raid组甚至多个设备,这样多卷磁盘轮动效应会带来更大的性能提升空间,另外在线扩容等高级功能,不支持多卷也是能难实现的。更重要的是从安全角度看,支持多卷多Raid以后,每个Raid组的大小就可以相对小,如果硬盘出问题,Raid组Rebuild的时间就会明显缩短(现在比较新的中端盘阵,在访问压力较小的情况下,15块1T盘Raid5的Rebuild时间大致是 16个小时左右,如果是老设备、或者访问压力大、或者2T盘这种更大容量的时候Rebuild时间就会再增加很多;反而如果是做小的Raid,比如3组5 块1T盘Raid5的Rebuild时间大致只有大Raid的1/4左右),而且即便考虑极端情况一个Raid组坏掉也只是影响部分数据(而且高端的 SAN文件系统还有镜象实时容灾解决方案),而“卷共享软件+传统的本地文件系统”模式下如果Raid很大Rebuild的时间长数据丢失的风险就明显大了很多,并且Raid组坏掉所有数据会全部丢失(很多数据丢失就是在Rebuild未完成之前又掉盘造成的)。
只支持单卷所带来的“性能提升空间小和安全风险大”是“卷共享软件+本地文件系统”方式为什么很少用在中高端上规模应用中的核心原因之一,相信也是不少厂商放弃卷共享软件而转向SAN文件系统的重要原因。
采用本地文件系统的好处主要是配套工具相对比较成熟。
“卷共享软件+传统的本地文件系统”方式也有其独特的优势,本地文件系统配套工具相对比较成熟完善,例如磁盘碎片分析与整理工具,数据恢复工具等;在早期,“SAN文件系统”这些方面比较薄弱,现在大都得到了解决,成熟产品都提供了类似工具。
卷共享软件和SAN文件系统典型产品的历史与发展
1 卷共享软件典型代表主要有IBM公司的SANergy和Rorke Data公司的Imagesan。
1.1 IBM Tivoli SANergy:
IBM的SANergy源于收购,Tivoli Systems, Inc.由Bob Fabbio, Todd Smith, Steven Marcie 和 Peter Valdes创建于1989年,是一家管理解决方案软件解决方案提供商,其口号是“Intelligent management software for the on demand world.”。 IBM在1996年收购了Tivoli Systems, Inc.。Tivoli SANergy作为Tivoli存储管理产品线的重要组成部分也成为了IBM的产品。
SANergy在90年代是一款很有创新性的产品,在Tivoli和IBM的推动下作为Tivoli存储管理产品的基础支撑平台,90年代和2000年代初在国外得到了相对广泛的应用;在国内由于缺乏原厂商支持应用相对较少,只在非编等极少数应用领域盗版SANergy使用较多。到2000年代初随着技术的发展,由于前面提到的问题,卷共享软件越来越满足不了需求,IBM逐渐把重心放到新一代SAN文件系统IBM TotalStorage SAN File System(SFS)上来,而最终放弃了SANergy,后续也不会继续开发和维护SANergy了。
1.2 Rorke Data Imagesan
Rorke Data国内翻译叫柏科数据是一家具有25年历史的数据存储厂商与解决方案提供商。在2000年代初的2002年左右,Rorke Data推出了一款在当时很有市场影响力的卷共享软件产品Imagesan。Imagesan虽然也是需要依托并配合本地文件系统(支持NTFS或 HFS)才能正常工作的“卷共享软件”,但Imagesan比SANergy的一个优势就是对于客户端来看到的是“一块磁盘”而不是一个“网络文件夹”,这样就能够实现客户端的二次共享功能。这样就更加方便了用户,增加了方案的灵活度。
据说ImageSAN在北美做得还是不错的,但感觉 ImageSAN在国内做得一般、案例比较少,尤其是大型网络系统中很少用到ImageSAN,非广电行业对ImageSAN听得就更少了。由于 Imagesan依然存在“卷共享软件”所固有的技术制约,到2010年左右,Rorke Data放弃了“卷共享软件”转向“SAN文件系统”开始采用美国飞康的HyperFS,推出一款新的硬件整合型产品“HyperDrive”,2台 Aurora RAID配合HyperDrive能提供6GB/s的巨大带宽,在数字媒体应用领域取得了相当大的成功。
2 SAN文件系统的典型代表主要有昆腾公司的StornextFS、中科蓝鲸公司的BWFS、飞康公司的HyperFS、IBM公司的SFS。
2.1 昆腾SNFS(StornextFS)
昆腾(Quantum)的SNFS(StornextFS)同样源自收购。SNFS原来的名称是CVFS(CentraVision File System)是MGISC(MountainGate Imaging Systems Corporation)的产品主要只用在Windows 和IRIX之间的文件共享交换。
在上个世纪末国内用户比较熟悉的ADIC(Advanced Digital Information Corporation)收购了它并更名为现在的Stornext File System,还加入了Solaris、Linux、Mac等更多的操作系统支持,可以说是ADIC把SNFS真正发扬光大广泛应用的,更重要的是SNFS在ADIC时期由亚细亚智业(也就是现在的火星科技Mars)首先引入国内并在遥感、广电等行业得到了广泛的应用,到2006年8月昆腾收购了ADIC获得了SNFS。SNFS 最辉煌的时候占SAN文件系统市场份额,高达80%-90%,基本上处于垄断的地位(直到出现后面的几位竞争对手),尤其是在国内在当时用户基本没有太多别的选择。
现在StornextFS的最新版本是4.X,据说后续还会推出基于StornextFS的SAN文件系统硬件整合产品——“SNi”,把StornextFS SAN文件系统集成到硬件当中是什么效果,还是比较值得期待的。
2.2 中科蓝鲸BWFS
中科蓝鲸的BWFS(Blue Whale Clustered File System)是源自中国科学院计算技术研究所的科研成果,受到863、973等科研计划的支持,是现在市场上Stornext的最主要竞争对手。
1997年国家科学技术委员会组建国家高性能计算机工程技术研究中心NRCHPC,是计算机领域两个国家级工程中心之一,以高性能计算和存储做为主要研究方向,启动存储研究;1999年根据中科院计算所对所内研究中心方向的整体部署,NCIC专注高性能计算,NRCHPC研究方向作出战略调整,全部精力转移到制约高性能计算效率的高性能海量存储相关技术研究上;2002年以BWFS为代表的蓝鲸系列产品,产品化成功,蓝鲸技术走出实验室,在实际生产中处取得成功;2005年以蓝鲸存储相关产品在市场上的成功为基础,计算所成立全资控股的蓝鲸存储种子孵化公司中科储天公司,并把BWFS与相关的知识产权注入中科储天公司;2007年在科学院与天津市院地合作背景下,做为院地合作二期示范项目,成立天津中科蓝鲸公司,把BWFS蓝鲸集群文件系统也转入了中科蓝鲸公司。
2008年BWFS以较大技术优势进入数字媒体领域,在这个细分市场获得广泛应用。2009年BWFS进入国际市场,成功应用于北美、南美、欧洲等地诸多项目。
BWFS经过近10年的磨练现在发展到5.X版本,获得过国防科工和兵器工业科技进步等奖项,除了在一些重大项目中起到打破国外厂商垄断解决卡脖子问题以外BWFS作为国家重点新产品计划项目,在通用市场上BWFS以其创新的体系结构和值得信赖的产品品质已经在媒体数据编辑与媒资管理、视频监控、流媒体播出、影视后期制作、勘探数据计算与分析、遥感信息处理、科学计算、电子政务等领域获得广泛应用。
并且中科蓝鲸还推出了基于BWFS的SAN文件系统硬件整合产品线蓝鲸集群存储BWStor,BWStor CSA整合了MDC服务器、BWStor BW系列整合了存储设备,尤其在2010年BIRTV上发布的BWStor BW2000,由于BW2000整合了BWFS到双控标准iSCSI设备中所以具有BWFS的多数优秀特征,在解决卷共享软件(例如SANergy)的诸多问题方面,例如支持Win7、支持新的64位操作系统、解决2T容量限制、以及卷共享软件的安全风险等方面都做得相当不错,很受用户好评,常被用于替代或升级卷共享软件管理下的SAN网络,例如用于原有非编制作网SANergy升级项目。
2.3 飞康HyperFS
HyperFS是由美国飞康软件2008年推出的产品,HyperFS虽然推出时间较短,但应用已经比较广泛;已经得到了Media and Entertainment Conglomerate等诸多重要用户的青睐;并且前面已经提到过Rorke Data也放弃了卷共享软件转而采用HyperFS这个SAN文件系统产品与其Aurora RAID配合组建HyperDrive。另外飞康还与SeaChange宣布签署策略OEM结盟协议,SeaChange整合FalconStor HyperFS文件系统至新款SeaChange Universal MEdiaLibrary中。
HyperFS提供了一个高效能、高延展性的文件系统,适用于产生密集大型档案资料的相关应用。 HyperFS 文件系统可以简化大型档案的管理,透过全域储存池同时提供高速、低延迟的档案存取,满足媒体和娱乐市场应用的要求。借着HyperFS文件系统,即使是最困难的效能和延展性挑战,都能够用经济实惠、迅速的方式轻松解决。视讯和串流作业流程得以快速执行,用户可以更有效的分享资料,储存管理也不再是负担。
藉由提供单一全局命名空间(global name space),HyperFS 能够优化储存效能,提供超过100 petabytes 易于延展的储存容量,和数个gigabyte的传输频宽。它支援大量的资料集(data sets),单一档案可以大到32TB,以及异质多使用者的同步存取。HyperFS文件系统可以在任何储存硬体上执行,提供储存子系统充分的独立性,并且支援Mac OS X、Microsoft Windows 和Linux 的用户端。 结合卓越的技术支援和弹性的部署方式,HyperFS 文件系统是最理想的解决方案,满足媒体和娱乐工业对视讯和串流相关应用工作流程的众多要求。可同时提供数百个高画质(high-definition, HD)和数千个标准(standard-definition, SD)的视讯串流应用。
2.4 IBM TotalStorage SAN File System(简称SFS或SanFS)
TotalStorage SAN File System。在前面提到过在2000年代初随着技术的发展,由于卷共享软件SANergy越来越满足不了需求,IBM逐渐把重心放到新一代SAN文件系统IBM TotalStorage SAN File System(简称SFS或SanFS)上来。SFS采用了先进的典型SAN文件系统架构,采用SAN作为整个文件系统的数据存储和传输路径,采用带外 (out-of-band)结构,将文件系统原数据在高速以太网上传输,由专门的原数据服务器(MDS)来处理和存储。
SFS采用了基于策略的文件数据位置选择方法,能有效地利用系统的资源,提高性能,降低成本。SFS与SVC(IBM TotalStorage SAN Volume Controller)一道被誉为IBM随需应变信息战略的重要基石——存储虚拟化的两大法宝。到2007年4月20日,SFS被IBM放弃掉了,止步于 2.2.3版本,取而代之的是同一时期另一条产品线的产品General Parallel File System (GPFS),GPFS也是一款优秀的产品,但其并不支持FC SAN直联客户端这一重要功能。
随着应用需求的发展,大家都会遇到各种各样的关于卷共享软件和SAN文件系统方面的问题,非常欢迎业界的朋友与笔者共同探讨有关存储问题。