版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2009年第5期福建电脑基于虚拟化技术的Rocks高性能集群的建立与应用周铁成(浙江水利水电专科学校网络中心浙江杭州310018【摘要】:集群是目前高性能计算机系统主要的解决方案。随着集群规模的扩大,也出现了不易安装与管理、故障率高、缺乏方便的并行程序开发调试环境等问题。本文在集群安装软件包Rocks的基础上,结合Xen虚拟化技术构建了一个高性能虚拟集群,从而简化了集群的组建与管理,并提高了系统可靠性与容错性能及并行程序开发效率。【关键词】:高性能集群;虚拟化技术;Rocks0、引言在现有的高性能计算机体系结构中,集群因其拥有极强的灵活性和可扩展性,同时在建造成本上更具优势,已逐渐占主导地位。
2、集群是一组相互独立、通过高速网络互联的计算机,并以单一系统的模式加以管理12。以往,面对大规模的集群,软件的安装、维护与监控都很困难,Rocks集群软件整合了高性能计算集群的安装、管理,使普通用户也能建立和管理集群。高性能计算随着发展也面临着不少问题,如1高性能计算应用日益多样化造成体系结构的异构化,在一个高性能计算系统中会出现不同类型CPU,给建立统一的编程模型带来困难。2高性能计算程序与运算环境的规模相关,不同规模环境的运行效果相差很大,如通信的开销。小规模下开发的程序在大规模环境下有可能无法运行,并行程序的规模移植要花费大量时间,并行程序开发效率不高。3高性能计算应用对软件环境的复杂需求
3、,因对不同应用作了不同的优化配置,不同应用的切换运行也需要管理员切换相应的环境。虚拟化技术是解决这些问题很好的途径。在Rocks的基础上,结合Xen虚拟化技术来构建高性能虚拟集群,即可以快速地部署与简便管理大规模的集群,又可以应用虚拟化技术来解决高性能计算发展遇到的问题。1、Rocks与Xen的功能介绍1.1RocksRocks是一组用来创建和管理高性能计算集群的工具包,基于CentOS Linux,包含了用于高性能计算的许多开源工具软件,如作业调度SGE、集群监控ganglia等,Rocks的特点是软件包以称为Roll的形式组织,如HPC Roll、SGE Roll等等3,Roll除了Roc
4、ks已提供的外,也可以用户自已创建Roll。这样用户安装时除了基本的软件包外通过加入不同的Roll,来定制自已的集群。Rocks集群通过Red Hat kickstart来进行大规模的节点自动安装,kickstart脚本文件描述了集群节点安装所需的软件及软件配置。Rocks通过Kickstart图结构来生成计算节点自动安装所需的kickstart脚本文件,Kickstart图由结点及边组成,结点和边使用XML来描述。图中的结点代表单一的功能模块和对应的kickstart脚本片断,Rocks现在有将近200种结点可以选择。边来连接结点,在图中穿过结点生成完整的kickstart脚本文件。Rock
5、s采用这种方式可以灵活地生成kickstart脚本文件,适应不同类型集群结点的安装。节点的地址、类型信息、集群配置信息都存储在MySQL数据库中,Rocks生成kickstart脚本文件时,也会读取数据库中的相关信息。1.2Xen虚拟化技术虚拟化技术使得一台物理机可以同时运行多个不同操作系统的虚拟机,虚拟机共享物理机的资源。虚拟化技术在服务器领域内应用越来越广泛,可以提高资源利用率,降低建设与运行成本,简化管理,并实现数据快速恢复等等。目前,虚拟化技术在高性能计算领域的应用还不多,主要原因是,高性能计算对性能有苛刻的要求,虚拟化会带来些性能的损失。随着以Xen为代表的半虚拟化技术的发展,虚拟机
6、性能得到了很大的提升,加州大学的研究人员经过测试证明Xen应用于高性能计算,并不会导致严重的额外系统开销4。虚拟化技术与高性能计算结合会越来越紧密,虚拟化技术为高性能计算领域的诸多困难提供了新的解决方法。Xen是由剑桥大学开发的开源系统级虚拟化软件,对CPU、内存以及I/O设备的虚拟都采用了半虚拟化技术,Hypervisor(虚拟机管理器直接运行在硬件平台上,使用硬件接口,完成资源虚拟化和虚拟机管理,客户操作系统运行在Hypervisor之上,使用Hypervisor提供的指令集和设备接口,使客户操作系统能获得接近直接在裸机上运行的性能,但Xen需要少量修改客户端操作系统内核与Hypervis
7、or协同工作。2、基于Xen虚拟机的Rocks集群的安装Rocks把集群的节点分为两类:前端节点与计算节点。前端节点是外界访问集群的入口及管理节点,运行集群的各种服务(NFS,NIS,DHCP,NTP,MySQL,用户通过登录前端节点进行递交作业,编译程序代码等等。前端节点须有两块网卡,一块与外界通讯,一块与计算节点通讯,组成集群内部私有网络。计算节点负责计算任务的运行。Rocks集群结构如图1所示。图1Rocks系统结构基于Xen虚拟机的Rocks集群,有两种类型,一是前端节点仍然运行在物理机上,而计算节点运行在虚拟机上,这样在一台物理机上可以安装多个计算节点,与原来的物理集群相比,计算节点
8、数量更灵活。第二种类型是前端节点与计算机节点都运行在Xen虚拟机上,构成虚拟集群,一个物理集群可以分解为多个虚拟集群,运行不同的计算任务。安装基于Xen虚拟机的Rocks集群,我们需下载Rocks相应的安装包,包括Kernel/Boot Roll、Core Roll、OS Roll-disk1、OS Roll-disk2,其中Core Roll包含Area51(系统安全相关的工具、HPC(高性能计算及测试软件、Ganglia(集群监控软件、SGE (作业调度软件、Java(Java SDK及Xen(Xen虚拟化软件。我们以前端节点在物理机上,计算节点在虚拟机上的集群为例,安装步骤如下:安装前端
9、节点:1用Kernel/Boot光盘引导服务器,出现选择安装前端节点与计算节点界面时,输入build,进行前端节点的安装;2在Roll选择界面,依次选定所需的功能包,Xen必须选择,以使Rocks增加虚拟化支持;3填写集群相关信息,如集群名、域名等 ;1112009年第5期福建电脑4设置前端节点内外网卡的IP地址、网关、域名服务器等;5磁盘分区设置后,开始安装系统。安装计算节点:计算节点运行在Xen虚拟机上,安装虚拟节点的物理节点需加入Xen虚拟化支持,这样的物理节点称为VM Container。1在前端节点终端上输入insert-ethers命令,命令界面如图2所示,选择VM Contain
10、er。前端节点启动侦测程序,等待子节点发送DHCP请求。图2insert-ethers命令界面2用Kernel/Boot光盘引导启动物理节点服务器,物理节点服务器向前端节点发出DHCP请求,请求IP地址与自动安装所需的kickstart文件URL。前端节点收到DHCP请求后,分配IP 地址和主机名(默认格式为vm-container-0-x给物理节点,并将相关信息写入数据库,同时发送kickstart URL。3物理节点根据kickstart脚本文件,从前端节点获取相应的安装文件,自动安装。4物理节点安装完后,回到前端节点终端,通过Rocks相关命令来添加、安装虚拟计算节点。5添加一个虚拟计算
11、节点:rocks add host vm vm-container-0-x membership="Compute",执行后,将虚拟计算节点的信息写入数据库,并分配MAC地址给虚拟节点。6安装虚拟计算节点:rocks start host vm compute-0-1-0 install=yes,这样,主机名为"compute-0-1-0"虚拟计算节点开始安装,用户可以执行rocks-console compute-0-1-0命令来监控安装过程。根据物理节点的硬件资源,按以上的方法添加任意的虚拟计算节点5。3、Rocks虚拟集群的管理图3Virtual
12、Machine Manager界面Rocks集群引入虚拟节点后,须对虚拟节点进行有效管理,如调整虚拟机的硬件资源,监控虚拟机资源情况等等。Rocks自带的Red Hat Virtual Machine Manager(VMM提供了虚拟机管理图形化视图。在前端节点运行VMM后,再连接到各个VM Container,统一管理集群所有的虚拟节点。VMM界面如图3所示。Rocks对整个集群的管理监控通过Ganglia实现,Ganglia是一个分布式的监控工具,实现集群节点的资源监控。Ganglia提供Web界面可以看到每个节点的状态,包括CPU、磁盘利用率,以及节点是否在线等等。结合Ganglia,在
13、虚拟集群中,可以快速进行负载均衡,可以将负载较重物理机上的虚拟节点迁移到负载较轻的物理机上。4、Rocks虚拟集群的应用4.1系统容错MPI是Rocks集群最通用的编程环境,但其运行环境经常会因为节点的故障而出现错误,传统的容错是采取响应策略从错误中恢复过来,通常依赖于检查点的保存与恢复机制6。在Rocks集群引入Xen虚拟化后,可以提高容错性能。虚拟计算节点运行在Xen的虚拟机管理器上,当虚拟机管理器监测到一个虚拟计算节点出现故障时,可以重启虚拟计算节点或者新建一个新的虚拟计算节点代替,这样,故障就被自动修复。4.2构建虚拟开发环境高性能计算程序和运算环境的规模相关,在大规模环境中的运行效果
14、和小规模的运行效果可能相差很大,并行程序的规模移植要花费大量的时间。在Rocks虚拟集群中,一个物理节点上可以构建大量的虚拟计算节点,就能为大规模的高性能计算提供虚拟环境,还能为MPI编程环境定制专门的配置。这大大提高了高性能计算程序的开发效率。4.3快速部署系统软件不同的高性能计算应用可能需要配置不同的操作系统与系统软件,在物理集群中,都需要一一部署,完成部署后还需要重启整个系统。而在Rocks虚拟集群中,可以将操作系统、高性能计算应用和系统软件打包成Virtual Appliance(虚拟机映像,将新的Virtual Appliance通过网络部署到节点上,然后重启节点,就完成了高性能计算
15、应用及相关系统软件的快速部署。5、结束语本文利用Rocks与Xen虚拟化技术构建的高性能虚拟集群,即方便了用户的使用与管理,又在系统容错、高性能应用环境切换、并行程序开发效率等方面优于物理集群。随着虚拟化技术在高性能计算领域研究与应用的不断深入,虚拟化技术与高性能计算将结合得越来越紧密。参考文献:1.王鹏,吕爽,聂治,等.并行计算应用及实战M.北京:电子工业出版社,2007.2.车静光.微机集群组建、优化和管理M.北京:机械工业出版社,2004.3.Papadopoulos P M,Katz M J,Bruno Greg.NPACI Rocks:Tools and Techniques for
16、 Easily Dep-loying Manageable LinuxClustersC/Proc of the Cluster2001:IEEE International Conferecnce on Cluster Computing, 2001.4.Youseff L,Wolski R,Gorda B,et al.Paravirtu-alization for HPC SystemsC/Proc of the Workshop on XEN in HPC Cluster and Grid C-omput-ing Environments,2006.5.UCSD.Xen Roll:Users Guide
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建福州市福清市明德幼儿园招聘考试备考试题及答案解析
- 2026年杭州市上城区人民政府紫阳街道办事处编外招聘2人笔试备考题库及答案解析
- 2026广东汕头市消防救援支队消防技术服务人员招录5人笔试模拟试题及答案解析
- 2026四川绵阳市妇幼保健院招聘医师及技师5人笔试备考题库及答案解析
- 外研版七上M8U1教学流程
- 2026广东汕头市南方医科大学珠江医院潮南医院招聘合同制护理人员25人考试备考试题及答案解析
- 2026中国延安干部学院春季学期招聘教师6人考试备考题库及答案解析
- 2026陕西西安地质调查中心招聘医务室医生笔试备考试题及答案解析
- 2026中国华电集团海南有限公司校园招聘3人(第二批)笔试备考题库及答案解析
- 2026河北保定市宽高高级中学招聘41人笔试参考题库及答案解析
- 2026年内蒙古电子信息职业技术学院单招综合素质考试题库带答案详解(精练)
- 2025年贵州医疗岗位笔试真题及答案
- 隧道复工安全培训课件
- 2026年及未来5年中国内河水运行业市场供需格局及投资规划建议报告
- 2025至2030中国在线教育平台用户行为付费意愿及商业模式优化分析报告
- 2026年上海市初三上学期语文一模试题汇编之现代文阅读试题和参考答案
- 机械臂安全事故培训课件
- 混凝土地坪施工组织设计方案
- 2026年高考语文备考之18道病句修改专练含答案
- 2026年江西科技学院单招职业技能测试题库附答案详解
- 质量文化建设的重要性
评论
0/150
提交评论