李志军, 孔朋朋, 雷振伍
(北方工业大学 电气与控制工程学院, 北京 100144)
摘要:云计算是当前计算机领域非常热门的研究方向,在此背景下,阐述了云计算、私有云的相关概念及其应用。详细介绍了开源云计算框架OpenStack及其核心组件。提出了一个基于OpenStack的私有云平台架构方案,在实际工作中部署了私有云平台并对相应的计算、存储、网络、镜像等资源进行管理。
关键词:云计算;私有云服务;OpenStack
0引言
云计算是网格计算、分布式计算、效用计算、网格存储、虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物[1]。狭义上来说,云计算指IT基础设施的交付和使用模式,用户通过网络从“云”端获取资源(硬件、平台、软件),云中的资源随取随得、随时扩展、按需使用,正如大家使用水电这些公用资源一样。广义上来说,云计算是指服务的交付和使用模式,用户通过网络获得所需的服务,这些服务是任意的,既可以是与信息技术(Information Technology, IT)相关的,也可以是其他的服务。云计算从服务性质上来说,可以分为公有云、私有云和混合云。公有云是云计算服务提供商为公众提供服务的云计算平台;私有云则是云计算服务提供商为企业在其内部建设的专有云计算系统;混合云则是同时提供公有云和私有云服务的一种折中方案[2]。
本文介绍了当前最具有发展前景的云平台开源框架OpenStack,研究私有云搭建的可行性方案,给出方案的整体架构,并通过PackStack工具部署了一个可用的私有云环境,通过实际搭建的私有云平台来研究私有云资源的管理技术。
1OpenStack介绍
1.1OpenStack简介
OpenStack是一个由美国国家航空航天局(National Aeronautics and Space Administration, NASA)和Rackspace公司合作研发并发起的开源项目,旨在为所有的公有云和私有云的建设及管理者提供可满足自身需求的、易于实施且可大规模扩展的开源云计算平台[3]。OpenStack云计算平台包括Keystone(身份认证)、Nova(计算)、Glance(镜像)、Neutron(网络)、Cinder(块存储)、Swift(对象存储)、Horizon(前端界面)等组件。OpenStack作为目前最为火热的开源云计算项目,具有强大的社区支持,有大量的开发人员参与,发展迅速。国际上已经有很多使用OpenStack搭建的公有云、私有云、混合云,例如RackspaceCloud、惠普云、MercadoLibre的IT基础设施云、AT&T的CloudArchitec、戴尔的OpenStack解决方案等。而在国内,OpenStack的热度也在逐渐升温,阿里巴巴、百度、中兴、华为等都对OpenStack产生了浓厚的兴趣并参与其中。本文使用的是 OpenStack 的第十个版本——Juno 版本。
1.2OpenStack核心组件
OpenStack主要有 7 个核心组件:
(1) 计算组件(Nova):为虚拟主机提供计算资源。通过虚拟化技术(如 KVM、 LXC、 Xen、 VMware Esxi 等实现计算、网络、存储等资源池的构建及应用),将计算能力通过虚拟机的方式交付用户[4]。
(2) 身份认证(Keystone):为OpenStack 提供统一的授权和身份验证。
(3) 网络管理(Neutron):管理虚拟机的网络资源,如IP 的分配、划分子网、 内网和公网的映射连接、 负载均衡、防火墙等功能。
(4) Web界面(Horizon):基于 OpenStack API 接口,使用 python 语言开发的 Web 端管理门户。
(5) 镜像管理(Glance):云平台虚拟机镜像的存储、查询、管理组件。
(6) 块存储(Cinder):为云主机提供云硬盘服务,实现块存储的管理。
(7) 对象存储(Swift): 对象文件的存储读取,实现方式使用的是键值对形式。
各个组件之间的关系如图1所示。
2私有云平台架构
2.1私有云概述
私有云主要是在企业或公司内部使用,代替传统的IT服务。与传统IT架构相比,私有云将硬件资源(包括计算资源、存储资源、网络资源等)通过虚拟化技术提供给企业内部使用,其对外是不可见的,此外,私有云可以根据客户对服务的性能要求、成本要求,提供个性化的架构,是一种真正以服务为导向的云环境,因此私有云被视为极具发展潜力与研究价值的服务,各大公司都在不断加入此浪潮之中。 对于私有云的部署,企业可以根据自身特点与需求,采用不同的解决方案,既可以部署在企业防护区内的数据中心,亦可部署在一个值得信赖的第三方托管机构。私有云具有传统IT可控、高可用性、非常安全等优点,又具有公有云的资源共享、可以动态地伸缩和资源分配、易于管理等优势,提高了整个IT系统的安全性[5]。
2.2私有云平台架构
本文中,对私有云平台的建设,主要是结合实验室建设发展方面的考虑,建设虚拟实验室,搭建云平台来实现资源的虚拟化,最终将工业控制系统(如pcs7,SimaticIT等)移植到私有云平台上。
本文搭建的私有云平台基于OpenStack的开源框架,包括三个角色:客户端 、控制节点以及计算节点。其中客户端可以是实验室局域网段内任一物理机;控制节点则部署了Nova、Glance、Swift、Cinder、keystone及Horizon等组件;计算节点由支持虚拟化技术的2台HP服务器组成,主要用于运行虚拟化实例,提供计算服务。整个云平台的架构如图2所示。
对于整个云平台的层次来说,底层是由物理服务器组成的硬件层,提供CPU、存储、网络等资源,而OpenStack通过虚拟化技术整合管理底层资源,供运行于其上的虚拟机使用。工业控制系统及仿真系统则部署在云平台的大量虚拟机之中,供客户端用户使用。对于云平台的访问,OpenStack也提供了管理员用户与普通用户两种用户角色,实现了权限控制。
本文搭建的私有云平台主要用于像高校实验室等中小型环境,所以各个组成部分均位于同一局域网内,这样内部网络的任一用户均可访问云计算资源。私有云平台的网络架构如图3所示。
云平台的网络部分由3个网络构成:公共网络、管理网络、数据网络。各网的实现及功能如下所示:
eth0(公共网络):网段:10.1.101.0/24;功能:公共网络,为网络节点访问外部网络提供通道。
eth1(管理网络、数据网络):网段:10.20.0.0/24;管理网络:用于OpensTack各组件之间的通信;数据网络:用于实现云部署中数据之间的通信。
3私有云平台实现
私有云平台由控制节点、 计算节点及网络节点组成。 控制节点是云平台的核心, 用户通过控制节点实现对整个云平台的管理、监控。 其他计算节点、网络节点需要向控制节点注册, 由控制节点来统一调度资源。 网络节点负责控制云平台的内部网络与外部网络,计算节点负责虚拟机的创建、运行、销毁等服务。
3.1前期规划
硬件环境:采用3台HP gen8刀片服务器,每台服务器配置12核CPU、64 GB内存、1.8 TB硬盘。
每台机器有4个网卡,只用到em1,em2。公共网络和管理网络合用em1,内部数据网络使用em2。
软件环境:CentOS7+PackStack+OpenStack-Juno。
3.2部署过程
OpenStack有多种部署方式,一般可划分为三类:一是源码部署,将OpenStack所需组件的源码及其依赖的源码下载到服务器中,再进行安装、配置,这种方式虽然可以使相关人员对OpenStack源码及其配置有一定了解,但部署过程相当繁琐,不适用于实际应用。二是通过相应的命令工具进行安装,虽然较源码安装方便,但其过程仍然比较繁琐。三是通过一些开发者或者公图4使用PackStack部署
OpenStack流程司开发的工具进行安装,如rdo、fuel、devstack等,这些工具使用简单,配置方便,有的则已经商用,在本文中选取其中具有代表性的PackStack工具。PackStack 是Redhat提供的OpenStack部署工具,可以在CentOS上快速地部署一套多节点OpenStack集群。它的操作也非常简单,只要生成一个answer文件,略微定制一下组件需要安装的位置就可以快速部署了。整个部署过程如图4所示。
4OpenStack私有云平台实践
4.1创建系统实例
云平台的基本目标就是建立数据中心,为相关用户提供计算、存储等服务。OpenStack提供的Web管理界面组件Horizon简单易用、功能丰富,在登录Horizon后,就可以执行创建测试用户、项目、网络、云主机等操作了。本文中完成了项目创建、用户创建、网络搭建、本地镜像上传、flavor和安全组设置,虚拟机实例的创建、测试、销毁一系列操作,验证了搭建的私有云平台的可用性。在Windows镜像制作过程中遇到了较大问题,Windows 原版镜像文件中的硬盘驱动不适用于OpenStack的虚拟环境,如果直接使用原版镜像,则不能成功启动实例。解决方法是在制作镜像文件时手动安装相应的virtio驱动。
4.2创建实例化网络
本文中创建的实例化网络是OpenStack云平台的一种典型结构,其网络拓扑如图5 所示。Extnet(10.1.101.0/24)网络拓扑是与互联网连接的外部网络,由管理员创图5云平台网络拓扑建,该外部网络是云主机与互联网交互的途径;Admin_net(192.168.0.0/24)网络拓扑是租户网络及其子网,其上连接的是租户创建的云主机;跨在外部网络和租户网络之间的是具有网关臂和接口臂的路由器,负责租户网络与外部网络的通信。
5结论
本文在云计算、私有云有关理论基础上,提出了一种基于开源框架OpenStack构建私有云计算平台的可行性方案,并通过PackStack工具实现了私有云平台的搭建,以便为科研实验室或者中小企业提供弹性计算服务,满足不同用户、不同阶段的需求[6]。云计算的核心是虚拟化技术,而一种新型的虚拟化技术Docker的出现,为私有云计算发展提供了新的方向。与传统的KVM等虚拟化技术相比,Docker具有更轻量级、启动更快、占用资源更少的特点。所以,将Docker与OpenStack相结合是进一步优化私有云平台的重要方向之一。
参考文献
[1] 翁武钦.云计算核心技术及行业运用发展趋势浅析[J]. 信息通信, 2014(6):251,253.
[2] 汤儒,李秦伟.Openstack云环境中KVM虚拟机性能分析[J].微型机与应用,2013,32(23):9496,100.
[3] 李小宁,李磊,金连文,等.基于OpenStack构建私有云计算平台[J]. 电信科学, 2012,28(9):18.
[4] 吴明礼,任天鸿,李也白,等.基于OpenStack的私有云平台资源管理技术的研究与应用[J]. 工业技术创新, 2015,2(3):334341.
[5] 徐磊,王磊.基于OpenStack的私有云搭建的研究[J]. 信息通信, 2014(5):47.
[6] 姚远,左晓栋.云计算安全国家标准研究[J].电子技术应用,2014,40(8):46,9.