基于OpenStack构建云计算基础架构平台的研究

2018-11-15 01:33杨健牛晨旭
电脑知识与技术 2018年20期
关键词:虚拟化技术数据云计算

杨健 牛晨旭

摘要:计算机技术历经了从大型主机、个人计算机、客户/服务器计算模式到今天的云计算模式的演变,尤其是结合虚拟化技术的应用,计算能力大大被提升。而服务器作为虚拟化资源池的提供端,需要具备超高的计算性能、海量的数据存储能力、网络通信能力和物理内存扩展能力。在多种应用需求的推动下,能自主搭建基于Openstatck的云计算架构基础平台顺势出世。本文详细介绍云计算基础架构平台各个服务的搭建,OpenStack的核心功能模块以及云计算搭建过程中所面临的一些问题。

关键词:云计算;数据;虚拟化技术;服务

中文分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)20-0237-04

1 引言

最近几年,我国云计算的发展正处于直线上升期,在政府、教育、医疗、金融、电信等行业得到了广泛的应用,对于我国经济发展趋势起着尤为重大的影响和推动。云计算这项技术的主要优势在于,将众多分散的资源聚合在一起,帮助用户实现高效率的业务计算能力。通过云计算这项技术,企业不但大大降低了运维成本,还能够轻松解决突发顶峰流量的响应需要。

2 云计算概念分析和简论

云计算 (cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。如图1所示,它能在后端庞大的云计算虚拟池支撑下能为用户提供更方便的体验和更低廉的成本。

3云计算系统框架

3.1 OpenStack(OS)简介

OS是 Rackspace(贡献swift)和NASA(贡献nova)共同发起的开源项目,是一系列软件开源项目的组合。基础设施资源管理平台则类似操作系统可以管理硬件池,可以根据需求提供资源。

OS同时也是IaaS(基础设施即服务)组件,让任何人都可以自行建立和提供云端运算服务。此外,OS也用作建立防火墙内的“私有云”(Private Cloud),提供机构或企业内各部门共享资源。

3.2 OpenStack(OS)资源管理

管理资源是openstack的首要任务,OS在资源管理功能模块主要有三大服务:网络服务、计算服务和存储服务。OS在资源管理方面,是用功能的方式提供给上层模块或者用户使用。这些资源的管理是通过OS中的各个项目来实现的。而实现计算方面的功能模块是 Nova( OS Compute);存储相关的主要有块存储服务 Cinder、对象存储服务 Swift、镜像存储服务 Glance 这三种。

Neutron是一种软件与网络交互相关的项目;而其中nova network是一个网络操作管理的板块,它有着稳定的组建功能,在OS和Neutron共存,一般小规模的项目中经常为了稳定开发,和减去一些开发量,就会使用Nova NetWork 这样的模块操作网络资源,并进行相对管理。核心组建和概念架构如图2、图3所示:

4 云计算架构过程

4.1 规划部署

为满足日常的企业办公,生产和研发,构建一个通用性云平台,根据Iaas的模块规则,基于简单的需求为用户寻求最适合的平台。在云平台的网络结构中,本平台将采用2台节点服务器构建云计算平台,其中一台为控制节点服务器,另一台为实例节点(即计算节点)服务器。

按照网络分离和功能化的要求,也依次构建了4种网络,分别为实例通信网络、内部存储网络、内部管理网络和实例私有网络。同时,考虑到服务器只有2个网口的实际情况,采取结合Open vSwitch虚拟交换功能虚拟生成的3个网口,对应为br-ex、br-mgmt和br-prv,分別为实例通信网络、内部管理网络和内部私有网络[3]。

准备OS搭建云计算平台项目所需的软件资源包,确定各节点的名称,配置个节点的ip网络地址,按照要求安装对应centos操作系统,配置系统环境变量,在控制节点、网路节点、实例节点和存储节点分别运行脚本,完成各节点的配置安装,最后验证安装基础工作。

4.2 实施部署过程

OS可以采用Centos光盘或镜像安装,部署过程共分为5个部分,分别为Keystone的部署、Swift的部署、Glance的部署、 Nova的部署和Horizon的部署。

4.2.1 Keystone 的部署

Keystone是os云平台中专门担任操作身份验证、服务规则和服务令牌的功能。用户首先需要通过用户的身份和权限进行数据库鉴权校验,这些都是通过keystone来处理的。keystone就好像一个中转站,准确地说是os整个架构的注册信息表,所有服务都是通过keystone注册其他服务的服务器访问地址,云架构中的任何服务的访问地址之间的相互转发都必须通过keystone的校验通过,从而获取目标服务的地址[1]。

它有两个主要功能:

(1) 用户管理:验证用户身份信息的合法性;

(2) 服务目录管理:云平台服架构中任何服务都要访问keystone获取服务列表,以及每个服务的访问地址如下图4:

安装部署:

(1)安装keystone前需要创建一个数据库和管理员令牌;

(2)在安装完成后禁止keystone服务自启动,并编辑配置文件/etc/keystone/keystone.conf ;

(3)创建服务实例和API endpoints;

(4)创建域(domain),工程(projects),用户(users),角色(roles)。 keystone提供的认证服务包含权限、项目、用户、角色,创建的任何一个角色都需要映射到每个OS服务的配置文件目录中的policy.json中的角色特性;

(5)在完成上述步骤之后,出于安全考虑,禁用临时的认证令牌机制,编辑配置文件/etc/keystone/keystone-paste.ini,最后完成验证操作[6]。

4.2.2 Swift 的部署

Swift 是一种对象存储服务,它的诞生是 Rackspace 公司开发的高可用分布式,目的是为了 Nova 所创建的子项目提供虚机镜像存储服务。

Swift 采用层次数据模型,一共设有三层逻辑结构,分别为Account(账户)、Container(容器)、Object(对象),每层节点数没有上线,可以任意增加。需要关注的是此处的账户和个人本地账户不是一个性质,大致可以解释成租户,作用是用来做服务之间的隔离功能,同时可以被多个个体本地账户共享;此处的集合容器是一组对象,相似于文件夹;叶子类似于一个个对象,是元数据与内容两部分组成[2]。

安装部署:

(1)使用脚本方式安装Swift服务;

(2)配置Storage Server存储空间。Swift官方推荐用户使用XFS文件系统。后来官方的测试,觉得XFS文件框架可以给Swift的用户提供最好的功能,而且后期完成了稳定完整版。对于任何一台PC,我们可以选择使用一个分区作为存储(Using a partition for storage),也可以使用一个回环设备作为存储(Using a loopback device for storage)。由于实验环境所限,本文使用回环设备作为存储[3];

(3)在PC上创建Swift的相关配置文件;

(4)配置Swift相关存储服务:

代理服务(Proxy Server)、认证服务(Authentication Server)、缓存服务(Cache Server)、账户服务(Account Server)、容器服务(Container Server)、对象服务(Object Server)、复制服务(Replicator)、更新服务(Updater)、审计服务(Auditor)、账户清理服务(Account Reaper)。

4.2.3 Glance的部署

glance即image service(镜像服务),是为虚拟机的创建提供镜像服务。作用是为OS构建基本的Iaas平台提供虚机,虚拟机在创建运行的时候,必须为虚拟机选择操作系统,而glance就是提供各种不同系统镜像的服务[4]。

首先创建glance数据库CREATE DATABASE glance;创建数据库用户glance,并授予其对glance数据库的管理权限,创建服务凭证,创建glance用户 :[root@controller ~]# openstack user create --domain default --password-prompt glance。

创建glance服务实例,把Image service加入服务目录。为OpenStack Image service创建认证服务端点。配置Image service的数据库连接。查看glance数据库如下图6:

最后查看镜像文件存储目录,重启Controller Node主机,至此Openstack glance镜像的安装基本完成了。

4.2.4 Nova的部署

Nova是OS创建之初最早的两块功能模块之一,另一个是功能模块是swift存储模块。在OS体系中一个叫作计算节点,一个叫作控制节点。

Nova主要目的是为虚拟机启动服务器后的需求、為虚拟服务器提供自主建立和操作,担任管理所有的资源、身份认证以及可延展性的模块。

Nova控制节点部署:

(1)安装脚本软件包;

(2)数据库配置

修改配置文件/etc/nova/nova.conf,同步数据库;

(3)配置对应keystone

[root@linux-node1 ~]# vim /etc/nova/nova.conf;

(4)RabbitMq(消息队列配置);

(5)配置nova功能

启动网络服务支持和关闭防火墙,配置VNC代理使用控制节点的管理接口IP地址,配置镜像服务 API 的位置;

(6)设置开机启动,并启动服务;

(7)keystone上注册nova服务

创建Compute服务api端点(公有、私有、admin);

(8)查看是否成功创建nova(如下图7所示)和nova_api数据库(如下图8所示)

4.2.5 Horizon的部署

Horizon是一个web接口,使得云平台管理员以及用户可以管理不同的OS资源以及服务。

提供一个Web界面操作OS系统,使用Django框架基于OS API开发,支持将session存储在DB、Memcached支持集群。虚拟机创建流程如图9所示:

部署:

(1)安装软件包yum install openstack-dashboard –y;

(2)编辑文件 /etc/openstack-dashboard/local_settings在控制节点上配置仪表盘以使用OS服务,配置角色,配置API版本;

(3)创建用户时的默认域配置为 default;

(4)使用单一扁平网络,禁用支持3层网络服务;

(5)修改时区;

(6)Apache服务重启。

页面访问:需输入配置/etc/openrc.sh时的域、用户名、密码来登录(如图10所示)。

至此OpenStack云计算基础架构平台基本上完成了。

5 OpenStack(OS) 云平台分析

云计算架构创建初衷及目的在于:为企业提供虚拟计算和存储服务的云,这其中有公有云、私有云,也有“大云”“小云”、可以在框架中提供灵活的虚拟计算技术。这些“云”之间耦合性低,既可以独立安装,也可以独立启动和终止运行。本系统有如下优点:扩展性好,安全性高,不会存在单点故障。OS是Rackspace公司和NASA组织合作开发的开源项目,是一系列开源软件项目的结合,是基础设施资源的系统管理的网络计算平台。

整个OS是由控制节点,计算节点,网络节点,存储节点四大部分组成。(这四个节点可以安装在一台机器上,进行单机部署)。

6 结束语

本文提出的OS基础架构平台搭建方案,旨在教学学习以及中小企业提供云计算服务,本文在搭建OS云平台过程中,发现云计算技术对数据库依赖性过于强烈,并且在网络性能方面不足,因此,如何优化數据库与云计算结合性、稳定性以及改善云平台使用过程中相关网络性能,成为本文作者后续研究方向之一。

参考文献:

[1]郭广宇.云计算环境下网络信息安全[J/OL].电子技术与软件工程,2018(06).

[2]王然然.论云计算下的网络安全及措施[J].电子技术与软件工程,2018(01):224-225.

[3]徐达宇. 云计算环境下资源需求预测与优化配置方法研究[D].合肥工业大学,2014.

[4]张小庆. 基于云计算环境的资源提供优化方法研究[D].武汉理工大学,2017.

[5]刘婷婷. 面向云计算的数据安全保护关键技术研究[D].解放军信息工程大学,2016.

[6]王杰(Frederic Nzanywayingoma). 云计算中的任务调度算法与虚拟资源优化分析[D].北京科技大学,2018.

[7]浦洁.云计算在数字图书馆中的应用研究[J].新世纪图书馆,2018(01):58-61.

[8]刘森. 云计算技术的价值创造及作用机理研究[D].浙江大学,2014.

[9]邓见光. 云计算任务调度策略研究[D].华南理工大学,2015.

猜你喜欢
虚拟化技术数据云计算
浅谈计量自动化系统实现预购电管理应用
实验云:理论教学与实验教学深度融合的助推器