第二页
三、StorNext
StorNext FS是完全为SAN网络环境设计的文件系统,不依赖于任何现有操作系统中附带的、独立的、跨平台SAN文件系统。
StorNext FS是真正的64位文件系统,可以保证管理巨大的磁盘空间和文件数量,不同类型的主机可以同时以FC Direct I/O方式访问数据,中间不需要任何协议转换。因此,StorNext FS 可以充分利用和发挥SAN 体系结构的所有优点,完全摆脱现有文件系统产品的结构束缚,特别是在混合平台、大量主机并发工作环境中优势非常突出。采用日志型文件系统的设计保证系统的可靠性、健壮性和快速恢复能力。
StorNext FS直接通过TCP/IP协议传输Metadata,MDC采用优化算法处理Metadata,Metadata传输占用LAN带宽低,占用MDC主机资源少,可以支持大量主机并发访问,因此传输和处理效率非常高,可以满足大量主机在高负载环境下并行工作的要求。
StorNext FS具有自己的磁盘逻辑卷管理功能,可以优化组合SAN中的磁盘资源,并且可以对SAN网络链路进行多通道并发处理、保证带宽质量和实现负载均衡。加上StorNext SM 管理模块,可以管理多种磁带库和磁带介质具备多种SAN网络和磁盘优化功能,可充分发挥硬件性能,在高负载环境中数据处理性能突出。
StorNext FS的Metadata控制器可以在任何类型的主机(多达7 台)中进行切换,因此可以最大限度地保证系统的连续、可靠运行。
由于StorNext FS 是独立的文件系统,工作站以本地文件系统方式安装共享磁盘,共享磁盘直接显示为本地磁盘,可进行二次网络共享,所有应用软件都可以以本地磁盘和文件系统方式处理StorNext FS 中的数据。
具有原始集成的HSM数据归档、迁移、备份和容灾功能(StorNext Storage Manager),StorNext FS是符合XDSM数据管理标准的文件系统,具备内置的数据迁移、保护、容灾等管理模块 ?C StorNext Storage Manager 实现跨存储介质的、长期的数据存储和保护解决方案。
笔者注:
StorNext软件是目前最热门的存储共享管理软件,因此软件价格也居高不下,当网络规模较大时,可能StorNext软件的购置费用就会占用非常大的一部分成本。
StorNext设置参数较多,技术人员要求较高。听说朋友说StorNext的问题与SANergy相比并不少,且出了问题难以排查。
四、CXFS
CXFS是可扩展的日志性群集文件系统,具高可扩展性。单一文件大小可以达到九百万TB,文件系统可以达到1800万TB。动态分配算法使得一个文件系统可以存储数百万个文件而不浪费磁盘空间,单一目录管理百万个文件而不影响性能。
CXFS通过使用先进的XVM卷管理工具,一个磁盘卷可以有几千个磁盘构成,当现有磁盘卷容量不能满足用户需求时,可以在线增加新的磁盘,确保CXFS能满足日见增长的存储需要。
网络的速度、服务器的能力和协议本身都是NFS性能的障碍。NFS协议是同步操作,每一数据块请求都需要两次网络I/O;CXFS只通过网络请求少量的Metadata信息,大量的数据I/O是直接通过读写磁盘实现的。另外CXFS还可以在单一系统I/O路径使用多块FC卡增加I/O带宽。因为CXFS服务器只在数据传输之初将文件信息和文件控制权限赋予CXFS客户机,而不参与每一次的数据传输,所以CXFS服务器并不需要很大即可支持大量的客户机。
CXFS被设计成能自动识别并恢复单点失败,单点失败包括:主Metadata服务器失败、SAN失败、TCP/IP网络失败等。在CXFS配置中,一台主机是Metadata服务器,所有其他主机都可以设计成备份Metadata 服务器,一个备份服务器探测到主Metadata服务器失败后将自动变成主Metadata服务器。
笔者注:
据官方工程师讲,为了有效地利用CXFS文件系统,建议除了普通的以太网络和SAN网络之间,再建立一个“第三网”,该网络只负责CXFS管理服务器和客户端工作站之间的元数据信息和指今的管理和传输。
笔者曾在2004年测试过CXFS文件系统,测试网络采用双网结构,未建立所谓的第三网。测试发现以太网的流量会随CXFS文件系统使用时间的延续而不断增加,网络的效率也会不断降低,直至最终网络堵塞。先后共三个时间三个不同网络环境测试的结果相同。后听说官方就此问题进行了再次开发仍然未解决该问题。后来怎么样就不是很清楚了。
五、GPFS
通用并行文件系统 (General Parallel File System ?C GPFS)将所有的物理资源(包括服务器和磁盘阵列)都视为虚拟文件系统的对象,允许使用者共享分布在多个节点和多个磁盘上的文件。它允许并行的应用程序同时从GPFS 节点组(nodeset)中的任何节点访问相同或不同的文件(节点组 nodeset 被定义为一组运行相同版本GPFS的节点)。
一个GPFS文件系统可以横跨在群集内的所有主机上,分布在所有磁盘上。GPFS文件系统在读写文件时采用条带化技术,将数据分成条带并行写入到该GPFS下的所有NSD中。在有高速数据通道的GPFS配置下,读写文件时可以通过所有主机的光纤通道访问所有的磁盘。
GPFS文件系统的设计目标是使数据分布在一个集群中的所有节点上,允许应用程序通过标准的UNIX文件系统接口来访问数据。大多数的UNIX文件系统被设计在单一服务器环境下使用,在这一环境下, 增加文件服务器也不会提高特定的文件存取的性能。
GPFS通过将I/O分布在多个硬盘提高性能,通过日志和复制的方式提高数据的可靠性,通过增加节点和在节点之间由SP Switch互联提高系统的可扩展性。
通过将文件分布在多个节点和磁盘上,GPFS可以超越单一节点和单一文件系统的性能极限。文件系统能够跨越多个节点和多组磁盘,这些磁盘可以是使用 SSA 技术在HACMP群集里面直接地连接到每个节点上进行物理共享,也可以是由IBM的VSD(Virtual Shared Disk)和SP Switch技术使经过软件进行共享。
GPFS的系统资源可以动态调整,可以在文件系统挂载情况下添加或者删除硬盘。当处于相对空闲时,用户可以在已配置的硬盘上重新均衡文件系统以提高吞吐量。可以在不重新启动GPFS服务情况下添加新节点。
GPFS还通过用户端的数据缓存,大的文件页的支持 (16 kB- 1024 kB),文件预读和延迟写的功能等技术提高性能,其性能超过网络性文件系统 (NFS),分布式文件系统(DFS)和日志文件系统 (JFS)。与这些文件系统不同,GPFS文件系统可以通过在群集或SP系统中增加节点的方式提高性能。
GPFS是一种日志文件系统,为不同节点建立各自独立的日志。日志种记录Metadata的分布,一旦节点发生故障后,可以保证快速恢复数据。GPFS fail-over功能通过规划,将数据分布到不同failure group内达到高可用性,减少单点故障的影响。为了保证数据可用性,GPFS在多个failure group内为每个数据实例做备份,即使创建文件系统时没有要求复制,GPFS也会自动在不同的failure group内复制恢复日志。
除了已有的AIX管理文件系统的命令, GPFS还提供简化多节点管理的功能。一个GPFS多节点命令能作用于集群中所有的节点,并且可以从群集中的任何节点上操作。这些命令以现有的AIX文件系统命令为基础, 并进行了扩充。GPFS支持X/Open 4.0的文件系统标准,大多数的AIX和 UNIX操作系统的应用程序不需要修改,就可以访问GPFS文件系统上的数据。这些特性使得GPFS文件系统可以替代其他的UNIX文件系统。
笔者注:据朋友说,GPFS目前只能有IBM服务器和存储平台上正常运行,其它的平台运行效率不佳。未经证实,也不知道是否正确。
六、GFS
Global 文件系统(Global File System, GFS)是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。每一台linux主机都可以将网络共享磁盘看作是本地磁盘,且GFS也以本地文件系统的形式出现。
采用GFS的存储共享系统由一个master和大量的chunkserver构成。只要资源和可靠性允许,chunkserver和client可以运行在同一个机器上。
文件被分成固定大小的块。每个块由一个不变的、全局唯一的64位的chunk-handle标识,chunk-handle是在块创建时由 master分配的。ChunkServer将块当作Linux文件存储在本地磁盘并可以读和写由chunk-handle和位区间指定的数据。出于可靠性考虑,每一个块被复制到多个chunkserver上。默认情况下,保存3个副本,但这可以由用户指定。
Master维护文件系统所以的元数据(metadata),包括名字空间、访问控制信息、从文件到块的映射以及块的当前位置。它也控制系统范围的活动,如块租约(lease)管理,孤儿块的垃圾收集,chunkserver间的块迁移。Master定期通过HeartBeat消息与每一个 chunkserver通信,给chunkserver传递指令并收集它的状态。
与每个应用相联的GFS客户代码实现了文件系统的API并与master和chunkserver通信以代表应用程序读和写数据。客户与master的交换只限于对元数据(metadata)的操作,所有数据方面的通信都直接和chunkserver联系。
客户和chunkserver都不缓存文件数据。因为用户缓存的益处微乎其微,这是由于数据太多或工作集太大而无法缓存。不缓存数据简化了客户程序和整个系统,因为不必考虑缓存的一致性问题。但用户缓存元数据(metadata)。Chunkserver也不必缓存文件,因为块时作为本地文件存储的。
元数据(metadata):master存储了三种类型的metadata:文件的名字空间和块的名字空间,从文件到块的映射,块的副本的位置。所有的metadata都放在内存中。前两种类型的metadata通过向操作日志登记修改而保持不变,操作日志存储在master的本地磁盘并在几个远程机器上留有副本。使用日志使得我们可以很简单地、可靠地更新master的状态,即使在master崩溃的情况下也不会有不一致的问题。相反,mater在每次启动以及当有 chuankserver加入的时候询问每个chunkserver的所拥有的块的情况。
以上所论述的都是目前常用的SAN网络存储共享管理软件,实际上还有一些不常用或新开发的存储共享管理软件,如SANFS。国内广电行业两大集成商也在开发自己的存储共享管理软件,目前第一个版本正准备在一个大规模网络系统中进行测试。我期待其有良好的测试结果。
网友评论