一些人猜测名为大型强子对撞机(LHC)的大质量粒子物理试验是否将发现亚原子粒子的秘密或未知的维度。其他一些人则担心这种试验是否意味着世界的终结。但是这个试验的存储管理者有着完全不同的问题。他们思考的是如何能够存储所有的数据。
“我们目前有大约1.08亿份文件,和14PB的数据”,该项目的开发负责人Sebastien Ponce说,“在2007年,我们还只有6000万份文件和7PB的数据”。而这项试验将一直持续到明年春天。
这个存储项目服务于欧洲核子研究中心(CERN)。它也被称为CASTOR——CERN高级存储管理器。
“CASTOR是一个软件,它处理所有来自LHC的数据”,Ponce说,“它的功能包括存储数据、将数据重新分配到一层数据中心并管理用户的数据访问权限。总而言之,CASTOR每秒钟要处理4到5GB的数据,高峰的时候每秒要处理10到12GB的数据”。
CASTOR采用了分级存储(HSM)架构,包括:
3个IBM TS3500磁带机,其中一个包含6个S24高密度帧,而其他两个则包含16个帧(最高支持数)。
带700GB容量的IBM TS 1120驱动器,以及带1TB容量的IBM TS 1130驱动器。
4个Sun StorageTek SL8500磁带机,其中3个各有1万个磁带槽,剩下1个有6000个磁带槽。
带500GB容量的StorageTek T10000A驱动器。测试中的容量达到1TB的StorageTek T10000B驱动器。
CASTOR的主要目的是处理CERN所进行的试验中所产生的物理数据,特别是LHC的数据。这些试验将很快产生大量的数据,每秒产生1GB的主数据。在明年以前,Ponce预计每年要存储大约15PB的数据。
CASTOR现在处于第二阶段。CASTOR 1和CASTOR 2的主要不同点在于CASTOR 2完全重写了磁盘池,从而提高了系统的可扩展性。
“CASTOR 1在磁盘池只能存储几十万份文件,而CASTOR 2可以轻易地处理几百万份文件”,Ponce说,“随着磁盘池的读写瓶颈消失,目前我们已经在许多天里都达到了10GB/秒的持续吞吐量”。
该系统的主要存储需求来自LHC和其他的粒子加速器。比如,Compass试验有4PB的数据存储在CASTOR,而其他的试验,如CMS和Atlas各有3.8PB和3.1PB的数据存储在CASTOR。这些数据包括来自加速器传感器的裸数据,以及经过重构和分析后的数据,以及将实际数据与现有理论加以对比的模拟数据。除了这些,CASTOR还可以让用户存储大型文件,比如用于备份的文件。但是这种数据只占了总数据的不到10%。
至于分级存储管理,CERN目前分成两个操作层。磁盘用于用户的数据访问,而后端的磁带则用于大容量存储。
“未来我们还将构建其他的存储层”,Ponce说,“我们可能会采用冷磁盘或闪存”。
CASTOR的组件
CASTOR包含如下组件:
Oracle数据库:Ponce称它是系统的核心,因为它承载了大部分的重要代码。
“我们的架构是以数据为中心的。我们拥有很高的容错性,可以在必要的时候复制所有的服务,而且系统中的任何一个节点的故障都不会给数据服务带来很大的影响”,Ponce说,“我们目前运行的是Oracle 10.2.0.3,而且正考虑未来采用Oracle 11”。
栈:这个部分处理磁盘池,包括数据到磁带的迁移,从磁带的数据读取,以及磁盘池的垃圾回收。它每秒可以处理几百个客户文件请求,并进行并行的处理,以便达到容错的效果。
命名服务器:它以类似UNIX的方式定义了CASTOR数据的全局名命名空间。它包括访问控制列表,以控制用户访问权限。为了容错和负载均衡,命名服务器在4个节点上并行地运行。
卷管理器(VMGR),卷和驱动器排队管理器(VDQM),远程磁带复制软件(RTCP):这些部件分别处理磁带请求的排队,驱动器请求的排队,以及数据到磁带的迁移和取回。
磁盘服务器:目前大约800个磁盘服务器(各有不同的硬件特点),提供大约8PB的磁盘池空间。磁盘服务器被组成不同的存储池,以便满足不同的用途的需要,或者限于特定用户组的使用。
磁带系统/磁带驱动器/磁带服务器:根据Ponce的说法,这是CASTOR的主存储。CASTOR之所以更倾向于磁带而不是磁盘,一方面是看重磁带的长期稳定性以及它在成本上的优势,但是更主要的还是因为这类系统具有长期的技术积累和使用经验(磁带的历史比起磁盘长了几十年)。
存储资源管理器(SRM):这是一个高层接口。海量存储专家们在经过国际合作后定义了这个接口,其目的是统一海量存储的数据访问(见《存储资源管理工作组》)。
Ponce说:“通过SRM,不同的海量存储解决方案之间能够进行互动,并且这些存储要素能够被整合成为一个网格”。
工作管理器:它负责对磁盘池的访问进行计划编制,以确保磁盘保持最高的性能状态和避免工作负荷过大。
Ponce说:“它还保证了磁带驱动器的最佳利用,确保磁盘在发送/接收数据的时候,磁带也准备好了读取/写入这些数据”。
CASTOR是免费的、开放源代码的软件。所有的软件包、源代码和文档都可以在http://castor.web.cern.ch/castor/上下载。