一种基于OpenStack的云平台集群方法及系统与流程

文档序号:12132631阅读:276来源:国知局
一种基于OpenStack的云平台集群方法及系统与流程

本发明涉及云计算技术领域,具体涉及一种基于OpenStack的云平台集群方法及系统。



背景技术:

OpenStack是一个为公共及私有云的建设与管理提供软件的开源项目,包含计算、对象存储、块存储、网络、监控、自动化运维、权限管理、镜像、界面管理等组件。在当前的云计算浪潮中,由于OpenStack的开源、架构的健壮性等方面的优点,常常使用OpenStack搭建共有或私有云平台。已经有但是由于OpenStack的开源特性,在部署便捷性方面比较差,配置起来十分复杂,使得配置时间较长,而且容易出错,而且在不同的环境下,如网络、服务器配置等不同,造成了部署的环境容易出错或不稳定。

目前比较有名的OpenStack部署方法有以下两种:

1.Fuel方法

Fuel方法利用PXE(preboot execute environment,预启动执行环境)方式的操作系统安装,利用puppet安装(puppet是一种Linux、Unix、windows平台的集中配置管理系统)和配置OpenStack相关服务,优点是可以通过WEB界面灵活的安装操作系统,并且配置节点需要运行的服务;缺点是一个节点一旦初始化完成之后,只能通过删除节点然后重新安装操作系统和配置OpenStack相关服务。

2.Kolla方法

Kolla方法为OpenStack的每一个服务都创建一个对应的Docker Image,(Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。)通过Docker Image将部署的粒度减小到服务级别,从而使OpenStack服务之间影响降到最小,并且一旦部署失败,也很容易重新部署,搭建集群很快;缺点是引入了Docker技术,在OpenStack服务复杂基础上附加了复杂性,排除和解决问题更难。

以上两种方法,在节点、网络、存储的管理上都比较欠缺,相关的配置都需要人工在后台修改配置文件和执行命令才能实现。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种基于OpenStack的云平台集群方法及系统,可快速实现云平台中各节点的部署。

为达到以上目的,本发明采取的技术方案是:一种基于OpenStack的云平台集群方法:预设服务器可选的节点角色的参数,所述节点角色包括控制节点、计算节点、存储节点、网络节点;将装有OpenStack所有服务的系统制作成光盘镜像文件,并在所有服务器上安装所述光盘镜像文件;将用户随机选择的一台服务器的节点角色设置为控制节点,初始化并启动控制节点中OpenStack所有服务;通过控制节点添加其他服务器,设置服务器的节点角色为计算节点、存储节点、网络节点中的一种或多种,设置服务器的网络参数和存储参数,初始化并启动与设置的节点角色相关的OpenStack服务。

在上述技术方案的基础上,将装有OpenStack所有服务的系统制作成光盘镜像文件包括:

在一台服务器上安装Linux操作系统;

安装OpenStack的所有服务,并且删除掉OpenStack所有服务的启动脚本;

将当前操作系统直接制作成光盘镜像文件。

在上述技术方案的基础上,初始化控制节点中OpenStack所有服务包括:打开控制节点的HTTP服务,输入控制节点的root密码,初始化并启动控制节点中OpenStack所有服务。

在上述技术方案的基础上,通过控制节点添加服务器作为计算节点包括:

通过控制节点输入需要添加的服务器的IP以及root密码,设置服务器的节点角色为计算节点,配置该计算节点的存储节点的IP、控制节点IP、虚拟化类型,设置该计算节点每块网卡的网络类型,初始化并启动计算相关的OpenStack服务。

在上述技术方案的基础上,通过控制节点添加服务器作为存储节点包括:

通过控制节点输入需要添加的服务器的IP以及root密码,设置服务器的节点角色为存储节点,配置该网络节点的存储节点的IP、控制节点IP、虚拟化类型,设置该存储节点每块网卡的网络类型为绑定类型,初始化并启动存储相关的OpenStack服务。

在上述技术方案的基础上,通过控制节点添加服务器作为网络节点包括:

通过控制节点输入需要添加的服务器的IP以及root密码,设置服务器的节点角色为网络节点,配置该网络节点的存储节点的IP、控制节点IP、虚拟化类型,设置该网络节点两个网卡作为外部网络出口,初始化并启动网络相关的OpenStack服务。

在上述技术方案的基础上,通过控制节点向存储节点添加存储设备包括:

通过控制节点选择管理所述存储设备的存储节点;

在所述存储节点中输入所述存储设备的IP,设置所述存储设备的存储类型和存储标识;

在存储节点中创建与所述存储设备对应的存储服务,并且创建所述存储服务启动脚本;

根据所述存储设备的存储标识在存储节点上启动对应的存储服务。

在上述技术方案的基础上,若需更改服务器的节点角色,通过控制节点更改服务器的节点角色设置,配置更改节点角色后服务器的存储节点的IP、控制节点IP、虚拟化类型,设置服务器每块网卡的网络类型,初始化并启动与更改后的节点角色相关的OpenStack服务。

本发明还公开了一种基于OpenStack的云平台集群系统,包括:

参数预设模块,用于预设服务器可选的节点角色的参数,所述节点角色包括控制节点、计算节点、存储节点、网络节点;

系统安装模块,用于将装有OpenStack所有服务的系统制作成光盘镜像文件,并在所有服务器上安装;

节点管理模块,用于将用户随机选择的一台服务器的节点角色设置为控制节点,初始化并启动控制节点中OpenStack所有服务;通过控制节点添加其他服务器,设置服务器的节点角色为计算节点、存储节点、网络节点中的一种或多种,初始化并启动与设置的节点角色相关的OpenStack服务;

存储添加模块,用于通过控制节点选择管理所述存储设备的存储节点;在所述存储节点中输入所述存储设备的IP,设置所述存储设备的存储类型和存储标识;在存储节点中创建与所述存储设备对应的存储服务和服务配置文件,并且创建所述存储服务启动脚本;初始化存储节点存储相关的OpenStack服务时,根据所述存储节点添加的存储设备的存储标识启动对应的存储服务。

在上述技术方案的基础上,所述节点管理模块包括:

角色设置单元,用于设置服务器的节点角色;

节点配置单元,用于获取各节点本身的IP,设置各节点的存储节点的IP、控制节点IP,虚拟化类型;

节点初始化单元,用于初始化并启动与节点角色对应的OpenStack服务。

与现有技术相比,本发明的优点在于:

1、本发明预设服务器可选的节点角色——控制节点、计算节点、存储节点、网络节点的参数,添加服务器作为节点时,只需要选择节点角色,即可将服务器设置为相应的节点,并且可设置服务器的节点角色为计算节点、存储节点、网络节点中的一种或多种。

2、若需更改服务器的节点角色,只需更改服务器的节点角色设置即,可实现服务器节点角色的便捷切换。

3、本发明中为存储节点添加存储设备时,每一个存储设备对应一个存储服务,需添加或删除某一存储设备时,对当前存储节点的其他存储设备均没有影响。

附图说明

图1为本发明实施例中基于OpenStack的云平台集群方法的流程示意图;

图2为本发明实施例中基于OpenStack的云平台集群系统的结构示意图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。

参见图1所示,本发明实施例提供一种基于OpenStack的云平台集群方法,S1,预设服务器可选的节点角色的参数,节点角色包括控制节点、计算节点、存储节点、网络节点;S2,将装有OpenStack所有服务的系统制作成光盘镜像文件,并在所有服务器上安装;S3,将用户随机选择的一台服务器的节点角色设置为控制节点,初始化并启动控制节点中OpenStack所有服务;S4,通过控制节点添加其他服务器,设置服务器的节点角色为计算节点、存储节点、网络节点中的一种或多种,初始化并启动与设置的节点角色相关的OpenStack服务。本发明预设服务器可选的节点角色——控制节点、计算节点、存储节点、网络节点的参数,添加服务器作为节点时,只需要选择节点角色,即可将服务器设置为相应的节点,并且可设置服务器的节点角色为计算节点、存储节点、网络节点中的一种或多种。

将装有OpenStack所有服务的系统制作成光盘镜像文件包括:在一台服务器上安装Linux操作系统;安装OpenStack所有服务,并且删除掉OpenStack所有服务的启动脚本;将当前操作系统直接制作成光盘镜像文件。

例如,先在一台服务器上安装Linux操作系统,将OpenStack所有服务,包含Nova,Keystone,Neutron,Cinder全部安装,并且删除掉所有服务器的启动脚本;将当前操作系统直接制作成光盘镜像文件。在所有节点上安装光盘镜像文件。

初始化控制节点中OpenStack所有服务包括:打开控制节点的HTTP服务,输入控制节点的root密码,初始化并启动控制节点中OpenStack所有服务。

例如,初始化的步骤如下:

a)初始化NTP服务;

b)初始化数据库:清除MySQL所有匿名帐户,初始化所有服务的数据库用户,然后初始化keystone的数据库,将各个服务在keystone中的用户全部自动创建出来,并且添加到管理员角色中;最后初始化各个服务的数据库,并且初始化keystone、nova、cinder、neutron的相关的服务及每个服务的endpoint;

c)初始化rabbitmq服务:通过配置文件初始化一个默认帐户,删除guest帐户,然后启用rabbitmq_management插件;

d)初始化Nova服务:自动创建并配置/etc/nova/nova.conf,自动将步骤b中生成的nova的一些参数配置进去,并且创建相关服务的启动脚本;

e)初始化Cinder服务:自动创建并配置/etc/cinder/cinder.conf,方法与步骤d类似;

f)初始化Neutron服务

i.修改/etc/sysctl.conf加入如下参数,保存之后使用sysctl–p立即生效

net.ipv4.ip_forward=1

net.ipv4.conf.all.rp_filter=0

net.ipv4.conf.default.rp_filter=0

ii.配置/etc/neutron/neutron.conf,方法与步骤d类似。

通过控制节点添加服务器作为计算节点包括:通过控制节点输入需要添加的服务器的IP以及root密码,设置服务器的节点角色为计算节点,配置该计算节点的存储节点的IP、控制节点IP、虚拟化类型,设置该计算节点每块网卡的网络类型,初始化并启动计算相关的OpenStack服务。

例如,通过控制节点选择添加节点,输入服务器的IP地址,选中计算节点并输入root密码,选择存储节点IP、管理节点IP、虚拟化类型,点击确定之后节点的nova相关服务就初始化完成了。

通过控制节点添加服务器作为存储节点包括:通过控制节点输入需要添加的服务器的IP以及root密码,设置服务器的节点角色为存储节点,配置该网络节点的存储节点的IP、控制节点IP、虚拟化类型,设置该存储节点每块网卡的网络类型为绑定类型,初始化并启动存储相关的OpenStack服务。

例如,通过控制节点选择添加节点,输入服务器的IP地址,选中网络节点角色以及root密码,选择外部网络的网卡eth2,点击确定之后,neutron的相关服务就配置好,并且已经启动了;

设置该存储节点的网络详情,点击创建Bond设备,选中eth2和eth3,然后选中保留原来eth2的IP地址,点击保存之后,Bond设备以及neutron配置和服务就都全部配置完成了。

通过控制节点添加服务器作为网络节点包括:通过控制节点输入需要添加的服务器的IP以及root密码,设置服务器的节点角色为网络节点,配置该网络节点的存储节点的IP、控制节点IP、虚拟化类型,设置该网络节点两个网卡作为外部网络出口,初始化并启动网络相关的OpenStack服务。

例如,通过控制节点选择添加节点,输入服务器的IP地址,选中网络节点角色以及root密码,选择外部网络的网卡eth2,点击确定之后,neutron的相关服务就配置好,并且已经启动了;

设置该网络节点的网络详情,点击创建Bond设备,选中eth2和eth3,然后选中保留原来eth2的IP地址,点击保存之后,Bond设备以及neutron配置和服务就都全部配置完成了

通过控制节点向存储节点添加存储设备包括:通过控制节点选择管理存储设备的存储节点;在存储节点中输入存储设备的IP,设置存储设备的存储类型和存储标识;在存储节点中创建与存储设备对应的存储服务,并且创建存储服务启动脚本;根据所述存储设备的存储标识在存储节点上启动对应的存储服务。除了存储类型和标识,还有存储的相关参数。比如:ISCSI存储设备的参数有:iqn,lun,用户名,密码;FC存储设备的参数有:lun;NFS存储设备的参数有:共享路径,存储mount参数。

本发明中为存储节点添加存储设备时,每一个存储设备对应一个存储服务,需添加或删除某一存储设备时,对当前存储节点的其他存储设备均没有影响。存储服务为cinder-volume服务。

例如,添加IP为192.168.1.253的iSCSI存储设备至一存储节点,具体步骤如下:

a)通过控制节点选择管理存储设备的存储节点,点击添加存储设备;

b)选择存储类型为iSCSI,输入192.168.1.253,点击连接存储设备;

c)选择存储标识为LUN0;

d)点击添加,创建一个cinder-volume服务,并且创建这个cinder-volume服务的启动脚本OpenStack-cinder-volume@,启动脚本如下:

[Unit]

Description=OpenStack CinderVolume Server

After=syslog.target network.target

[Service]

[Install]

WantedBy=multi-user.target

e)根据添加成功的存储标识在存储节点上启动cinder-volume服务,对存储节点上其他cinder-volume服务不影响。

若需更改服务器的节点角色,通过控制节点更改服务器的节点角色设置,配置更改节点角色后服务器的存储节点的IP、控制节点IP、虚拟化类型,设置服务器每块网卡的网络类型,初始化并启动与更改后的节点角色相关的OpenStack服务。若需更改服务器的节点角色,只需更改服务器的节点角色设置即,可实现服务器节点角色的便捷切换。

例如,将某一节点由独立存储节点修改为计算节点和存储节点合一的节点,具体步骤如下:

a)通过控制节点选择修改节点角色;

b)选中计算节点和存储节点并输入root密码;

c)选择存储节点IP、管理节点IP、虚拟化类型,点击确定;

初始化该节点的nova和cinder相关服务,计算节点和存储节点合一的节点设置完成。

参见图2所示,本发明还公开了一种基于OpenStack的云平台集群系统,包括:

参数预设模块,用于预设服务器可选的节点角色的参数,节点角色包括控制节点、计算节点、存储节点、网络节点;

系统安装模块,用于将装有OpenStack所有服务的系统制作成光盘镜像文件,并在所有服务器上安装;

节点管理模块,用于将用户随机选择的一台服务器的节点角色设置为控制节点,初始化并启动控制节点中OpenStack所有服务;通过控制节点添加其他服务器,设置服务器的节点角色为计算节点、存储节点、网络节点中的一种或多种,初始化并启动与设置的节点角色相关的OpenStack服务。

存储添加模块,用于通过控制节点选择管理存储设备的存储节点;在存储节点中输入存储设备的IP,设置存储设备的存储类型和存储标识;在存储节点中创建与存储设备对应的存储服务和服务配置文件,并且创建存储服务启动脚本;初始化存储节点存储相关的OpenStack服务时,根据存储节点添加的存储设备的存储标识启动对应的存储服务。

节点管理模块包括:

角色设置单元,用于设置服务器的节点角色;

节点配置单元,用于获取各节点本身的IP,设置各节点的存储节点的IP、控制节点IP,虚拟化类型;

节点初始化单元,用于初始化并启动与节点角色对应的OpenStack服务。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1