APP下载

基于SNFS的高性能数据共享系统研究

2014-09-29维a张舟斌a良a李春来a

计算机工程 2014年7期
关键词:异构客户端服务器

左 维a,b,张舟斌a,b,耿 良a,b,李春来a,b

(中国科学院 a.国家天文台;b.月球与深空探测重点实验室,北京 100012)

1 概述

嫦娥三号(CE-3)任务是我国探月工程二期的关键任务,突破了月球软着陆、月面巡视勘察、月面生存、深空测控通信与遥操作、运载火箭直接进入地月转移轨道等关键技术,实现中国首次对地外天体的直接探测。

基于嫦娥一号(CE-1)和嫦娥二号(CE-2)任务,地面应用系统建立了一套集通信、网络、计算、存储和备份为一体的计算机业务运行环境系统,为地面应用系统圆满完成探月工程项目中承担的卫星有效载荷在轨业务运行管理、探测数据的接收、探测数据的存储与管理、探测数据的分析与处理、以及探测数据的应用与研究等工程任务提供了坚实的基础支持。由于CE-3任务的特殊性,地面应用系统的计算机业务运行环境系统需要在CE-2任务的基础上进行适应性的改造。其中,更换原有文件共享系统实现高速数据异构共享访问是一项重要的改造内容[1]。地面应用系统的数据应用特点主要表现为数据量大、异构共享、高性能低延时访问等,如何有效研究高性能共享文件系统实现数据基于异构平台的高速读写访问、提高数据的读写性能、降低数据读写的延迟时间是本文的主要研究方向[2]。本文针对探月工程地面系统的应用需求,建立了一个基于SNFS的异构平台高性能数据共享系统。

2 系统的需求

地面应用系统是嫦娥卫星探测数据的接收、处理、归档、管理、分发和应用研究中心,其计算机业务运行环境系统采用分布式体系结构,部署于北京总部、密云地面站和昆明地面站三地,系统采用高性能企业级UNIX服务器构建双机高可用集群系统,并利用动态逻辑分区技术将物理服务器划分成运行管理、遥科学探测、数据预处理和数据管理等对等业务逻辑分区,实现负载均衡调度,同时建立基于SAN(Storage Area Network)架构的数据存储系统,以满足系统对海量数据的高速存取要求[3]。此外,地面应用系统还在总部与密云地面站之间采用基于存储系统的数据复制技术,建设了容灾备份系统,其系统架构如图1所示[4]。

图1 地面应用系统的网络拓扑结构

在CE-1和CE-2任务中,地面应用系统建立了基于通用并行文件系统(General Parallel File System,GPFS)的数据共享系统。CE-3任务中由于增加了对月表进行就位和巡视探测等新的工程任务,使地面应用系统的业务流程变得复杂,对数据存储系统提出了新的要求,原有系统已经无法支撑多个业务系统之间异构环境下的高速数据交换与共享需求。因此,在CE-3任务中实现多个业务系统在AIX、Linux以及Windows7(32位、64位)等异构环境下高速、安全的海量数据共享访问是地面应用系统建立高性能数据共享系统的首要目标,同时也是地面应用系统保障完成工程任务需要解决的基本关键技术问题之一。经过调研与测试,确立了基于昆腾公司的StorNext File System(SNFS)建立嫦娥三号任务地面应用系统高性能数据共享系统的解决方案。

3 SNFS简介

3.1 SNFS的历史与现状

SNFS是昆腾公司的一个软件产品,最初的名称为CVFS(Central Vision File System),是MGISC(MountainGate Imaging Systems Corporation)的产品,只用在Windows和IRIX之间的文件共享交换。后来被ADIC(Advanced Digital Information Corporation)收购并更名为Stornext File System,还加入了Solaris、Linux、Mac等更多的操作系统支持,在此期间引入国内,并在石油、广电、卫星等行业得到了广泛的应用。2006年8月昆腾收购了ADIC获得了SNFS。

2012年8月15日,昆腾公司宣布推出StorNext 4.3软件,它带来智能化大数据管理,并提供更高的性能以及更大规模。这款最新一代的StorNext®软件采纳一个新数据库,并最高支持10亿份文件和数十PB的分层存储,延伸了文件系统和归档性能的界限,其专有的分布式LAN客户端技术比传统NFS或CIFS协议的运行速度快50%以上。同时增加了一些诸如归档摄取、活跃仓储和基于项目的容量管理等新的独特功能,进一步加强了大量非结构化数据中的卷、速率和多样性的管理[5]。

3.2 SNFS的应用

SNFS最初主要应用在情报和石油天然气勘探等进行大规模数据收集的美国政府机构和公司,随着媒体等行业渐渐转变为采用以数字为主的创意流程,SNFS得以被广泛应用。StorNext在该领域的领先地位体现在其广泛的应用群上,其中包括:全球最大的广播公司,全美四大电视广播网络,四大美国有线电视网中的三家,全球三大电影制片厂中的两家,领先的后期制作、视频编辑和数字内容制作公司。DG公司和GeoEye公司使用昆腾的StorNext数据管理软件来更快地把产品投向市场[6]。2012年10月,昆腾公司宣布已售出超过70000张StorNext®文件系统许可。

StorNext在中国的广电、石油、航天等领域都得到了很好的应用。在中国有16家电视台采用StorNext;在石油天然气行业,StorNext逐步成为主导的数据管理软件,如大庆油田、新疆油田、吐哈油田、塔里木油田、长庆油田、青海油田等油田、研究院广泛使用。同时,StorNext在航天领域为风云2号、嫦娥3号、测绘、减灾、遥感、环保等卫星应用提供了技术支撑。

3.3 SNFS的发展趋势

StorNext在大文件的处理上有着明显的优势,未来会有更多的变化在小文件(小于1 MB)管理上进行更新,同时优化数据检索的性能[7],主要包括:(1)提供丰富的数据结构类型、快速可压缩的二进制数据格式、存储持久性数据的文件集、远程调用RPC的功能和简单的动态语言集成功能;(2)使数据的读和写在模式之下完成,减少写入数据的开销,同时方便动态脚本语言的使用;(3)优化客户端和服务端通过握手协议进行模式的交换,解决不同模式下的相同命名字段、丢失字段和附加字段等信息的一致性问题;(4)放宽可移植操作系统接口(Portable Operating System Interface of Unix,POSIX)的要求,实现以流的形式访问文件系统中的数据;(5)优化一致性模型,解决数据一致性和高吞吐量的数据访问问题;(6)优化任务粒度、数据分割和数据合并等工作流程与方法,提高系统运行效率。

另外,StorNext未来在数据库上也会进行改变,如使用NoSQL分布式数据库。同时在支持云应用方面也会有较大的发展,为搭建云计算环境中的设备提供基本的服务,并为该平台上的软件开发提供所需的API。应用新的技术使StorNext环境中能无缝共享端到端工作流程内的内容,提供无缝的大数据采集和内容归档,以更快的速度将内容在工作平台与归档存储之间实现数据的迁移管理[8]。

4 系统的解决方案

4.1 总体架构

本文系统的总体架构如图2所示。

图2 数据共享系统总体架构

CE-3地面应用系统北京总部的内网核心业务系统是处理、存储、管理和分析嫦娥科学探测数据的核心场所,内网核心业务系统所建立的数据共享系统根据业务等级和性能需求的不同分别在SAN和LAN(Local Area Network)的基础上进行构建。其中,21个基于AIX操作系统的关键任务系统、6台基于RedHat Linux的数据处理工作站、28台基于Windows的图形渲染工作站作为SAN客户端;以及20台基于Linux和Windows的用于数据处理分析的工作站作为DLC(Distributed LAN Client)客户端。为了使基于LAN的客户端能够访问存储于SAN之中的数据,将2台Windows PC服务器配置为数据共享系统的SAN客户端,同时以集群的方式作为网关服务器,为其他通过LAN访问数据共享系统的客户端提供数据访问通道。

在系统架构中,SNFS主要由元数据控制服务器、SAN客户端、DLC客户端与网关服务器等关键部件组成。

(1)元数据控制服务器(Mata Data Controller,MDC):简称元数据服务器,MDC用于管理文件系统中存储文件的基本属性信息,包括文件名称、文件的存取时间、文件在共享存储设备中的存储位置等信息[9]。在实施过程中利用2台基于Linux的工作站建立了分离的元数据服务器,用来管理和维护文件系统的元数据信息,并为大容量数据访问环境提供优化的性能。同时,成对的元数据服务器可以通过一主一备的方式实现故障切换机制,主服务器故障会激活一系列的事件来让备用服务器接管元数据服务职能,而这种切换过程对于具有数据访问需求的客户端来说是完全透明的,从而提高了系统的可靠性,确保业务的持续性。

(2)SAN客户端:SAN客户端使用高效的光纤通道协议进行数据传输,其最大传输单元可达64个数据帧之多,这大大减少了校验数据所需的CPU周期,并提高了数据传输效率。其中大部分功能都是基于硬件实现的,无需对数据进行额外的处理,从而大幅减少主机的处理开销。此外,还支持SAN客户端采用多路径冗余或负载均衡等功能,使SAN客户端获得非常高的带宽和极稳定的性能[10]。

(3)DLC客户端与网关服务器:StorNext的DLC客户端数据共享解决方案是其基于SAN的数据共享解决方案的一个重要补充,它能让需要断续访问或部分访问共享数据储存库的应用程序以更低的成本连接数据共享系统[11]。在系统中,多个网关服务器可作为服务器集群同时为所有的计算节点使用,提供了高速、并发的数据访问支持,以及网络数据访问链路的冗余和负载均衡。

4.2 异构平台的数据共享

在CE-3任务中,要求实现异构平台的数据共享,主要体现在主机、网络接口和存储设备等3个方面:(1)要求能够支持异构平台主机(AIX、Windows和Linux等)的高速共享存储;(2)要求支持多种网络接口(高速低延迟的FC接口和高性能的以太网DLC接口),主机可以按照性能需求自由选择;(3)支持多种品牌和类型的存储设备(磁盘阵列、磁带设备和网络附加存储等)。以SNFS搭建的数据共享系统很好地解决了这三方面的问题,实现了异构平台下的数据动态共享,同时为系统未来升级改造提供了更为广泛的选择。

StorNext通过多种机制确保异构环境下数据的稳定性、可靠性与安全性[12],主要包括:

(1)令牌机制:为了确保共享文件数据的一致性,元数据服务器和异构文件系统主机之间采用基于令牌的消息传递系统。SAN主机发出获取文件信息的请求后,会从元数据服务器得到一个“信息”令牌。这个令牌包含着文件元数据和该文件第一个数据块的数据。主机可以不用再发送请求而连续使用这个令牌,直到服务器发出一个令牌“回叫”命令。元数据服务器使用回叫机制来同步缓存,以便保证当共享文件被一个主机改动后,数据的一致性不被破坏。此外,文件系统还使用“打开”令牌来跟踪哪一个主机正在使用某个特定文件,使用“数据”令牌指示数据存放在哪个物理存储池当中。通过跟踪系统拥有什么类型的令牌,元数据服务器可以维护文件系统命名空间和元数据的一致性。

(2)锁:在一般情况下,StorNext采用POSIX锁,大多数POSIX锁操作可以映射到Windows环境,以便保证垮平台操作的一致性。当应用将数据写入一个共享文件时,元数据服务器对这个文件的锁进行仲裁和跟踪,以防止其他访问这个文件的应用更改该文件的同一部分。

(3)安全描述符:UNIX文件服务器传统上采用主机配置文件或网络信息服务来实现文件访问授权,并采用用户、组和全局3个授权层次。而Windows则采用Windows安全参考模型,将安全标识指定给用户并且使用访问控制列表来控制对对象的访问权限。StorNext对以上2种授权模式都提供了支持,它使用安全描述符作为文件对象的属性,该属性结合了2种模型的属性,并且自动地将它们一一对应起来:对于UNIX主机,它与网络信息服务模型配合工作;对于Windows主机,它支持Windows安全模式,从而保证基于Windows的应用可以不用修改就能正常运行。

(4)限额:限额机制用来限制某些用户、组或特定目录使用文件系统的空间。一旦一个用户或组达到了空间使用的最大限额,对该用户或组来看,文件系统已经没有存储空间了,只能寻求系统管理人员的帮助。目录空间限额可针对工作组或特定应用实现,允许不同用户存储数据到配置限额的目录,当达到限定的空间时,目录中就不再允许写入数据。限额对于采用策略进行空间分配非常有用。

(5)日志:StorNext是一个日志型文件系统,它跟踪所有文件系统结构改变的信息,并把它们记录在一个日志当中。对于共享文件系统,日志提供了一个有用的、基于交易模式的机制,以保证在出现意外时系统的一致性。

4.3 数据共享的性能实现

在CE-3任务中,多业务系统的协同处理、各应用之间频繁而大量的数据交换,都对数据共享系统提出了严苛的性能要求,尤其是遥科学探测分系统大量的基于Windows和Linux的业务应用需要高速的数据吞吐和数据交换能力。基于StorNext的文件共享通过将Windows和Linux主机服务器作为SAN客户端或DLC客户端,实现了Windows和Linux主机服务器的高速访问,主要通过以下3种技术手段为性能提供了保障[13-15]:

(1)条带化:为提高I/O性能,通过在普通磁盘阵列上创建条带化卷组,实现在多个物理设备上交叉存储数据,且可以跨越多个磁盘控制器或光纤适配器。采用条带化处理大规模、顺序读写的I/O操作可以通过并行数据传输将单独设备的性能聚集起来,非常适合于CE-3任务的I/O流特点。

(2)服务质量(QoS):为了确保核心的业务应用能够得到最优的I/O带宽,分析了各个系统和应用对带宽预留的需求,并根据业务等级和关键性对那些实时和关键的应用实施了QoS设置,以在I/O操作高峰期时阻止其他文件系统主机访问数据,从而为关键业务应用提供了性能保证,避免了应用软件由于I/O竞争而造成任务流程的阻塞。

(3)缓冲和直接输入/输出:缓冲I/O方式可以提高那些经常重新使用某特定数据的应用的性能,而直接I/O方式对于大量数据的传输效果更好,因为这样能够消除文件系统对内存分配的需求。StorNext可以根据应用的读写模式和当前缓冲的利用率决定什么时候系统缓存可以增强单独的写操作。在系统实施过程中,根据CE-3任务的数据类型和特点,灵活地选择缓冲或直接I/O模式,最大限度地提高不同业务系统的数据读写性能。

5 测试与结果分析

分别在CE-1、CE-2和CE-3的数据共享系统实施过程中,对系统进行性能测试。为了尽可能模拟真实业务流程下的数据读写能力,在对系统进行常规的读写性能测试外,还根据任务执行过程中的数据流特点,着重进行了多主机并发访问下的数据读写性能测试。

在嫦娥一号任务中,测试环境包括1台磁盘阵列(EMC CX700)、2台光纤交换机(EMC DS4700M2)和2台UNIX服务器(IBM P5-570)。2台UNIX服务器采用双机高可用方式,每台UNIX服务器分为3个分区,共有6个主机,主机操作系统为AIX5.3/HACMP5.2,共享文件系统为GPFS。在6台主机上同时执行命令:#time dd if=/dev/zero bs=1m of=./test1 count=2000和#time dd if=/dev/zero bs=1m of=./test 2 count=2000,读写数据文件大小为2 GB,共执行3次。

在嫦娥二号任务中,测试环境包括2台磁盘阵列(EMC CX700和EMC CX4-480)、2台光纤交换机(EMC DS5100 B)、2台UNIX服务器(IBM P6-570)和6台工作站(HP Z800)。其中,2台UNIX服务器采用双机高可用方式,每台UNIX服务器分为5个分区,共有10个主机,主机操作系统为AI X6.1/HACMP5.5,工作站的操作系统为RedHat 5.2,共享文件系统为GPFS 3.3。在10台主机和6台Linux工作站上同时执行命令:#time dd if=/dev/zero bs=1m of=./test1 count=20000和#time dd if=/dev/zero bs=1m of=./test2 count=20000,读写数据文件大小为20 GB,共执行3次。

在嫦娥三号任务中,测试环境包括1台磁盘阵列(EMC CX4-480)、2台光纤交换机(EMC DS5700B)和2台UNIX服务器(IBM P6-570)。其中,2台UNIX服务器采用双机高可用方式,每台UNIX服务器分为5个分区,共有10个主机,主机操作系统为AIX6.1/HACMP5.5,共享文件系统为StorN extFS 4.2.2。在10台主机上对多个不同大小的文件分别进行同时读写:#iozone-w-I-t 5-i 0-s 5000M-r 1M和#iozone-w-I-t 5-i 1-s 5000M-r 1M,文件大小参数视主机而定,读写数据文件大小为20 GB,共执行3次。

由于这3个任务的数据共享系统是在不同时期建立的,时间跨度较大(2006年-2012年),因此测试所依存的系统环境以及所采用的方法存在着一定的差异性,但考虑到业务的同向性,这种差异并不妨碍本文对数据共享系统的读写性能做出判断和分析[16]。3个不同阶段数据共享系统的性能测试结果如图3~图8所示。

图3 CE-1任务共享文件系统写性能的测试结果

图4 CE-1任务共享文件系统读性能的测试结果

图5 CE-2任务共享文件系统写性能的测试结果

图6 CE-2任务共享文件系统读性能的测试结果

图7 CE-3任务共享文件系统写性能的测试结果

图8 CE-3任务共享文件系统读性能的测试结果

3个阶段的总体性能测试结果如表1所示,将所有参加并发读写测试服务器的读速度和写速度进行累加,得到总速度作为I/O性能指标来衡量数据共享系统的整体性能表现。从测试结果看,由于CE-2数据共享系统在测试过程中采用16台服务器对2台磁盘阵列进行并发读写访问,相比于CE-3采用10台服务器对1台磁盘阵列进行并发读写访问,性能明显优异,但若扣除由于磁盘阵列和读写服务器数量较多所带来的性能优势,同时考虑图3中CE-2任务中写性能可能由于缓存的影响而给部分服务器带来的性能上的突升,认为CE-3基于SNFS建立的数据共享系统在整体性能得到了稳步提升。在实际使用过程中,CE-3任务所建立的数据共享系统表现了较为出色的异构环境下的数据共享能力,满足支持更复杂、更苛刻数据共享和处理的应用要求。

表1 数据共享系统性能测试结果(MB·s-1)

6 结束语

随着月球探测工程的不断深入、各类应用的不断增多以及探测数据量的不断累积,对系统的计算机应用架构提出了更高的要求。实现多种异构平台下的数据共享以及海量数据的高性能低延时读写访问,是一个较为复杂的问题,采用本文技术方案可以有效地解决深空探测任务中基于大数据的多种异构平台数据共享和高效访问问题。在实际应用中,该方案与研究成果也得到了很好的验证,系统性能稳定满足工程要求。由于CE-3任务的业务流程高度复杂以及后续深空探测任务的需求多变,因此针对具体业务的特点对系统进行精细化的调整和优化是后续的工作重点。

[1]月球与深空探测研究部.探月工程二期地面应用系统嫦娥三号任务总部计算机系统改造方案[R].北京:中国科学院国家天文台,技术报告:CE-3-DMS-FASJ-001,2011.

[2]郭 洁.近线存储异构播出平台的研究与实现[D].广州:华南理工大学,2011.

[3]Butler G,Lee R,Welcome M.GUPFS:The Global Unified Parallel File System Project at NERSC[R].Berkeley,USA:National Energy Research Scientific Computing Center Lawrence Berkeley National Laboratory,Tech.Rep.:MSST2004-41,2004.

[4]月球与深空探测研究部.探月工程二期地面应用系统嫦娥三号任务总部计算机系统集成实施方案与计划[R].北京:中国科学院国家天文台,技术报告:CE-3-GRAS-YSWJ-001,2012.

[5]Quantum Corp..StorNext Technical Product Brief[EB/OL].(2011-02-01).http://salestools.quantum.com/getDocERetriever.cfm?filename=%2A%2BRC%5CT%5E%40%3AX4%3A2GP%20%20%0A&loc=2&ext=.pdf&type_mime=undefined.

[6]Quantum Corp..Faster Processing Helps Digital Globe at GoogleEarth[EB/OL].(2006-02-01).http://www.quantum.com/iqdoc/doc.aspx?id=5333.

[7]Perry R,Nadkami A.展示StorNext的商业价值[EB/OL].(2012-08-01).http://www.quantum.com/cn/products/software/stornext/index.aspx.

[8]刘 杰.昆腾大数据:磁带重生磁盘主导[EB/OL].(2013-06-03). http://stor-age.zdnet.com.cn/stor-age/2013/0603/2162361.shtml.

[9]Quantum Corp..Extended Data Life Management:Protecting Data over Long Periods of Time[EB/OL].(2011-11-01).http://www.quantum.com/products/bigdatamanagement/storne xtael/index.aspx.

[10]Shu Jiwu,Li Bigang,Zheng Weimin.Design and Implementation of an SAN System Based on the Fiber Channel Protocol[J].IEEE Transactions on Computers,2005,54(4):439-448.

[11]Quantum Corp..StorNext 4.0 Technical Product Brief[EB/OL].(2011-02-01).http://www.dscon.ru/quantumdocs/quantum_stor next_4.pdf.

[12]张雪冰,张延园.SAN异构存储共享系统实现技术研究[J].计算机工程,2006,32(3):105-107.

[13]Villars R L,Regula B.Quantum StorNext:High-performance Scale-out File System Solution Large Data Types[R].San Jose,USA:Quantum Corp.,Tech.Rep.:IDC#230916,2011.

[14]Quantum Corp..A Fast File System Just Keeps on Getting Faster[R].San Jose,USA:Quantum Corp.,Tech.Rep.:PB00039A-v01,2011.

[15]Palmer T,Garrett B.Quantum StorNext 3.0 High Performance Workflow and Digital Archiving,A Validation Study by ESG Lab[EB/OL].(2007-05-01).http://www.esg-global.com/default/?LinkServID=E421EBBC-DAF6-3D47-D36CB76B4C108113.

[16]杨 进,魏轶伟,贾惠波,等.存储区域网的性能测试[J].计算机工程,2003,29(16):43-44.

猜你喜欢

异构客户端服务器
试论同课异构之“同”与“异”
通信控制服务器(CCS)维护终端的设计与实现
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
异构醇醚在超浓缩洗衣液中的应用探索
中国服务器市场份额出炉
得形忘意的服务器标准
overlay SDN实现异构兼容的关键技术
计算机网络安全服务器入侵与防御