《武汉工程大学学报》  2013年04期 72-77   出版日期:2013-04-30   ISSN:1674-2869   CN:42-1779/TQ
桉树私有云计算平台的搭建与应用


0引言云计算是当今计算机领域研究的热点,平台即服务模式作为它的一种重要的形式,有各种开源软件提供多种私有云的搭建平台方案,目前私有云平台有OpenNebula(以集群计算为目的开源式虚拟机管理器)、CloudStack(提供公共、私人或者公私混合的基础设施作为服务的开源性软件平台)和Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems中文简称:桉树)等方案.OpenNebula云平台方案将虚拟平台从单一实体机扩展到一群实体上,可用来构建企业私有云基础设施管控平台,并提供虚拟机、虚拟网络、存储资源管理和资源调配策略控制,但是它没有采用面向服务架构的设计方法,没有将计算、存储和网络设计为独立组件,解耦做得还不够;CloudStack云平台方案支持Xen(开放源代码的虚拟机监视器,由剑桥大学开发)等虚拟机,它提供了大量云计算界面管理工具,方便管理,它同样也存在与OpenNebula类似的问题;Eucalyptus云平台方案的云接口基于亚马逊的网页服务的应用程序编程接口的规范标准,能够提供与亚马逊公有云计算平台服务相同的功能,它在面向服务架构层面上做得比较好,避免了与OpenNebula等在面向服务架构技术方面的问题,所以采用Eucalyptus作为私有云平台的研究方案.Eucalyptus是一种开源的软件基础结构,用来通过计算集群或工作站群实现弹性的、实用的云计算\[1\].我国研究人员对其展开了应用研究,张帆\[2\]等使用Eucalyptus构建云平台,为科研团队及中小型企业项目的开发弹性计算服务,以满足不同阶段,不同用户的需求;胥光辉\[3\]等采用一套基于Eucalyptus私有云的校园虚拟计算中心对校园的资源进行整合,节约了更新服务器和客户机的成本,满足了中小规模教学、试验的需求;钟华\[4\]利用Eucalyptus及自动测试构建云测试系统解决自动化测试系统在发展中遇到的问题;马少兵\[5\]等使用Eucalyptus等构建了数字图书馆私有云平台,解决了图书馆系统部署的重复性和单一服务器承载单一服务的问题.基础在以上研究探讨如何使用Eucalyptus搭建私有云平台,以及利用其与无线触摸一体机技术构建一套应用于餐饮业的电子点单系统,达到节省主机设备,减少维护成本,提高效率的目的.1Eucalyptus的组成及原理1.1Eucalyptus的组成Eucalyptus主要包含五个组件:Cloud Controller(云控制器)、Cluster Controller(集群控制器)、Node Controller(节点控制器,简称NC)、Walrus(分布式存储控制器)和Storage Controller(存储控制器,简称SC).Eucalyptus的安装分为多集群安装和单集群安装.多集群安装是将各个组件分别安装在不同的主机上,它的网络拓扑图如图1(a)所示;单一集群的安装至少需要2台主机,一台安装节点控制器组件,其余的组件安装在另外一台主机上,如图1(b)所示.图1集群拓扑图Fig.1Cluster topology1.2Eucalyptus的工作原理顶层组件(包括云控制器和Walrus)负责收集管理多个集群的资源,每个集群需要一个集群控制器用来控制集群内的计算及网络等资源和一个存储控制器用来控制基于块的存储.集群控制器和存储控制器通常安装在该集群的头节点上.每个虚拟机节点需要一个节点控制器来控制虚拟管理程序.基于这样的架构,整个云计算平台的资源都自下而上地按层次控制运行\[6\].一个NC节点可以运行多台虚拟机实例(根据客户订购的服务质量等级决定运行实例个数),云平台中可以包含多台NC节点和集群节点.包含五大组件的主机形成一个整体,为不需要知道其内部构成的客户提供云计算服务.每一个NC节点通过虚拟化技术\[7\]虚拟成多个虚拟机,每个虚拟机上可以运行定制的镜像.第4期李伟波,等:桉树私有云计算平台的搭建与应用武汉工程大学学报第35卷2Eucalyptus云平台的构建2.1Eucalyptus的构建Eucalyptus云平台的构建可以使用多种方式,支持的操作系统是Linux系列的.本文以乌班图9.10 服务器版本的操作系统为主机的系统,网络拓扑图如图2所示,并按照其搭建整个网络.使用单集群的模式安装Eucalyptus,使用2台主机,一台主机作为NC,另一台作为CC,五台无线触摸一体机运行NC的实例.NC主机安装节点控制器组件,CC主机安装其余的组件,五台无线触摸一体机作为接受软件服务的客户端.图2网络拓扑图Fig.2Network topologyEucalyptus的安装它依赖于Linux (是一种自由和开放源码的操作系统) 系统,所以必须先在主机上安装Linux系统.单集群的网络可以由一台前端节点主机和多台计算节点主机组成.对于用户来说,并不知道服务由哪台主机提供,内部对于用户来说是看不清的,也就是所谓“云”.服务可以提供一台计算节点提供,也可以由多台计算节点共同提供.Eucalyptus云平台的构建流程\[8\]如图3所示.图3桉树云平台的构建流程Fig.3The process of building eucalyptus cloud platform安装完成后启动Linux操作系统,然后分别对各个主机的网络进行设置.在Eucalyptus云平台中,各个节点是通过注册进行认证的,然后它们之间才能进行通信从而实现协同工作的.在认证时就将各个节点的信息注册到CC上,每个节点的网络地址信息在CC上都有记载.如果发生变动的话,整个云平台系统恐怕难以正常运行,所以必须进行机器的IP(因特网协议)地址等网络的配置,注意NC节点上的要建立桥接.网络设置完成之后,在CC主机上安装云控制器、集群控制器 和存储控制器几个组件.在安装的过程中,首先需要选择邮件服务类型为Internet site (互联网网站),其次设置系统邮件名称,然后设置Eucalyptus的集群名称和设置虚拟机实例公用地址段最后在二台NC主机上都安装节点控制器组件.为了实现CC主机与NC主机的Eucalyptus组件之间的认证及无密码连接就得交换二者之间的公钥.首先在NC主机上临时为Eucalyptus建立密码,然后在CC主机和NC主机进行公钥的交换.最后一步是节点的注册.Eucalyptus云平台需要对各个节点进行注册,这样各节点之间才能够正常运行,以达到使用的目的.在CC主机上通过命令找到运行节点控制器组件的主机(记住在注册时,必须保证所有要注册的节点主机运行各自的Eucalyptus的组件).注册成功后接下来就创建登陆实例的密钥、授权允许22 端口访问的工作,至此云平台搭建初步成功.2.2云平台的管理云平台构建之后,通过浏览器访问https://192.168.2.101:8443(其中192.168.2.101是CC主机的IP地址)对云平台进行管理.由于网页上的管理界面是反映云平台的基本信息情况,并不能体现云平台运行时的情况,所以为了便于管理,必须借助于中间件来监控云平台的运行情况.Eucalyptus私有云平台可以通过euca2ools(是一组基于命令行的工具)这个中间组件进行管理.安装完这个中间组件之后,还要得到权限才能进行云平台的管理,网页上的的管理页面下载证书到文件夹下并且解压安装即可,在终端上运行输入命令启动证书.确保各个节点上运行各自的服务,运行云平台的中间组件euca2ools,通过命令查看云平台的运行情况.如果运行结果类似如图4所示,就表明云平台运行正常,否则就说明云平台平配置不成功,需要仔细检查每一步的设置.图4云平台运行情况Fig.4The running state of private cloud computing platform3云平台的应用研究3.1电子点单系统设计将Eucalyptus私有云计算平台与无线触摸式一体机结合,应用于电子点单系统.可以一台主机带多台终端机,而终端机可以直接提供给服务员或顾客进行自助点单,这样既可以节省主机设备又可以解决目前餐饮业服务员不足的困境.无线触摸式一体机作为自主点餐终端.在开机启动时,以用户名密码通过虚拟桌面协议连接到云服务器,并且自动远程访问系统,然后将显示画面传送给终端一体机.这时顾客就可以在终端机上进入点单界面(如图5所示),进行一系列点菜操作.这些信息通过虚拟化技术反馈云平台的服务器上,云服务器上的点单软件通过消息进行反应,重新将画面传给终端,这时顾客就可以看到自己操作的画面.整个过程给顾客的感觉就像在本地操作一样,其实是通过虚拟桌面协议进行远程操作的.图5点单主界面Fig.5Main interface of a digital menu system3.2客户端设备设计作为运行NC节点实例的客户端采用将触摸屏与无线云终端组装到一起构成一个新的设备(本文定义为无线触摸一体机).无线触摸一体机的集成方法是:将电阻式触摸屏拆开,去掉云终端的外壳,首先将其放置在触摸屏内;然后将二者的视频接口线连接起来;其次分别将云终端的天线的和有线的接线引出来固定在触摸屏的后壳上,做成接口,无线接口上装上天线;接着将二者的电源接口线连接在一起,引到触摸屏的外壳上,做成一个电源接口;最后将云终端板子上的三个通用串行总线接口引出来固定在外壳上,盖上外壳,完成整个一体机的集成.无线触摸一体机的工作原理如下:通过网络通讯协议和标准的局域网架构与云服务器NC上运行的实例相连,并采用专用的虚拟桌面协议与云服务器进行数据通讯.开机启动共享计算模式,多台无线触摸一体机以互异的用户名和密码登录到云服务器中.云服务器会为不同的终端用户开设独立的会话,每个无线触摸一体机会占用独立的内存空间,其运行程序界面会通过虚拟桌面协议传送到云服务器上,进而无线触摸一体机之间能够独立运行而相互不受干扰.当手指在屏幕上压下时,触摸检测部件就会检测到用户触摸位置,接受后送到触摸屏控制器;触摸屏控制器从触摸点检测部件上接收触摸信息,并将它转换成触点坐标,并将坐标传给云终端,云终端通过网络传输传给云服务器;云服务器根据坐标位置调用对应的功能模块,然后将功能模块运行结果通过网络返回给云终端,云终端再传给触摸屏控制器;触摸屏控制器接收显示在屏幕上.3.3虚拟机软件环境定制首先定制软件运行环境的操作系统的镜像,其次是上传绑定注册定制好的镜像.在Eucalyptus中镜像的制作\[9\]分为三个部分:内核文件镜像、引导文件镜像和系统文件镜像的制作,制作windows 2003 server(微软的服务器操作系统)镜像.镜像制作完之后,使用虚拟机启动该镜像,并安装电子点单软件和建立多个用户名和密码,然后关闭系统,最后将它们分别上传绑定注册即可.上传之后可以通过中间件的命令进行查看是否上传成功,如图6所示的情形.图6私有云平台中的镜像Fig.6Mirrors of private cloud computing platform3.4应用效果及分析完成上述工作后,接下来就是检验利用云平台运行电子点单系统软件环境的镜像的效果.首先在中间件euca2ools上运行上传的镜像,然后在终端上查看实例此时运行的情况.等待实例完全启动后,使用无线触摸一体机通过不同的用户名和密码登录到NC主机上的windows server 2003 系统,如图7所示.然后运行电子点单系统软件(图7中第三个图标)选择各自的角色进入的相应界面.也可以在无线触摸一体机上设置打开制作的软件,直接进入选择角色的界面,例如顾客进入的界面如图5所示.最后进行各自操作,实现电子点餐的功能.图7无线触摸一体机虚拟桌面系统界面Fig.7Virtual desktop system interface of wireless touching terminal使用此系统后,运行效果具有自助点单操作方便、集中式管理和低延迟等特点.与没有使用云平台的系统方案相比,此系统还具有以下的优点:(1)使用虚拟和云终端技术,降低了硬件资源的成本投入.(2)具有良好的业务扩展能力.由于使用了云平台,只要将软件的运行环境镜像上传到云平台中,运行此镜像就可以实现新的软件,提供新的服务,便于软件的更新维护.(3)利用云平台,可以建立多个虚拟机,还可以部署VPN(虚拟专用网络)服务,减少了硬件设备的数量,降低了硬件成本.(4)提供了较高的服务质量,并且方便管理所有的软件服务.利用虚拟技术成功的将每个服务都隔离开来,这样一个单独的服务运行在一个除其运行所必需的组件服务外没有其他组件服务的操作系统中,没有其它软件服务在同时运行,实现了单独的软件独享同一操作系统,达到了软件服务之间隔离减少冲突的目的.4结语通过Eucalyptus建立一个开源私有云平台,实现一台主机带多台终端机,而终端机可以直接提供给服务员或顾客进行自助点单,这样既可以节省主机设备,又可以提高效率,并可实现为用户提供服务质量和安全性上的更高保证.虚拟技术是Eucalyptus私有云平台的一个重要技术,它减少了设备数量,便于系统的管理,但是,为满足云平台等软件运行的要求,也有可能会造成硬件设备质量需求的提高.因此在选择私有云平台方案时,根据实际情况选择最优方法.致谢此论文在设计阶段,武汉基华电脑有限公司的技术人员胡维平工程师等给予了大力支持和帮助;在试验阶段,刘嘉、梅德胜等同学积极参与配合,共同解决了在此过程中遇到的各种问题等,在此一并送上深深的感谢与敬意.