黄志成
(广东女子职业技术学院信息资源中心,广东 广州 511450)
云计算的快速发展催生一批开源云计算工具。开源云计算已成为业界不可忽视的重要力量,已经深入影响云计算产业结构和商业模式。开源云计算以其独特的开源、低成本等优点吸引越来越多的IT企业。文献[1]研究云计算在高校信息化建设中的应用,并以开源云计算工具Eucalyptus为例搭建混合云计算平台;文献[2-3]研究使用Eucalyptus构建图书资料信息系统云架构;文献[4]探索开源云计算技术在电信运营商私有云建设中的应用。全球三大云计算中心之一的托管服务厂商RackSpace使用的就是开源云计算技术。
当前高校计算机机房还是使用传统的物理计算机为载体。这种模式存在机房封闭、管理人手不足、位置分散、软硬件更新跟不上等一系列问题[5],研究使用开源云计算技术组建存储云和计算云,构建虚拟计算机机房,对提高机房管理和利用效率,具有重要应用价值。
云计算是一种利用互联网实现随时随地、按需、便捷地访问共享资源池(如计算设施、存储设备、应用程序等)的计算模式[6]。云计算核心服务由下至上通常可以分为三层[7]:基础设施即服务层(IaaS)、平台即服务层(PaaS,)、软件即服务层(SaaS)。IaaS层提供按需扩展的硬件基础设施服务;PaaS提供应用程序的部署、运行服务;SaaS是应用提供商提供基于云计算平台的应用程序。
目前比较流行的开源云计算IaaS管理平台有Eucalyptus、OpenNebula、OpenStack、Enomaly、Cloud-Stack等。文献[8]对 Enomaly、Eucalyptus和 Open-Nebula三者的特点作了对比,并给出了云计算平台的选择建议。根据国外Zenoss公司的2012年开源云计算状况调查结果[9],使用率最高的前三位分别是OpenStack(63.2%)、CloudStack(47%)和 Eucalyptus(23.5%)。后起新秀 OpenStack已超过老牌 Eucalyptus,占据主导地位。57%的受访者表示他们将在未来考虑部署开源云,开源云的前途很光明。越来越多的大公司(如IBM、思科、微软等)加入OpenStack,极大地推动了OpenStack的发展。当前的OpenStack在公共云方面已能与Amazon EC2[10]媲美;在私有云方面也不逊色于VMware。
OpenStack是全球三大云计算中心之一的托管服务公司RackSpace和美国航空航天局(NASA)共同开发的一个开源云计算项目,旨在提供一个方便部署云的操作平台。OpenStack当前最新版本为Folsom,组成架构[11]如图1所示。
图1 OpenStack组成架构
OpenStack架构分为5个主组件:计算(Compute)、存储(Storage)、网络(Networking)、共享服务(Share Service)和仪表板(Dashboard)。
(1)计算(开发代号Nova),为云组织的控制器,包括运行虚拟机实例、管理网络以及控制用户和其他项目对云的访问。
(2)存储,又分为对象存储(Object Storage)和块存储(Block Storage)。对象存储(开发代号Swift)是一套用于在大规模可扩展系统中通过内置冗余及容错机制实现对象存储的系统;块存储(开发代号Cinder)为计算里的虚拟机实例提供持久的磁盘卷设备。
(3)网络(开发代号Quantum),是Folsom新加入的虚拟网络功能,支持可插拔、可扩展、API驱动网络和IP管理。
(4)共享服务,提供身份服务(Identity Service)和镜像服务(Image Service)。身份服务提供中央认证机制(如LDAP),为用户和可访问设备之间的映射提供认证。镜像服务(开发代号Glance)提供对虚拟机镜像的注册、存储、传输和检索服务。
(5)仪表板(开发代号Horizon),是一个Web应用程序,允许云管理员和用户管理云资源。
各主要功能模块间的功能作用如图2所示。
图2 主要模块间的功能作用图
OpenStack分为云计算和云存储两个项目。OpenStack云计算提供按需分配的计算资源,为虚拟服务器提供自动创建和管理服务;OpenStack云存储提供大规模、可扩展的存储,能够存储TB级的数据。OpenStack云计算和云存储两个项目可以分开单独部署,也可以混合部署,可以轻松构建公有云、私有云和混合云。
教师在计算机机房进行实验教学,课程资料的分发和学生作业的存档往往是一个问题。一般学校的做法是,管理员为1~2个机房专门设置一台存储服务器,以课程为单位划分空间,供教师和学生使用。像影视制作等课程,一个班50来人的作业就有可能高达上百G。大容量的文件拷贝和高带宽的传输给单机服务器带来极大的负荷。不同机房的存储服务器的集中管理也是一个难题。
OpenStack提供云存储技术,可以方便快捷地构建大容量存储。管理员收集现有可用的存储服务器。以5台为单位,使用普通6口的小型交换机组成节点区,根据需要可扩展多个节点区,再配以身份认证节点进行用户访问控制,和代理节点进行负载均衡,即可组建一个云存储,如图3所示。
图3 OpenStack云存储部署图[12]
传统的计算机机房都是以物理机为单位进行软件配置与管理,显然这种模式存在一些弊端:
(1)管理员根据教学计划统一安装所有物理机的操作系统和教学软件,效率低,且耗费大量时间和人力。
(2)任课教师希望根据教学的实际情况进行教学系统或软件的调整。但对物理机进行操作系统或软件的更新配置需要重复大量的工作,效率十分低下。
(3)在同一个系统里安装过多的软件一方面会影响计算机的性能,另一方面使得不同的教学软件混杂在一起,满足不了需要相对独立的教学环境。
图4 OpenStack计算云部署图
OpenStack的虚拟计算技术可以轻松构建虚拟计算机云,有效解决以上问题。一种简单可行的虚拟计算机资源云部署如图4所示。以4台计算节点为单位,使用一个5口小型交换机组成一个区。管理员可根据需求,增加区。每台计算节点需要连接外网和内网。外网供用户访问虚拟计算机,内网主要是对云进行管理。为安全起见,可以增加一个VPN节点方便从外网访问内网的管理端,和一个监控节点对计算服务进行监控。
使用OpenStack计算服务进行虚拟化后的网络架构如图5所示,虚拟计算机使用上和物理机一样。
图5 OpenStack虚拟化后的架构图
本文介绍了开源云计算工具OpenStack的功能和架构,研究了OpenStack在高校实验室机房中的应用和部署。由于硬件限制,笔者使用6台普通服务器作试验。组建存储云时用5台作为存储节点,1台作为身份和代理节点;组建计算云时,4台作为计算节点,2台作为云控制器和数据库。实验结果表明,OpenStack可以方便、快速地部署云,并且性能较为稳定,可满足一般高校需求。使用OpenStack构建“云”机房,提高资源整合[13],甚至应用于虚拟实验教学[14],具有重要应用价值。
[1]朱莉,王鹏.云计算在高校的部署与应用研究——以开源云计算产品Eucalyptus为例[J].吉林师范大学学报:自然科学版,2011,32(2):131-133.
[2]赵华茗,李春旺,李宇,等.云计算及其应用的开源实现研究[J].现代图书情报技术,2009(9):1-6.
[3]刘晓刚,张红.基于开源云计算的图书资料信息系统探究[J].情报科学,2011,29(6):906-909.
[4]秦润锋,樊勇兵,唐宏,等.开源云计算管理平台技术在电信运营商私有云建设中的应用研究[J].电信科学,2011,27(10):24-29.
[5]陈孔艳.高校公共计算机机房管理探讨[J].实验室科学,2009(3):121-123.
[6]Mell P,Grance T.The NIST Definition of Cloud Computing[R].National Institute of Standards and Technology,2011.
[7]罗军舟,金嘉晖,宋爱波,等.云计算:体系架构与关键技术[J].通信学报,2011,32(7):3-21.
[8]杨静丽,查英华,胡光永.开源云计算平台研究[J].计算机与现代化,2012(4):23-26.
[9]Zenoss.The State of the Open Source Cloud 2012[EB/OL].http://www.zenoss.com/in/wp_open_cloud_survey.html,2012-10-25.
[10]陈康,郑纬民.云计算:系统实例与研究现状[J].软件学报,2009,20(5):1337-1348.
[11]OpenStack.Open Source Software for Building Private and Public Clouds[EB/OL].http://www.openstack.org,2012-10-25.
[12]OpenStack.OpenStack Compute Administration Manual[EB/OL].http://docs.openstack.org/trunk/openstack-compute/admin/bk-compute-adminguide-trunk.pdf,2012-10-25.
[13]何俊.计算机公共机房管理资源整合[J].实验室研究与探索,2010,29(2):65-67.
[14]鲁慧民,刘刚.基于云计算理念的虚拟实验教学系统设计探讨[J].实验技术与管理,2012,29(4):334-337.