基于OpenStack的云平台搭建
2021-12-02吕品品
吕品品
摘要:OpenStack是美国宇航局和Rackspace在Apache许可下共同开发的,是一个开源的云计算平台,将计算、存储、网络等功能设计成各个服务组件,彼此之间松耦合,组合在一起,并且提供一套完整的管理方法和工具。云平台根据提供服务的方式不同划分为 IaaS、PaaS 和 SaaS。OpenStack是具有代表性的IaaS开源云平台,目前已有一百多个国家的超过十万名成员加入OpenStack社区。本文主要解决OpenStack平台搭建问题。
关键词:OpenStack,私有云,IAAS
OpenStack的启动服务宗旨在创建一个云计算平台,可以很容易地部署、资源丰富和扩展。它的首要任务是简化云的部署过程,确保云的可伸缩性良好。OpenStack由多个单独的子项目组成,可以在云计算平台上快速管理不同的资源(如计算能力、网络、存储等),并且也会提供支持相关的虚拟化技术。其中Nova是Openstack计算的弹性控制器,负责对于云平台环境的维护和运维管理的计算资源。OpenStack作为IaaS云操作系统,通过Nova运行管理对虚拟生命周期的控制。Glance是用于OpenStack的镜像服务,用于登录、注册Openstack云平台,从虚拟机中提取其中的镜像。Glance服务提供REST API,允许搜索虚拟计算机镜像的元数据并找到它们。通过镜像服务提供的虚拟镜像可以自由地存储在不同的地方,从文件系统的简单镜像存放到OpenStack等对象的存储系统。Swift是一种长期数据类型的存储设备,它使用公共设备来构建一个可存储的、可扩展的、可扩展的、可存储的对象容器,使它可以存储到。Keystone不仅为OpenStack提供OpenStack的身份验证服务、用户角色信息、还为openstack提供了规则和令牌,并且为其他组件提供服务和API接口管理,后端可以获得其他认证服务,如使用LDAP服务作为认证服务。Neutron模块负责OpenStack虚拟实例的网络连接,不仅是实现了的创建子网、路由和为虚拟机实例分配IP网络地址基本功能,还可支持防火墙、虚拟网络中节点间 VPN 服务等。Horizon是一个openstack网络控制面板,可以控制实例、镜像、创建密码、添加到实例、操作Swift容器等等。此外,用户可以使用控制面板中的终端(控制台)或VNC直接访问实例。
构建一个简单的OpenStack平台,需要两个服务器或虚拟机器,一个作为OpenStack控制节点,一个作为计算节点。控制节点将完成消息、数据库、NTP和认证服务、镜像服务、计算服务、网络服务和OpenStack接口的安装。计算机节点将完成计算机服务、网络服务的安装。本文的搭建是通过虚拟机进行设置,采用的软件是VMware Workstation。
首先创建两台虚拟机并安装操作系统,并为虚拟机配置网络,设置两块网卡,一块用作内网间的通信以及对云平台的管理;另一块作外部网络对Iaas平台的访问以及对外部用户提供业务和服务。修改主机名并增加主机的名字解析,设置完成后,还要进行测试,看能否 PING 通,能否上网等测试,这一些都是部署环境中必须要配置的。关闭两台机器的防火墙(两个节点都要执行),设置selinux为permissive,并创建iso挂载文件目录,设置开机自动挂载。用原有的yum仓库,下载一个httpd服务,方便为两个节点同时建立yum仓库的来源,减少镜像上传时间和缩小硬盘使用空间。由于网络传输比较慢,因此使用自带的yum源直接从本地目录中读取。
接下来是部署平台的一些基础性的服务。在控制节点部署chrony服务器,本机作为时间源,允许计算节点同步时间,并在计算节点上指定控制节点为上游NTP服务器。安装配置基础数据库,安装用于各组件之间进行沟通的消息队列,安装缓存包,以及安装 OPENSTACK 包。在这一部分是准备了云服务器的基础配置,这些服务是否正常运行决定了后面的安装部署能否成功。安装完之后,就可以启动这些服务。
在整个搭建过程中,最为关键的部署是各组件的安装。首先是认证服务KEYSTONE的安装及配置,在这里安装了相应的数据库外,还设置了密码,对里边的各配置文件按照官方文档进行更改,BOOTSTRAP 的认证服务,配置相关的环境变量,创建用户角色,到最后的安装配置的校验,每一步都是环环相扣,不能出现错误的。接下来对GLANCE进行安装,也就是创建与镜像服务相关的数据库,安装相应的GLANCE包,同时配置相关文件,最后进行验证和校验,查看上传的镜像更新列表等。然后安装NOVA服务,同样创建相关数据库,创建各种各样的用户,安装NOVA服务包以及配置相关服务,注册数据库,添加计算节点,启动服务,修改 KVM 配置等,最后对 NOVA 服务进行校验。在网络服务组件中同样是创建相关的数据库,之后进行配置,配置DHCP服务,配置计算节点的网络服务,启动和校验网络功能服务。在控制面板的安装中,主要是安装DASHBOARD包,配置文件更改,最后服务重启,到测试后台网页。
手动部署一个云平台系统,需要参照官方的文档说明,从底层一点点的进行配置,如果出现错误,我们需要排错纠错,只有这样才能继续进行下一步的操作。因此手动部署的过程是比较繁琐的。如果要在几十台或上百台服务器中部署这个云平台,所花费的时间和精力是巨大的,效率是较低,这里我们会采用另外一种高效的办法,那就是利用自动化部署。所谓的自动化部署,其实就是一个脚本,运行这个脚本就相当于运行了一个程序,能够把所有的部署代码从上到下都自动执行一遍,这样大大节省了人工部署的时间。当然也可以使用如自动化部署工具Fuel来对OpenStack进行部署,Fuel是一个开源的OpenStack平台搭建安装和部署的工具,可通过网页的方式快速简单的对 OpenStack 云平台进行配置。它的主要功能包括PXE 安装操作系统,主节点提供 DHCP、TFTP 服务
简化网络配置和文件传输,能够对openstack服务进行编排,此外还提供 OpenStack 关键服务健康检查和实时查看日志等服务。由此可见,自动化部署还是非常实用的。
本文对云计算中 OpenStack 技术及其功能组件进行了简要的介绍,结合自身的现有资源环境,提出了基于OpenStack的云平台有效搭建方案,并详细对其各组件的工作原理及安装部署流程进行了说明。下一步的工作是监测此云平台的运行情况并评估性能,将相关系统迁移到此平台,保障运行的安全稳定。
參考文献
[1]OpenStack基金会 2016年双年调查报告摘编中国信息化 2016年。
[2]王紫璇,吕良双 基于共享存储的OpenStack虚拟机应用分发策略信息网络安全,2019。
[3]Openstack云平台架构和云主机运维模式的研究浙江万里学院学报 2016年。
[4]云租户虚拟机主动可信验证机制的研究与应用信息网络安全 2016年。
[5]linux 下的文件在系统中的传输以及系统日志的管理2017年。