讲述集群存储技术与共享存储

Linux集群计算已经改变了高性能计算领域的组成结构:低价的Linux集群系统正在取代那些昂贵的、传统意义上的超级计算机,开始被应用于解决那些更富挑战性的高性能计算问题。

为了充分发挥Linux集群系统的潜在性能,我们需要一种新的存储机制,基于对象的集群存储技术应运而生。基于对象的集群存储技术是一种新存储系统的基础,无论是在存储容量还是在存取性能方面,它都有着良好的可扩展性。这些使得该技术可以满足功能强大的Linux集群系统对存储方面的需求。

近年来,在科学研究和工程计算等领域,高性能集群计算技术的卓越成就大家有目共睹。高性能集群技术已逐渐占据了高性能计算的主导地位,这一点从2003 年11月公布的世界高性能计算机排行榜中体现无疑。在该排行榜前500台的超级计算机里,有208台采用了集群系统,集群系统已是当前高性能计算机最流行的体系结构。

现在,这种流行趋势正由科学工程计算领域向商用领域蔓延。地质学家们正致力于研究更强大的地震分析技术,以获取地球结构更精细的图片,从而用来指导油田的钻探和开发;制药公司正在海量的基因库中努力寻求对人类疾病更深入的理解和认识,从而可以开发出更有效的药物或治疗方法; 而我们熟知的一些门户网站,如Yahoo和Google,则需要对因特网上浩如烟海的数据进行检索和分类,从而提供给世界各地的人们使用。所有这些领域,都成为Linux集群计算系统大显身手的地方。同时,不得不看到,Linux集群计算的广泛应用也带来了新的挑战。以上介绍集群存储技术。

对共享存储性能的需求不断增长

除了对高性能计算方面的需求外,上述各商业应用还有着一个共同的特点:它们都需要高性能的I/O支持。确保集群系统得到高效使用的必备条件是,它可以对 TB(1TB=1000GB,1GB=1000MB)量级的共享数据进行快速访问。没有这一点,集群系统的性能将会大幅降低。为了简化应用系统的开发和维护,这些共享数据必须对计算集群上的所有进程都可用。随着集群系统的规模越来越大、节点越来越多,为实现各个节点对共享数据的高效访问,对存储系统的要求也越来越高,传统的、基于网络的存储系统已经不能提供满足这种共享访问所必需的性能。

例如,在动画生成应用中(这方面最早和最有名的例子是电影《泰坦尼克号》的特效生成,它使用了一个包含160个节点的Linux集群系统),需要将场景生成任务分发到上百个计算节点上,其中每个节点负责生成最终场景中一个单独的部分。共享的场景和人物信息,以及每一帧的渲染指令必须能够为每一个参与计算的节点所访问,而每个节点计算一帧会产生大约 50MB的输出。最后各个单独的帧依次组合,得到完整的一幅画面。这样的流程是许多集群计算应用过程中常见的数据访问情形。