摘要:随着机群系统的广泛应用,功能结构各异,并且适用于不同机群系管理软件纷纷出现,其中包括以CLI (Command line User Interface ) 命令行模式进行管理和以GUI图像用户界面进行管理两种用户体验模式。该课题设计与实现一种通过以LAMP技术为背景的图形用户界面机群管理系统完成对学机群的访问与管理。
关键词:机群系统;GUI;LAMP;图形用户接口
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)04-0911-03
LAMP-based Fleet Management System GUI Design
WANG An-ran, CUI Hai-dong
(College of Information Science and Technology, Shandong University of Science and Technology, Qingdao 266590, China)
Abstract: With the extensive use of cluster systems, many cluster management software with various functions have been developed to be use. Those software include two experience mode, one manage with CLI(Command line User Interface) instructions and the other one with GUI (graphic user interface). This paper elaborates a GUI management and access method for clusters uses LAMP technical.
Key words: cluster;GUI;LAMP;the software of cluster management
1 基于GUI的机群管理系统研究的目的与意义
计算机在50多年的发展中经历了重大的变革,高性能但价格相对便宜的PC机大量涌现,各种互连网络技术已经相当成熟,这为机群的构建创造了有利条件。传统的CLI管理模式,不仅需要专业的人员进行管理而且不够直观的检测系统中节点的工作状态,因此基于GUI的机群管理系统的设计也成为当前热点。
1.1目前基于GUI的机群管理系统国内外相关研究现状
随着机群系统的广泛应用,机群管理软件得到了前所未有的发展。机群管理软件的研究与开发是一个相当有潜力的领域,目前国内外出现了很多机群管理系统。
国外著名的机群管理软件主要有美国IBM公司的CSM和XCAT,加拿大Platform公司的 LS等。
IBM公司的 CSM(ClusterSystemsManagement )是IBM eServerCluster1300上的系统管理软件,是一款功能很全面的管理工具,支持Redhat、SuSE,而且还在不断的发展中。
XCAT是用于IBMeServerCluster1300上的系统管理软件。它由EganFord开发。它基本上是由shell脚本写成,相当简捷。但是它实现了机群系统管理大部分的内容,是个非常出色的管理软件。
LSF(Load Sharing Facility)该负载共享软件是由加拿大Platform公司开发的,无论从功能方面还是从应用范围来讲,LSF可谓是一个商用的成熟的机群管理系统。
国内的机群管理软件主要有联想公司的LCMS和曙光公司的曙光4000L。联想自主研发的机群管理系统LCMS,实现了服务器机群软硬件资源的高效动态管控,有效地支持了大规模科学工程计算应用。
2 系统开发技术简介
2.1 LAMP技术简介
LAMP(Linux Apache MySQL PHP)是指一组常用来搭建动态网站的开源软件包括Linux操作系统、Apache网络服务器、MySQL数据库和PHP语言的黄金组合,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,LAMP以开发成本较低,开发速度快,安全性高等特点已经与J2EE和.Net商业软件形成三足鼎立之势。
2.2 ExtJs技术简介
系统采用B/S模式,GUI主要在浏览器端,具体实现方案采用EXTJS,ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架,EXT要比开发者直接针对DOM、W3C对象模型开发UI组件轻松。
3 基于GUI机群管理系统的设计与实现
3.1系统架构
根据系统需求分析中,用户能够对系统进行检测与管理,整个管理系统的实现采用B/S模式,整个机群软件的架构如图1。
数据、操作通过浏览器提交给Apache服务器,服务器调用PHP代码对用户提交的操作进行相应的shell指令转换,通过提供的system(),exec(),passthru()三个函数来调用外部的shell命令,然后Apache服务器对相关的操作记录写入指定的Mysql数据库。
3.2 功能设计
综合考虑机群管理系统的整个执行流程,按照不同的功能将系统划分为:普通用户界面构建、节点机动态信息采集、节点机静态信息采集、任务分配、任务监测、任务结果回收、资源分配的构建。
各自功能具体如下:
1)普通用户界面:是提供管理、维护机群系统的用户信息,具体包括用户的基本信息,用户的历史操作等相关信息。
2)节点机动态信息采集:模拟每一个节点的动态信息,包括数据的流向、动态数据量大小,资源利用率、资源占有率情况,如图所示:
3)节点机静态信息采集:监测每个机群节点的状态,各节点机器的基本配置、资源分配使用情况等基本信息。
4)任务分配:任务的分配在机群管理系统中起到的作用主要是资源分配,给每个节点分配任务,使机群系统高效的利用资源,发挥每一个可用节点的作用。
5)任务监测:在任务分配完成后,系统通过图表、图像等直观的方式向用户反馈。
6)任务结果回收:实时收集任务返回的结果,形成统一的显示报告呈现给用户,方面以后的管理。
7)资源分配:可以合理的调用每个机群节点的资源,已提供完成某项任务的资源。
8)管理模块:对机群管理系统的管理员来说,系统首先要保证管理员能够方便地对机群进行管理。
3.3系统测试和评价
系统的优点:
1)界面与功能分开。
2)系统实现结合了外部Shell命令简化了系统的实现难度。
3)系统定义了一个命令接口,为以后系统扩充功能提供了方便。
4)该系统的界面形式统一,各种功能间都可以正常跳转。
下一步工作任务管理不够充分,系统界面不够美观。
参考文献:
[1] James H Herzog.Design and organization of computer structures[M].Franklin, Inc,1996:227-234.
[2] 赵斯恩.PHP网络编程技术与事例[M].北京:人民邮电出版社,2006:12-43.
[3] 位元文化.Linux管理与应用基础[M].北京:清华大学出版社,2002:24-36.
[4] 俞盘祥,沈金发.数据库系统原理[M].北京:清华大学出版社,1987:43-47.
[5] Jeffery Dean.LPI LINUX CERTIFICATION[M].New York O’REILLY,2001:135-143.