一种单机KVM虚拟化下快速部署多节点Ceph集群的方法和系统技术方案

技术编号:24454993 阅读:32 留言:0更新日期:2020-06-10 15:17
本发明专利技术公开了一种单机KVM虚拟化下快速部署多节点Ceph集群的方法和系统,属于云计算技术领域,该方法基于单机KVM虚拟化下,配合shell脚本和Saltstack程序实现Ceph多节点虚拟机的自动创建、网络配置和Ceph组件的部署及测试验证。该系统包括远程处理模块、配置渲染模块、虚拟机创建和配置模块、Ceph部署模块、Ceph测试模块和环境清理模块。本发明专利技术可以让Ceph技术人员,基于单机KVM虚拟化下快速部署出多节点Ceph集群,进行技术学习和验证;能提高Ceph相关技术人员快速部署环境的效率,增强实际操作Ceph和解决故障的能力,也是对刚接触Ceph的技术人员进行技术培训的方式之一。

A method and system for rapid deployment of multi node CEPH cluster under single machine KVM virtualization

【技术实现步骤摘要】
一种单机KVM虚拟化下快速部署多节点Ceph集群的方法和系统
本专利技术涉及云计算
,具体地说是一种单机KVM虚拟化下快速部署多节点Ceph集群的方法和系统。
技术介绍
Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目。经过多年的发展之后,已得到众多云计算和存储厂商的支持,成为应用最广泛的开源分布式存储平台。Ceph的最底层是RADOS(分布式对象存储系统),它具有可靠、智能、分布式等特性,实现高可靠、高可拓展、高性能、高自动化等功能,并最终存储用户数据。随着云计算技术的不断普及,Ceph分布式存储系统作为开源存储系统的典型代表,在云计算环境下使用越来越多。Ceph分布式存储系统支持多种磁盘类型能提供较好的性能、可靠性和扩展性。对于Ceph相关的技术人员能快速的部署出多节点Ceph集群环境进行直观的功能操作、参数调优、故障演练有比较现实的意义。目前常规部署方式通过手动创建虚拟机、手动通过ceph-deploy工具进行Ceph集群部署,此种方式操作繁琐,对于没接触过Ceph的技术人员操作难度较大。
技术实现思路
本专利技术的技术任务是针对以上不足之处,提供一种单机KVM虚拟化下快速部署多节点Ceph集群的方法和系统,可以提高Ceph相关技术人员快速部署环境的效率,增强实际操作Ceph和解决故障的能力。本专利技术解决其技术问题所采用的技术方案是:一种单机KVM虚拟化下快速部署多节点Ceph集群的方法,该方法基于单机KVM虚拟化下,配合shell脚本和Saltstack程序实现Ceph多节点虚拟机的自动创建、网络配置和Ceph组件的部署及测试验证;该方法具体通过以下方式实现:1)、制作部署需要的虚拟机镜像模板和Ceph多版本程序源;2)、定义资源类型信息并通过渲染工具生成部署模板;3)、通过脚本程序和部署模板信息完成Salt-Master节点的创建;4)、根据部署模板信息创建Ceph角色节点虚拟机及完成初始配置;5)、进行Ceph组件的安装配置;6)、对部署Cpeh集群块、文件、对象三类功能进行测试验证;7)、对已安装的ceph组件的清理或部署虚拟机的销毁清理。Ceph的核心组件包括Client客户端、MON监控服务、MDS元数据服务、RGW对象存储服务、OSD存储服务。SaltStack是一个配置管理系统,能够维护预定义状态的远程节点(比如,确保指定的包被安装,指定的服务在运行);也是一个分布式远程执行系统,用来在远程节点(可以是单个节点,也可以是任意规则挑选出来的节点)上执行命令和查询数据。SaltStack运用大量的技术和技巧:网络层使用卓越的ZeroMQ网络类库构建,所以SaltStack的守护端包含了可行的和透明的AMQ代理。SaltStack使用公钥和master守护端认证,然后使用更快的AES负责通信加密;身份认证和加密对SaltStack是不可或缺的。SaltStack通过msgpack建立通信,使得速度更快并且网络流量占用少。SaltStack便于扩展,SaltStack执行程序可以写为纯Python模块。数据从SaltStack执行过程中收集到可以发送回master服务端,或者发送到任何任意程序。SaltStack可以从一个简单的PythonAPI调用,或者从命令行被调用,所以SaltStack可以用来执行一次性命令,也可以作为一个更大的应用程序的一个组成部分。基于单机KVM虚拟化部署多节点Ceph集群相关组件节点,各个组件节点通过虚拟机镜像模板并配合元数据及SaltStack实现虚拟机的创建、网络配置、磁盘配置以及组件安装配置。该方法基于基于单机KVM虚拟化下快速部署出多节点Ceph集群,通过此部署方式可以提高部署效率,并支持销毁Ceph集群和多次部署Ceph集群。优选的,步骤1)中所述的虚拟机镜像模板包括salt-minion和cloud-init的基础镜像并包括Ceph多版本源及salt-master程序的镜像。优选的,对于步骤2),根据定义的Ceph版本、Ceph节点类型及数量、网络IP地址和OSD磁盘信息生成,通过渲染工具生成Ceph部署模板。优选的,所述步骤3)通过包含Salt-Master及Ceph源的镜像创建出的虚拟机并发布出供apt安装Ceph的源。优选的,对于步骤4),通过创建虚拟机及配置模块根据部署模板信息创建Ceph角色节点虚拟机及完成初始配置,所述创建虚拟机及配置模块包括根据定义的虚拟机规格、网络IP地址及磁盘进行虚拟机创建和配置;通过包含salt-minion的镜像,通过部署模板进行的虚拟机创建及初始配置,包括角色节点虚拟机数量、节点的网络配置和OSD节点磁盘的挂载。优选的,对于步骤5),通过Ceph部署模块实现Ceph组件的安装配置,所述Ceph部署模块包括Cephmon节点部署、Cephosd节点部署、CephRGW节点部署、CephMDS服务节点部署和CephiSCSI网关节点部署;通过部署模板对定义的Ceph节点进行组件安装及配置。优选的,对于步骤6),通过Cpeh测试模块实现部署Cpeh集群块、文件、对象三类功能进行测试验证,所述Cpeh测试模块包括Ceph集群状态检查、Cephpool创建及RBD创建Map删除;Ceph集群部署完毕后对Ceph集群的块、文件和对象进行测试验证,包括pool的创建删除,rbd块的创建、Map和挂载,Cephfs的挂载读写及对象存储bucket的上传下载。优选的,通过环境清理模板对Ceph角色节点、Ceph集群配置及安装包的清理,Ceph使用虚拟机的清理。进一步的,该方法的具体操作步骤如下:S1:制作出基础镜像及包含Ceph源(包含J、L、M版本和依赖包)的镜像;S2:通过初始脚本配置libvirt和创建Nat模式的管理网、存储public网、存储cluster网;S3:用包含Ceph源的镜像创建出源服务节点(仅需包含管理网接口及IP地址);S4:定义SaltStack的模板文件,包含Ceph版本、Cephmon节点及数量、osd节点及数量、是否部署RGW(节点及数量)、是否部署MDS节点、是否部署iSCSI网关服务(节点及数量),定义节点的规格、网卡名称及IP地址、OSD节点磁盘信息等;S5:执行SaltStack创建虚拟机模块,创建出Ceph角色节点并配置上网络;S6:验证Ceph角色节点管理网、存储public网、存储cluster网连通性;S7:执行SaltStack部署Ceph模块,安装配置Cephmon节点、osd节点、RGW节点、iSCSI网关节点;S8:执行SaltStack测试Ceph模块,测试Cephpool创建、rbd块创建及map、cephfs挂载及文件写入、rgwbucket创建及文件put/get测试。<本文档来自技高网...

【技术保护点】
1.一种单机KVM虚拟化下快速部署多节点Ceph集群的方法,其特征在于该方法基于单机KVM虚拟化下,配合shell脚本和Saltstack程序实现Ceph多节点虚拟机的自动创建、网络配置和Ceph组件的部署及测试验证;/n该方法具体通过以下方式实现:/n1)、制作部署需要的虚拟机镜像模板和Ceph多版本程序源;/n2)、定义资源类型信息并通过渲染工具生成部署模板;/n3)、通过脚本程序和部署模板信息完成Salt-Master节点的创建;/n4)、根据部署模板信息创建Ceph角色节点虚拟机及完成初始配置;/n5)、进行Ceph组件的安装配置;/n6)、对部署Cpeh集群块、文件、对象三类功能进行测试验证;/n7)、对已安装的ceph组件的清理或部署虚拟机的销毁清理。/n

【技术特征摘要】
1.一种单机KVM虚拟化下快速部署多节点Ceph集群的方法,其特征在于该方法基于单机KVM虚拟化下,配合shell脚本和Saltstack程序实现Ceph多节点虚拟机的自动创建、网络配置和Ceph组件的部署及测试验证;
该方法具体通过以下方式实现:
1)、制作部署需要的虚拟机镜像模板和Ceph多版本程序源;
2)、定义资源类型信息并通过渲染工具生成部署模板;
3)、通过脚本程序和部署模板信息完成Salt-Master节点的创建;
4)、根据部署模板信息创建Ceph角色节点虚拟机及完成初始配置;
5)、进行Ceph组件的安装配置;
6)、对部署Cpeh集群块、文件、对象三类功能进行测试验证;
7)、对已安装的ceph组件的清理或部署虚拟机的销毁清理。


2.根据权利要求1所述的一种单机KVM虚拟化下快速部署多节点Ceph集群的方法,其特征在于步骤1)中所述的虚拟机镜像模板包括salt-minion和cloud-init的基础镜像并包括Ceph多版本源及salt-master程序的镜像。


3.根据权利要求1所述的一种单机KVM虚拟化下快速部署多节点Ceph集群的方法,其特征在于对于步骤2),根据定义的Ceph版本、Ceph节点类型及数量、网络IP地址和OSD磁盘信息生成,通过渲染工具生成Ceph部署模板。


4.根据权利要求1所述的一种单机KVM虚拟化下快速部署多节点Ceph集群的方法,其特征在于所述步骤3)通过包含Salt-Master及Ceph源的镜像创建出的虚拟机并发布出供apt安装Ceph的源。


5.根据权利要求1所述的一种单机KVM虚拟化下快速部署多节点Ceph集群的方法,其特征在于通过创建虚拟机及配置模块根据部署模板信息创建Ceph角色节点虚拟机及完成初始配置,所述创建虚拟机及配置模块包括根据定义的虚拟机规格、网络IP地址及磁盘进行虚拟机创建和配置;
通过包含salt-minion的镜像,通过部署模板进行的虚拟机创建及初始配置,包括角色节点虚拟机数量、节点的网络配置和OSD节点磁盘的挂载。


6.根据权利要求1所述的一种单机KVM虚拟化下快速部署多节点Ceph集群的方法,其特征在于通过Ceph部署模块实现Ceph组件的安装配置,所述Ceph部署模块包括Cephmon节点部署、Cephosd节点部署、CephRGW节点部署、CephMDS服务节点部署和CephiSCSI网关节点部署;
通过部署模板对定义的Ceph节点进行组件安装及配置。


7.根据权利要求1所述的一种单机KVM虚拟化下快速部署多节点Ceph集群的方...

【专利技术属性】
技术研发人员:宋伟蔡卫卫谢涛涛申嘉童赵磊
申请(专利权)人:山东汇贸电子口岸有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1