CN115454333A - 云计算平台与存储系统的对接方法及装置 - Google Patents
云计算平台与存储系统的对接方法及装置 Download PDFInfo
- Publication number
- CN115454333A CN115454333A CN202211020898.XA CN202211020898A CN115454333A CN 115454333 A CN115454333 A CN 115454333A CN 202211020898 A CN202211020898 A CN 202211020898A CN 115454333 A CN115454333 A CN 115454333A
- Authority
- CN
- China
- Prior art keywords
- target
- cloud computing
- computing platform
- pool
- erasure code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种云计算平台与存储系统的对接方法及装置,涉及计算机技术领域,该方法包括:从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本;调用目标配置脚本,以在存储系统中创建云计算平台中的目标组件对应的纠删码池,修改目标组件的配置,指定目标组件对应的纠删码池为目标组件的存储池。本发明提供的云计算平台与存储系统的对接方法及装置,能自动、成熟、可靠的实现OpenStack云计算平台与Ceph中纠删码池之间的一键对接,避免了繁琐的人工配置,能解决Ceph中副本池的存储利用率较低,导致OpenStack云计算平台向Ceph中的副本池中存储数据时,易出现由于存储空间不足而无法存储数据的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种云计算平台与存储系统的对接方法及装置。
背景技术
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,可提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。随着云技术方案的成熟,OpenStack组件的模块化极大提高了云技术的灵活性,OpenStack云平台也越来越广泛应用到各种领域。
Ceph是一个高可靠性,可扩展的,高性能的分布式存储系统。它旨在实现可轻松扩展到数PB级别容量、支持多种工作负载的高性能、高可靠性和自动均衡以保证数据的安全等功能。Ceph作为OpenStack的重要组件,也被广泛用于各大企业的云计算业务中
在基于OpenStack云计算平台的生产环境下,OpenStack云计算平台通常与Ceph中的副本池对接,将Ceph中的副本池作为OpenStack云计算平台的后端存储。但是,Ceph中的副本池的存储利用率较低,导致OpenStack云计算平台向Ceph中的副本池存储数据时,易出现由于存储空间不足而无法存储数据的问题。
发明内容
本发明提供一种云计算平台与存储系统的对接方法及装置,用以解决现有技术中Ceph中的副本池的存储利用率较低,导致OpenStack云计算平台向Ceph中的副本池中存储数据时,易出现由于存储空间不足而无法存储数据的缺陷,实现避免由于存储空间不足而无法存储数据。
本发明提供一种云计算平台与存储系统的对接方法,包括:
从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本;
调用所述目标配置脚本,以在存储系统中创建所述云计算平台中的目标组件对应的纠删码池,修改所述目标组件的配置,指定所述目标组件对应的纠删码池为所述目标组件的存储池。
根据本发明提供的一种云计算平台与存储系统的对接方法,所述在存储系统中创建所述云计算平台中的目标组件对应的纠删码池,包括:
在所述存储系统满足预设条件的情况下,在所述存储系统中创建所述目标组件对应的纠删码池;
其中,所述预设条件包括所述存储系统处于目标状态下、所述存储系统中存在纠删码池创建规则且所述存储系统中存在所述目标组件对应的副本池。
根据本发明提供的一种云计算平台与存储系统的对接方法,所述在存储系统中创建所述云计算平台中的目标组件对应的纠删码池,包括:
基于所述存储系统的状态信息,在所述纠删码池创建规则中确定目标创建规则;
基于所述目标创建规则,在所述存储系统中创建所述目标组件对应的原始纠删码池;
更新所述原始纠删码池的配置信息,将配置信息更新后的原始纠删码池确定为所述纠删码池。
根据本发明提供的一种云计算平台与存储系统的对接方法,所述修改所述目标组件的配置,指定所述目标组件对应的纠删码池为所述目标组件的存储池之后,还包括:
将所述存储系统中所述目标组件对应的副本池,作为所述目标组件对应的纠删码池的源数据池。
根据本发明提供的一种云计算平台与存储系统的对接方法,所述从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本,包括:
获取目标指令;
响应于所述目标指令,从所述云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本。
根据本发明提供的一种云计算平台与存储系统的对接方法,在所述云计算平台的部署代码中设置有目标开关的情况下,所述从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本之前,还包括:
将所述目标开关设置为开启状态;
其中,所述目标开关用于开启所述云计算平台与所述存储系统之间的对接。
根据本发明提供的一种云计算平台与存储系统的对接方法,所述指定所述目标组件对应的纠删码池为所述目标组件的存储池之后,还包括:
将所述目标组件中的待存储数据,存储至所述存储系统中所述目标组件对应的纠删码池。
本发明还提供一种云计算平台与存储系统的对接装置,包括:
脚本获取模块,用于从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本;
脚本调用模块,用于调用所述目标配置脚本,以在存储系统中创建所述云计算平台中的目标组件对应的纠删码池,修改所述目标组件的配置,指定所述目标组件对应的纠删码池为所述目标组件的存储池。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述云计算平台与存储系统的对接方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述云计算平台与存储系统的对接方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述云计算平台与存储系统的对接方法。
本发明提供的云计算平台与存储系统的对接方法及装置,通过从OpenStack云计算平台的部署节点或任一控制节点的指定目录中调用目标配置脚本,能在Ceph中创建OpenStack云计算平台中的目标组件对应的纠删码池,并修改上述目标组件的配置,指定目标组件对应的纠删码池为目标组件的存储池,能自动、成熟、可靠的实现OpenStack云计算平台与Ceph中的纠删码池之间的一键对接,避免了繁琐的人工配置,能提高OpenStack云计算平台对接Ceph中的纠删码池的配置效率,能解决Ceph中的副本池的存储利用率较低,导致OpenStack云计算平台向Ceph中的副本池中存储数据时,易出现由于存储空间不足而无法存储数据的问题。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的云计算平台与存储系统的对接方法的流程示意图;
图2是本发明提供的云计算平台与存储系统的对接装置的结构示意图;
图3是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
需要说明的是,池指用于存储对象的逻辑分区。存储池(Pool)可以指用于存储副本、卷影副本和传输日志的一组磁盘。通常可以为特定的应用程序或者不同类型的数据需求创建专用的存储池,例如rdb存储池、rgw存储池、个人专用存储池或某部门专用存储池等。
按存储池的官方类型可以将存储池分为副本池(replicated pool)和纠删码池(erasure code pool)。
副本池可以把每个存入的对象(Object)存储为多个副本,其中分为主副本和从副本,从副本相当于备份副本。在开始存数据之前会计算出该对象存储的主副本与从副本的位置,首先会将数据存入到主副本,然后主副本再将数据分别同步到从副本。主副本与从副本同步完毕后会通知主副本,这时候主副本再响应客户端,并表示数据上传成功。所以如果客户端收到存储成功的请求后,说明数据已经完成了所有副本的存储。
纠删码池可以将数据存储为k+m,其中k表示数据块数量,每个对象存储到纠删码池时会分成k个数据块分开进行存储。而m为编码块,也代表最多容忍可坏的数据块数量。类似于磁盘阵列RAID5,在最大化利用空间的同时,还能保证数据丢失可恢复性,相比副本池更节约磁盘的空间。
通常情况下,Ceph存储即支持副本池,又支持纠删码池。相较于副本池,纠删码池的存储利用率更高。例如:在待存储数据的大小为100M的情况下,若使用副本池,副本池实际可用空间按3个副本算,则上述待存储数据需要占用副本池300M的存储空间;若使用纠删码池,纠删码池的m指定为2,将上述待存储数据分为25块,则上述待存储数据仅需占用纠删码池108M(100+100/25*2)的存储空间。
但是,由于纠删码池对RBD(RADOS Block Devcie)协议的支持不够友好,导致OpenStack云计算平台难以直接对接Ceph的纠删码池,需要进行复杂的人工配置,才能实现OpenStack云计算平台与Ceph的纠删码池的对接。
其中,RBD协议是一种基于rados的对外提供的块存储协议,其基本原理是在Ceph的存储池中以卷的概念管理数据组织,将卷映射出去之后,用户便可像使用本地硬盘一样对其操作了。RBD块存储是Ceph最稳定且最常用的存储类型,RBD块存储通常使用多副本机制的数据冗余机制。OpenStack后端使用ceph副本池作为存储后端可以直接对接使用,无需复杂的配置过程。
对此,本发明提供一种云计算平台与存储系统的对接方法。基于本发明提供的云计算平台与存储系统的对接方法,可以自动、成熟、可靠的实现OpenStack云计算平台与Ceph中的纠删码池之间的对接,可以方便运维人员和实施人员更快速、更便捷地部署OpenStack云计算平台对接Ceph中的纠删码池,免去人工繁琐操作,提高了OpenStack云计算平台对接Ceph中的纠删码池的配置效率,可以解决Ceph中的副本池的存储利用率较低,导致OpenStack云计算平台向Ceph中的副本池中存储数据时,易出现由于存储空间不足而无法存储数据的问题。
图1是本发明提供的云计算平台与存储系统的对接方法的流程示意图。下面结合图1描述本发明的云计算平台与存储系统的对接方法。如图1所示,该方法包括:步骤101、从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本。
需要说明的是,本发明实施例的执行主体为云计算平台与存储系统的对接装置。
需要说明的是,本发明实施例中的云计算平台为OpenStack云计算平台。存储系统为Ceph。
可选地,本发明实施例中OpenStack云计算平台中的目标组件,可以为OpenStack云计算平台中的cinder组件、cinder-backup组件和glance组件。
具体地,OpenStack云计算平台在安装部署时,cinder组件可以在Ceph中创建cinder-volumes副本池,作为cinder组件存储卷的存储池,cinder-backup组件可以在Ceph中创建cinder-backup副本池,作为cinder组件备份卷的存储池,glance组件可以在Ceph中创建images副本池,作为glance组件存储虚拟机镜像的存储池。
在OpenStack云计算平台未与Ceph中的纠删码池对接的情况下,可以从OpenStack云计算平台的部署节点获取目标配置脚本,或者可以从OpenStack云计算平台的任一控制的指定目录中获取目标配置脚本。其中,上述指定目录可以为/usr/bin目录。上述目标配置脚本的文件名称可以为ceph_ec_pool_create.py。
需要说明的是,本发明实施例中的目标配置脚本可以是基于Python语言开发的,用于实现OpenStack云计算平台与Ceph中的纠删码池对接的脚本。上述目标配置脚本可以预先配置于OpenStack云计算平台中的部署脚本中。
相应地,在容器化部署的OpenStack云计算平台以及Ceph中的所有组件部署完成之后,可以使用目标工具,从OpenStack云计算平台的部署节点中将目标配置脚本拷贝至OpenStack云计算平台的每一控制节点的/usr/bin目录下,并设置权限为755。
可选地,上述目标工具可以为ansible工具。其中,ansible工具是一种自动运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,可以实现批量系统配置、批量程序部署、批量运行命令等功能。
步骤102、调用目标配置脚本,以在存储系统中创建云计算平台中的目标组件对应的纠删码池,修改目标组件的配置,指定目标组件对应的纠删码池为目标组件的存储池。
具体地,获取目标配置脚本之后,可以调用上述目标配置脚本,以实现OpenStack云计算平台与Ceph中的纠删码池对接。
调用上述目标配置脚本之后,可以在Ceph中创建cinder组件、cinder-backup组件和glance组件对应的纠删码池,并可以通过修改cinder组件、cinder-backup组件和glance组件的配置,指定cinder组件对应的纠删码池为cinder组件的存储池,指定cinder-backup组件对应的纠删码池为cinder-backup组件的存储池,指定glance组件对应的纠删码池为glance组件的存储池,从而可以实现OpenStack云计算平台与Ceph中的纠删码池对接。
可选地,调用上述目标配置脚本之后,可以在Ceph中创建cinder-volumes-ec-data纠删码池,作为cinder组件对应的纠删码池,可以在Ceph中创建cinder-backup-ec-data纠删码池,作为cinder-backup组件对应的纠删码池,还可以在Ceph中创建images-ec-data纠删码池,作为glance组件对应的纠删码池。并可以通过修改cinder组件、cinder-backup组件和glance组件的配置,指定cinder-volumes-ec-data纠删码池为cinder组件的存储池,指定cinder-backup-ec-data纠删码池为cinder-backup组件的存储池,指定images-ec-data纠删码池为glance组件的存储池。
调用目标配置脚本之后,还可以修改cinder组件、cinder-backup组件和glance组件的用户授权信息,指定client.cinder用户可以对cinder-volumes副本池和cinder-volumes-ec-data纠删码池进行读、写以及可执行操作,指定client.cinderbackup用户可以对cinder-backup副本池和cinder-backup-ec-data纠删码池进行读、写以及可执行操作,指定client.images用户可以对images副本池和images-ec-data纠删码池进行读、写以及可执行操作。
调用目标配置脚本之后,还可以对cinder组件、cinder-backup组件和glance组件的ceph.conf配置进行修改,指定cinder组件将cinder-volumes-ec-data纠删码池作为存储池,指定cinder-backup组件将cinder-backup-ec-data纠删码池作为存储池,指定glance组件将images-ec-data纠删码池作为存储池。
基于上述各实施例的内容,修改目标组件的配置,指定目标组件对应的纠删码池为目标组件的存储池之后,还包括:将存储系统中目标组件对应的副本池,作为目标组件对应的纠删码池的源数据池。
需要说明的是,调用上述目标配置脚本,实现指定cinder组件对应的纠删码池为cinder组件的存储池,指定cinder-backup组件对应的纠删码池为cinder-backup组件的存储池,指定glance组件对应的纠删码池为glance组件的存储池之后,还可以将Ceph中的cinder-volumes副本池作为cinder-volumes-ec-data纠删码池的源数据池,将Ceph中的cinder-backup副本池作为cinder-backup-ec-data纠删码池的源数据池,将Ceph中的images副本池作为images-ec-data纠删码池的源数据池。
本发明实施例通过从OpenStack云计算平台的部署节点或任一控制节点的指定目录中调用目标配置脚本,能在Ceph中创建OpenStack云计算平台中的目标组件对应的纠删码池,并修改上述目标组件的配置,指定目标组件对应的纠删码池为目标组件的存储池,能自动、成熟、可靠的实现OpenStack云计算平台与Ceph中的纠删码池之间的一键对接,避免了繁琐的人工配置,能提高OpenStack云计算平台对接Ceph中的纠删码池的配置效率,能解决Ceph中的副本池的存储利用率较低,导致OpenStack云计算平台向Ceph中的副本池中存储数据时,易出现由于存储空间不足而无法存储数据的问题。
基于上述各实施例的内容,在存储系统中创建云计算平台中的目标组件对应的纠删码池,包括:在存储系统满足预设条件的情况下,在存储系统中创建目标组件对应的纠删码池。
其中,预设条件包括存储系统处于目标状态下、存储系统中存在纠删码池创建规则且存储系统中存在目标组件对应的副本池。具体地,调用上述目标配置脚本之后,可以判断Ceph是否满足预设条件。
判断Ceph是否满足预设条件的具体过程包括首先可以判断Ceph是否处于目标状态下。
可选地,目标状态,包括:Ceph中的各PG状态均为active+clean状态;目标状态,还包括:Ceph中host存储节点的数量不小于3个或者Ceph中的各host存储节点下osd存储节点的数量不小于3个。
需要说明的是,在Ceph中只有一个host存储节点的情况下,若上述host分组下osd存储节点的数量小于3,则可以确定Ceph不处于目标状态;
在Ceph中有两个host存储节点的情况下,若上述两个host存储节点下osd存储节点的数量小于3个,则可以确定Ceph不处于目标状态。
在确定Ceph处于目标状态的情况下,其次可以判断Ceph中是否已经存在纠删码池创建规则。
需要说明的是,Ceph安装配置完成后,会自动生成4个纠删码池创建规则,用于对纠删码池的创建过程进行限定。上述4个纠删码池创建规则包括ceph_osd_3_ecprofile规则、ceph_osd_5_ecprofile规则、ceph_host_3_ecprofile规则和ceph_host_5_ecprofile规则。
可以理解的是,基于纠删码基本的形态可知,纠删码是一个由k个数据块+m个编码块构成的结构,其中k和m值可以按照一定的规则设定,可以用公式:n=k+m来表示。变量k代表原始数据或符号的值。变量m代表故障后添加的提供保护的额外或冗余符号的值。变量n代表纠删码过程后创建的符号的总值。
crush-failure-domain=host表示纠删码池的故障域为host类型,即Ceph可以将待存储数据分散到host存储节点中。
crush-failure-domain=osd表示纠删码池的故障域为osd类型,即Ceph可以将待存储数据分散到osd存储节点中。
相应地,ceph_osd_3_ecprofile规则中定义k=2和m=1,纠删码池的故障域为osd类型,表示Ceph可以将待存储数据分散到3个(k+m=3)osd存储节点中进行存储,Ceph可以丢失其中一个osd存储节点而不丢失数据。
ceph_osd_5_ecprofile规则中定义k=3和m=2,纠删码池的故障域为osd类型,表示Ceph可以将待存储数据分散到5个(k+m=5)osd存储节点中进行存储,Ceph可以丢失其中两个osd存储节点而不丢失数据。
ceph_host_3_ecprofile规则中定义k=2和m=1,纠删码池的故障域为host类型,表示Ceph将待存储数据分散到3个(k+m=3)host存储节点中进行存储,Ceph可以丢失其中一个host存储节点而不丢失数据。
ceph_host_5_ecprofile规则中定义k=3和m=2,纠删码池的故障域为host类型,表示Ceph将待存储数据分散到5个(k+m=5)host存储节点中进行存储,Ceph可以丢失其中两个host存储节点而不丢失数据。
可以理解的是,由于OpenStack云计算平台在安装部署时,cinder组件在Ceph中创建的cinder-volumes副本池和cinder-backup副本池,以及glance组件可创建的images副本池,需要作为cinder-volumes-ec-data纠删码池、cinder-backup-ec-data纠删码池和images-ec-data纠删码池的源数据池。
因此,在Ceph中已经存在纠删码池创建规则的情况下,最后可以判断Ceph中是否存在cinder组件创建的cinder-volumes副本池和cinder-backup副本池,以及glance组件创建images副本池。
在Ceph中的各PG状态均为active+clean状态、Ceph中存在目标组件对应的副本池且Ceph中host存储节点的数量不小于3个的情况下,或者在Ceph中的各PG状态均为active+clean状态、Ceph中存在目标组件对应的副本池且Ceph中的各host存储节点下osd的数量不小于3个的情况下,可以确定Ceph满足预设条件。
调用目标配置脚本确定Ceph满足预设条件的情况下,通过调用目标配置脚本,还可以在Ceph中创建cinder-volumes-ec-data纠删码池、cinder-backup-ec-data纠删码池和images-ec-data纠删码池。
可选地,在确定Ceph不满足预设条件的情况下,可以通过多种方式向运维人员报错,例如:可以通过向运维人员使用的终端发送报错信息,或者在显示界面显示报错信息等方式向运维人员报错,从而可以提示运维人员目标组件中的待存储数据仅能存储至Ceph中目标组件对应的副本池中。
本发明实施例通过调用目标配置脚本,能实现在Ceph满足预设条件的情况下,在Ceph中创建目标组件对应的纠删码池,能提高OpenStack云计算平台与Ceph中的纠删码池对接的成功率。
基于上述各实施例的内容,在存储系统中创建云计算平台中的目标组件对应的纠删码池,包括:基于存储系统的状态信息,在纠删码池创建规则中确定目标创建规则。
具体地,本发明实施例中Ceph的状态信息,包括host存储节点的数量,以及各host存储节点下osd存储节点的数量。
相应地,调用目标配置脚本之后,可以基于Ceph中host存储节点的数量,以及各host存储节点下osd存储节点的数量,将某一纠删码池创建规则确定为目标创建规则。
可选地,在Ceph中只有一个host存储节点的情况下,若该host存储节点下osd存储节点的数量不小于3个,则可以将ceph_osd_3_ecprofile规则确定为目标配置规则;若该host存储节点下osd存储节点的数量不小于5个,则可以将ceph_osd_5_ecprofile规则确定为目标配置规则。
在Ceph中有两个host存储节点的情况下,若上述两个host存储节点下osd存储节点的数量不小于3个,则可以将ceph_osd_3_ecprofile规则确定为目标配置规则;若上述两个host存储节点下osd存储节点的数量不小于5个,则可以将cceph_osd_5_ecprofile规则确定为目标配置规则。
在Ceph中host存储节点的数量不小于两个的情况下,若上述各host存储节点下osd存储节点的数量不小于3个,则可以将ceph_host_3_ecprofile规则确定为目标配置规则;若上述各host存储节点下osd存储节点的数量不小于5个,则可以将ceph_host_5_ecprofile规则确定为目标配置规则。
基于目标创建规则,在存储系统中创建目标组件对应的原始纠删码池。
具体地,通过调用目标配置脚本,确定目标创建规则之后,还可以基于上述目标创建规则,在Ceph中创建cinder-volumes-ec-data纠删码池和cinder-backup-ec-data纠删码池,作为cinder对应的原始纠删码池,创建images-ec-data纠删码池,作为glance对应的原始纠删码池。
更新原始纠删码池的配置信息,将配置信息更新后的原始纠删码池确定为纠删码池。
具体地,通过调用目标配置脚本,在Ceph中创建cinder-volumes-ec-data纠删码池和cinder-backup-ec-data纠删码池,作为cinder对应的原始纠删码池,创建images-ec-data纠删码池,作为glance对应的原始纠删码池之后,还可以通过调用目标配置脚本,分别设置上述每一原始纠删码池的allow_ec_overwrites为true,以及分别设置上述每一原始纠删码池的application为rbd,进而可以将配置信息更新后的cinder-volumes-ec-data纠删码池、cinder-backup-ec-data纠删码池确定为cinder组件对应的纠删码池,将配置信息更新后的images-ec-data纠删码池,确定为glance组件对应的纠删码池。
本发明实施例通过调用目标配置脚本,能基于Ceph中host存储节点的数量以及各host存储节点下osd存储节点的数量,在纠删码池创建规则中确定目标创建规则,基于上述目标创建规则,在Ceph中创建目标组件对应的原始纠删码池,更新上述原始纠删码池的配置信息之后,将配置信息更新后的原始纠删码池确定为目标组件对应的纠删码池,能结合实际情况进行纠删码池的构建,能实现在满足存储需求的基础上节约存储资源。
基于上述各实施例的内容,从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本,包括:获取目标指令。
响应于目标指令,从云计算平台的部署节点或任一控制节点的指定目录中调用目标配置脚本。
需要说明的,本发明实施例中将获取到目标指令,作为调用目标配置脚本以实现OpenStack云计算平台与Ceph中的纠删码池对接的触发条件,即在接收到目标指令且OpenStack云计算平台中cinder组件、cinder-backup组件和glance组件的存储池为Ceph中的副本池的情况下,才调用目标配置脚本以实现OpenStack云计算平台与Ceph中的纠删码池的对接。
本发明实施例中可以通过多种方式获取目标指令,例如:可以通过接收用户的输入,获取上述目标指令;或者,可以接收其他电子设备发送的目标指令。
本发明实施例中以获取到目标指令作为调用目标配置脚本实现OpenStack云计算平台与Ceph中的纠删码池对接的触发条件,能根据实际情况确定OpenStack云计算平台与Ceph中的纠删码池对接的时机,能实现云计算平台与Ceph中的纠删码池之间的一键对接,能提高用户感知。
基于上述各实施例的内容,在云计算平台的部署代码中设置有目标开关的情况下,从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本之前,还包括:将目标开关设置为开启状态。
其中,目标开关用于开启云计算平台与存储系统之间的对接。
具体地,OpenStack云计算平台的部署代码中可以设置有目标开关ceph_ec_pool。上述目标开关用于开启OpenStack云计算平台与Ceph之间的对接。上述目标开关默认为关闭状态(ceph_ec_pool:false)。
可以理解的是,在目标开关处于关闭状态(ceph_ec_pool:false)的情况下,cinder组件的存储池为cinder-volumes副本池、cinder-backup组件的存储池为cinder-backup副本池,glance组件的存储池为images副本池。
需要说明的,本发明实施例中将设置目标开关为开启状态,作为调用目标配置脚本以实现OpenStack云计算平台与Ceph中的纠删码池对接的触发条件,即在将目标开关设置为开启状态的情况下,才调用目标配置脚本以实现OpenStack云计算平台与Ceph中的纠删码池的对接。
本发明实施例中以设置目标开关为开启状态,作为调用目标配置脚本实现OpenStack云计算平台与Ceph中的纠删码池对接的触发条件,能根据实际情况确定OpenStack云计算平台与Ceph中的纠删码池对接的时机,能实现云计算平台与Ceph中的纠删码池之间的一键对接,能提高用户感知。
基于上述各实施例的内容,指定目标组件对应的纠删码池为目标组件的存储池之后,还包括:将目标组件中的待存储数据,存储至存储系统中目标组件对应的纠删码池。
具体地,实现OpenStack云计算平台与Ceph中的纠删码池对接之后,可以将cinder组件中的待存储数据,存储至cinder-volumes-ec-data纠删码池,可以将cinder-backup组件中的待存储数据,存储至cinder-backup-ec-data纠删码池,还可以将glance组件中的待存储数据,存储至images-ec-data纠删码池。
本发明实施例通过将OpenStack云计算平台中目标组件中的待存储数据存储至Ceph中目标组件对应的纠删码池,能解决Ceph中的副本池的存储利用率较低,导致OpenStack云计算平台向Ceph中的副本池中存储数据时,易出现由于存储空间不足而无法存储数据的问题。
图2是本发明提供的云计算平台与存储系统的对接装置的结构示意图。下面结合图2对本发明提供的云计算平台与存储系统的对接装置进行描述,下文描述的云计算平台与存储系统的对接装置与上文描述的本发明提供的云计算平台与存储系统的对接方法可相互对应参照。如图2所示,该装置包括:脚本获取模块201和脚本调用模块202。
脚本获取模块201,用于从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本。
脚本调用模块202,用于调用目标配置脚本,以在存储系统中创建云计算平台中的目标组件对应的纠删码池,修改目标组件的配置,指定目标组件对应的纠删码池为目标组件的存储池。
具体地,脚本获取模块201和脚本调用模块202电连接。
需要说明的是,本发明实施例中的云计算平台为OpenStack云计算平台。存储系统为Ceph。
脚本获取模块201可以用于在OpenStack云计算平台未与Ceph中的纠删码池对接的情况下,从OpenStack云计算平台的部署节点获取目标配置脚本,或者可以从OpenStack云计算平台的任一控制的指定目录中获取目标配置脚本。其中,上述指定目录可以为/usr/bin目录。
脚本调用模块202可以用于调用上述目标配置脚本,以实现OpenStack云计算平台与Ceph中的纠删码池对接。
本发明实施例中的云计算平台与存储系统的对接装置,通过从OpenStack云计算平台的部署节点或任一控制节点的指定目录中调用目标配置脚本,能在Ceph中创建OpenStack云计算平台中的目标组件对应的纠删码池,并修改上述目标组件的配置,指定目标组件对应的纠删码池为目标组件的存储池,能自动、成熟、可靠的实现OpenStack云计算平台与Ceph中的纠删码池之间的一键对接,避免了繁琐的人工配置,能提高OpenStack云计算平台对接Ceph中的纠删码池的配置效率,能解决Ceph中的副本池的存储利用率较低,导致OpenStack云计算平台向Ceph中的副本池中存储数据时,易出现由于存储空间不足而无法存储数据的问题。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行云计算平台与存储系统的对接方法,该方法包括:从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本;调用目标配置脚本,以在存储系统中创建云计算平台中的目标组件对应的纠删码池,修改目标组件的配置,指定目标组件对应的纠删码池为目标组件的存储池。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的云计算平台与存储系统的对接方法,该方法包括:从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本;调用目标配置脚本,以在存储系统中创建云计算平台中的目标组件对应的纠删码池,修改目标组件的配置,指定目标组件对应的纠删码池为目标组件的存储池。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的云计算平台与存储系统的对接方法,该方法包括:从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本;调用目标配置脚本,以在存储系统中创建云计算平台中的目标组件对应的纠删码池,修改目标组件的配置,指定目标组件对应的纠删码池为目标组件的存储池。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种云计算平台与存储系统的对接方法,其特征在于,包括:
从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本;
调用所述目标配置脚本,以在存储系统中创建所述云计算平台中的目标组件对应的纠删码池,修改所述目标组件的配置,指定所述目标组件对应的纠删码池为所述目标组件的存储池。
2.根据权利要求1所述的云计算平台与存储系统的对接方法,其特征在于,所述在存储系统中创建所述云计算平台中的目标组件对应的纠删码池,包括:
在所述存储系统满足预设条件的情况下,在所述存储系统中创建所述目标组件对应的纠删码池;
其中,所述预设条件包括所述存储系统处于目标状态下、所述存储系统中存在纠删码池创建规则且所述存储系统中存在所述目标组件对应的副本池。
3.根据权利要求2所述的云计算平台与存储系统的对接方法,其特征在于,所述在存储系统中创建所述云计算平台中的目标组件对应的纠删码池,包括:
基于所述存储系统的状态信息,在所述纠删码池创建规则中确定目标创建规则;
基于所述目标创建规则,在所述存储系统中创建所述目标组件对应的原始纠删码池;
更新所述原始纠删码池的配置信息,将配置信息更新后的原始纠删码池确定为所述纠删码池。
4.根据权利要求2所述的云计算平台与存储系统的对接方法,其特征在于,所述修改所述目标组件的配置,指定所述目标组件对应的纠删码池为所述目标组件的存储池之后,还包括:
将所述存储系统中所述目标组件对应的副本池,作为所述目标组件对应的纠删码池的源数据池。
5.根据权利要求1所述的云计算平台与存储系统的对接方法,其特征在于,所述从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本,包括:
获取目标指令;
响应于所述目标指令,从所述云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本。
6.根据权利要求1所述的云计算平台与存储系统的对接方法,其特征在于,在所述云计算平台的部署代码中设置有目标开关的情况下,所述从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本之前,还包括:
将所述目标开关设置为开启状态;
其中,所述目标开关用于开启所述云计算平台与所述存储系统之间的对接。
7.根据权利要求1至6任一所述的云计算平台与存储系统的对接方法,其特征在于,所述指定所述目标组件对应的纠删码池为所述目标组件的存储池之后,还包括:
将所述目标组件中的待存储数据,存储至所述存储系统中所述目标组件对应的纠删码池。
8.一种云计算平台与存储系统的对接装置,其特征在于,包括:
脚本获取模块,用于从云计算平台的部署节点或任一控制节点的指定目录中获取目标配置脚本;
脚本调用模块,用于调用所述目标配置脚本,以在存储系统中创建所述云计算平台中的目标组件对应的纠删码池,修改所述目标组件的配置,指定所述目标组件对应的纠删码池为所述目标组件的存储池。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述云计算平台与存储系统的对接方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述云计算平台与存储系统的对接方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211020898.XA CN115454333A (zh) | 2022-08-24 | 2022-08-24 | 云计算平台与存储系统的对接方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211020898.XA CN115454333A (zh) | 2022-08-24 | 2022-08-24 | 云计算平台与存储系统的对接方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115454333A true CN115454333A (zh) | 2022-12-09 |
Family
ID=84298350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211020898.XA Pending CN115454333A (zh) | 2022-08-24 | 2022-08-24 | 云计算平台与存储系统的对接方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115454333A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858246A (zh) * | 2022-12-27 | 2023-03-28 | 安超云软件有限公司 | 一种容灾演练方法、装置、设备及存储介质 |
CN115955482A (zh) * | 2023-01-06 | 2023-04-11 | 济南浪潮数据技术有限公司 | 一种存储系统与云平台对接方法、装置、设备及存储介质 |
-
2022
- 2022-08-24 CN CN202211020898.XA patent/CN115454333A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858246A (zh) * | 2022-12-27 | 2023-03-28 | 安超云软件有限公司 | 一种容灾演练方法、装置、设备及存储介质 |
CN115858246B (zh) * | 2022-12-27 | 2023-11-21 | 安超云软件有限公司 | 一种容灾演练方法、装置、设备及存储介质 |
CN115955482A (zh) * | 2023-01-06 | 2023-04-11 | 济南浪潮数据技术有限公司 | 一种存储系统与云平台对接方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115454333A (zh) | 云计算平台与存储系统的对接方法及装置 | |
US10826812B2 (en) | Multiple quorum witness | |
CN109862101B (zh) | 跨平台应用启动方法、装置、计算机设备和存储介质 | |
CN107632937B (zh) | 一种对虚拟机集群进行测试的方法、装置、可读存储介质 | |
CN111162941B (zh) | 一种Kubernetes环境自动化管理虚拟IP的方法 | |
CN107666493B (zh) | 一种数据库配置方法及其设备 | |
CN109391655A (zh) | 服务灰度发布方法、装置、系统及存储介质 | |
CN111147274B (zh) | 为集群解决方案创建高度可用的仲裁集的系统和方法 | |
US11354150B1 (en) | Utilizing maintenance event windows to determine placement of instances | |
CN112698838B (zh) | 多云容器部署系统及其容器部署方法 | |
KR20230024416A (ko) | 클라우드 플랫폼 간 가상 머신 마이그레이션 방법, 장치, 저장 매체 및 전자 장치 | |
CN114363154A (zh) | 节点选举方法、装置、电子设备及存储介质 | |
US20160077938A1 (en) | Managing vios failover in a single storage adapter environment | |
CN114615268B (zh) | 基于Kubernetes集群的服务网络、监控节点、容器节点及设备 | |
CN116414521A (zh) | 分布异构靶场的虚拟机远程命令交互方法、装置及介质 | |
CN111049913A (zh) | 数据文件的传输方法及装置、存储介质、电子设备 | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
CN114095343A (zh) | 基于双活系统的容灾方法、装置、设备及存储介质 | |
CN112162822A (zh) | 一种镜像构建方法、装置、设备及可读存储介质 | |
CN115454958B (zh) | 基于人工智能的数据处理方法、装置、设备、系统及介质 | |
CN114610545A (zh) | 减少私有云计算的单点故障的方法、系统、设备及介质 | |
CN110661869B (zh) | 一种节点上线方法、系统、装置、设备及计算机存储介质 | |
CN114205333A (zh) | Ip配置方法、集群构建方法、计算机设备及存储介质 | |
CN114020457A (zh) | 一种OpenStack部署方法、装置及电子设备 | |
CN108833519A (zh) | 一种存储集群方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |