基于Openstack部署云计算管理平台
2018-12-22黄珏
黄 珏
(南京工业职业技术学院,江苏 南京 210046)
公司构建一套完整IT系统需要3个基本条件:硬件资源,软件资源和专门的运维人员。随着公司业务的增长,软硬件及其他基础架构升级,成本将不断上升。原有的管理模式低效且信息安全风险大,用户简化配置和管理网络的要求,加速了当今云计算技术的发展。
在云计算服务下,云服务提供商可即时处理大量信息,数量级高达数千万甚至数亿。资源和服务按需分配,使普通用户享受超级计算机带来高端服务,利用虚拟化提高了资源的利用率[1]。云计算包括3种模式:软件即服务(Software as a Service,SaaS),平台即服务(Platform as a Service,PaaS)和基础设施即服务(Infrastructure as a Service,IaaS)[2]。SaaS将计算和存储资源封装为用户可以直接使用的应用并通过网络提供给用户;PaaS计算和存储资源经封装后,以某种接口和协议的形式提供给用户调用,资源的使用者不再直接面对底层资源,IaaS把单纯的计算和存储资源不经封装直接通过网络以服务的形式提供给用户使用[3]。
1 Openstack平台关键技术分析
Openstack是和Linux一样开源的系统架构,能够满足类型繁多的云计算服务环境。它是一款自由开源的软件具有高扩展性及部署灵活的特点,企业可以利用它来构建自身的IaaS服务,可实现对企业资源的整合和高效利用[4]。
虚拟化技术是实现云计算基础架构层面的核心技术,也是推动云计算这一概念发展的一项重要技术。该技术在物理设备底层和上层操作系统之间运行一个虚拟软件层,这一层产生资源池。它是物理设备的集合,各种物理设备互相协作提供服务并由软件统一管理。它允许多个操作系统和应用程序在物理资源上共享硬件,创建多个可运行独立操作系统的虚拟机。虚拟化将应用软件与底层物理设备分离。从更抽象和更广泛的背景来理解,虚拟化技术实际上是一个非常大的概念。虚拟化技术的出现远远超过了虚拟化操作系统,现在已经实现了内存、网络、CPU、文件和存储的虚拟化[5]。虚拟化技术实现基本的物理资源抽象,使其成为可灵活生成、调度和管理的基础资源池,以实现自动化基础设施的有效整合,实时迁移。
IaaS通过一定的方式虚拟化成若干台外部看似独立的服务器,每台虚拟服务器具有一定的计算能力,可单独提供他们所支持的服务。这些服务器同时运行,相互隔离,降低能耗的同时提高了资源的利用率。
2 方案设计
本次搭建采用的系统是CentOS 7 64 bit。部署Openstack版本为Ocata。采用多点部署方式。多点部署有以下优点:(1)管理、维护接近真实环境。(2)能够更加清楚地理解Openstack各组件之间的依赖关系。(3)能够测试Openstack各组件的功能和稳定性[6]。搭建Openstack管理平台对硬件要求比较高。目前搭建Openstack的方法有利用源码进行安装,利用Devstack进行安装等多种方式。本次搭建是利用源码来安装。为获得最好的体验,环境需满足最低硬件要求。Controller节点最低硬件要求:1颗CPU,4 GB内存,两块网卡,20 GB硬盘;compute节点最低硬件要求:1颗CPU,2 GB内存,两块网卡,20 GB硬盘。
3 系统实现
Openstack系统的实现离不开关键组件的安装,Openstack平台的所有服务都是依靠这些组件进行的。在部署Openstack平台之前先要作以下准备。首先安装并配置NTP的服务,其次添加hosts文件,最后安装Openstack官方依赖包。
3.1 Keystone组件的安装
实现系统的身份鉴权,开通服务以及授权服务功能,在Openstack中绝大数的服务都需要Keystone服务对其进行统一的身份授权管理。通过此组件可以授权各组件的服务,在安装配置过程中先登陆Mysql数据库进行添加Keystone服务,通过yum install opentack-keystone httpd mod_wsgi命令安装Openstack-keystone组件。
3.2 Glance组件的安装
Glance组件对Openstack中的镜像文件进行统一的管理,Openstack Image服务是基础架构即服务的关键服务,安装此服务前必须先添加数据库服务,在配置glance参数时要注意的是,keystone_authtoken参数的user&password必须要和之前配置的环境变量的用户密码保持一致,否则会导致上传镜像失败。
3.3 Nova组件的安装
Nova是Openstack云中的计算组织控制器。支持Openstack云中实例(instances)生命周期的所有活动都由Nova处理。这样使得Nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。Openstack compute与Openstack Identity进行交互以进行身份验证。Controller节点安装完成之后需要切换到compute节点安装Openstacknova服务。
3.4 Neutron组件的安装
Neutron是为Openstack中创建的虚拟机实例提供网络服务,Neutron在Openstack中创建一个逻辑上的网络通信服务。通过命令:yum install Openstack-neutron 来安装neutron组件。
3.5 Dashboard组件的安装
安装Openstack-dashboard服务可以通过命令:yum install Openstack-dashboard -y来执行安装。安装完成之后进入Openstack-dashboard的配置文件设置访问Web GUI界面。
3.6 安装配置Cinder服务
Cinder是块存储,用来给虚拟机挂扩展硬盘,就是将Cinder创建出来的卷,挂到虚拟机里。Openstack-cinder服务为Openstack中VM实例提供独立的存储方案,同时Cinder也可以被当作创建的虚拟机实例的启动盘使用,一个Cinder只能对应一个虚拟机实例。首先使用root用户创建Cinder数据库服务;然后为Cinder创建用户,完成之后将admin添加到Cinder授权用户中,接着安装Openstack-cinder组件,命令如下:yum install Openstack-cinder -y。安装完成,需要修改目录下/etc/cinder/cinder.conf配置文件的参数,在[default]参数中配置数据库服务以及身份验证授权访问服务,随后配置KEYSTONE_AUTHTOKEN参数,password选项填写Identity身份验证密码为:ADMIN_PASS。配置完成后,将Cinder服务设为系统启动时开启,并启动Openstack-cinderapi和Openstack-cinder-scheduler服务。
4 测试
首先我们要确保可以顺利进入Dashboard Web GUI界面,可以看到Openstack平台的整体概况,比如资源利用率,包括内存,CPU,硬盘容量等,还要查看网络组件和Cinder组件是否运行正常。查看之前上传的CirrOS镜像的状态是否正常。接下来就是对组件的功能进行测试。(1)新建网络信息;(2)新建Cinder卷;(3)创建镜像文件;(4)创建实例类型;(5)创建实例。最终可以看到这个虚拟机实例可正常运行。
5 结语
本文对云计算及Openstack进行了简要的介绍,提出了基于Openstack的多节点部署构建云平台的方案,并详细对其工作原理及关键组件的安装部署进行了说明。接下来的工作是将此云平台运用到学校实验室或者公司网络,从而降低信息化的建设成本,提高管理能力。