一种分布式存储系统的部署方法及装置与流程

文档序号:20366635发布日期:2020-04-11 07:05阅读:295来源:国知局
一种分布式存储系统的部署方法及装置与流程

本发明涉及云计算技术领域,尤其涉及一种分布式存储系统的部署方法、电子设备和存储介质。



背景技术:

分布式存储系统是将数据分散存储在网络上的多台独立设备上,一般采用标准x86服务器和网络互联,并在其上运行相关存储软件,系统对外作为一个整体提供存储服务。它不但提高了系统的可靠性、可用性和存取效率,还易于扩展,并将这些分散的存储设备构建成一个虚拟的大的存储池来供上层应用来使用。近年来随着云计算的发展,特别是互联网企业云数据中心的成功实践,传统本地存储阵列更多地被分布式存储替代。

分布式存储系统的部署过程较为复杂,需要专门的人才进行部署、维护与管理。目前分布式存储系统的部署过程中,需要在存储集群部署完成后人工介入,手动根据硬件性能、手动创建划分不同的存储资源池供上层系统使用,部署流程复杂,效率低下。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提出了一种分布式存储系统的部署方法、电子设备和存储介质,能够解决现有技术中手动创建划分存储资源池导致部署流程复杂、效率低下的缺点。

根据本发明的第一方面,本发明的一种分布式存储系统的部署方法,包括步骤:

获取所述分布式存储系统的所有存储资源硬件的检测信息;

根据所述检测信息对所有所述存储资源硬件进行分类;

根据所述分类结果创建多个物理存储资源池,每个所述物理存储资源池只包含一类存储资源硬件;

为所述物理存储资源池设定数据冗余策略,所述数据冗余策略是根据所述物理存储资源池包含的存储资源硬件数量确定的;

为所述物理存储资源池创建逻辑存储池,每个所述逻辑存储池包含的数据归置组数量是根据所述数据冗余策略和所述存储资源硬件数量确定的。

优选地,还包括步骤:

为所述分布式存储系统的部署管理节点安装部署管理程序,为所述分布式存储系统的存储节点安装代理客户端;

为所述存储节点安装监控管理进程和数据管理进程。

优选地,所述存储节点运行所述代理客户端程序,用于接收所述部署管理节点的检测请求,并获取所述分布式存储系统的所有存储资源硬件的检测信息。

优选地,所述检测信息包括存储介质类型、存储采用的协议类型、硬盘转速和存储容量中的一种或多种。

优选地,所述分类是根据所述存储介质类型和所述存储采用的协议类型确定的,或根据所述存储容量确定的。

优选地,所述数据冗余策略为三副本策略或二副本策略。

根据本发明的第二方面,本发明的一种分布式存储系统的部署装置,包括:

检测信息获取模块,用来获取所述分布式存储系统的存储资源硬件的检测信息;

分类模块,用来根据所述检测信息对所述存储资源硬件进行分类;

物理存储资源池创建模块,用来根据所述分类结果创建多个物理存储资源池,每个所述物理存储资源池只包含一类所述存储资源硬件;

数据冗余策略设定模块,用来为所述物理存储资源池设定数据冗余策略,所述数据冗余策略是根据所述物理存储资源池包含的存储资源硬件数量确定的;

逻辑存储池创建模块,用来为所述物理存储资源池创建逻辑存储池,每个所述逻辑存储池包含的数据归置组数量是根据所述数据冗余策略和所述存储资源硬件数量确定的。

根据本发明的第三方面,本发明的一种电子设备,包括处理器和存储器,其特征在于,

其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现上述任一方法。

根据本发明的第四方面,本发明的一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法。

总体而言,通过本发明所构思的以上技术方案与现有技术相比在部署过程中就可以根据存储资源硬件的不同,自动划分好不同的存储池并设定好对应的参数,以供上层系统使用,无需人工干预,方便快捷,简化了部署流程,提高了部署效率和正确率。

附图说明

图1是本发明实施例提供的分布式存储系统示意图;

图2是本发明实施例提供的创建物理资源池的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

为了简化分布式存储系统的部署,本发明设计了一种分布式存储系统的部署方法,在部署过程中对系统的所有存储资源硬件进行检测,根据存储资源硬件的不同,自动划分好不同的存储池、并设定好对应的参数。部署方法无需人工干预,方便快捷,简化了部署流程,提高了部署效率和正确率。

英文缩写和技术专有名词解释:

硬件智能感知技术:通过特定检测算法,自动对服务器上的硬件资源进行感知和分类。

分布式存储系统:将数据分散存储在网络上的多台独立设备上,一般采用标准x86服务器和网络互联,并在其上运行相关存储软件,系统对外作为一个整体提供存储服务。

hdd:harddiskdrive的缩写,即硬盘驱动器的英文名称。

ssd:solidstatedisk或solidstatedrive的缩写,即固态驱动器的英文名称。

nvme:non-volatilememoryexpress的缩写,非易失性内存主机控制器接口规范。

ansible:是一种开源的自动化运维工具,基于python开发,集合了众多运维工具的优点,可提供批量系统配置、批量程序部署、批量运行命令等功能。

物理存储资源池:由分布式存储系统中的物理存储设备组成的资源池,与实体物理硬件相对应。

逻辑存储资源池:是在物理存储资源池基础上做的逻辑空间划分,可以在创建时指定逻辑空间大小和数据安全策略,是一个逻辑上的概念。一个物理资源池可以包含多个逻辑资源池。

数据归置组:在分布式存储系统中,数据的最小存储单元是对象。由于对象的数量很多,于是把一组或多个对象,归属于某一个数据归置组下进行管理,它是一个逻辑上的概念。一个逻辑资源池包含多个数据归置组。

本发明一实施例的一种分布式存储系统的部署方法,包括步骤:

s11,获取该分布式存储系统的存储资源硬件的检测信息。

优选地,在步骤s11前,可以为分布式存储系统的部署管理节点安装部署管理程序,为分布式存储系统的存储节点安装代理客户端。部署管理程序用来实现该部署方法。代理客户端安装在每个存储节点上,用于接收所述部署管理节点的检测请求,获取每个存储节点上对应的存储资源硬件的检测信息,发送给部署管理节点。可以利用智能硬件感知技术来获取存储资源硬件的检测信息。

s12,根据s11步骤的检测信息对存储资源硬件进行分类。

s13,根据s12步骤的分类结果创建多个物理存储资源池,每个物理存储资源池只包含一类存储资源硬件,即将不同类别的存储资源硬件归属到不同的物理存储资源池。

优选地,在步骤s13前,为存储节点安装监控管理进程和数据管理进程。

s14,为每个物理存储资源池设定数据冗余策略,每个物理存储资源池的数据冗余策略是根据该物理存储资源池包含的存储资源硬件数量确定的。

s15,为每个物理存储资源池创建逻辑存储池,每个逻辑存储池包含的数据归置组数量是根据该物理存储资源池的数据冗余策略和该物理存储资源池包含的存储资源硬件数量确定的。

结合图1和图2详细说明本发明的一种分布式存储系统的部署方法的一实施例,包括步骤:

s21,首先确定一台服务器作为分布式存储系统的部署管理节点,确定分布式存储系统的存储节点。部署管理节点是运行本发明所设计的部署方法的节点。在部署管理节点上,安装部署管理程序。这个部署管理节点,也可以作为一个存储节点使用。

s22,部署管理程序,通过使用ansible运维工具,将部署的代理客户端,远程推送到其他所有存储节点上并进行安装,用于后续在部署分布式存储系统时对底层存储硬件进行自动检测与分类。存储节点是部署分布式存储系统的目标节点。当部署管理节点也是存储节点时,部署管理节点上也会安装代理客户端。

s23,部署管理程序向各存储节点上的代理客户端发送硬件探测请求,代理客户端运行检测程序,获取到本节点上的存储资源硬件信息,包括介质类型(hdd/ssd)、协议类型(sata/sas/nvme)、硬盘转速(hdd硬盘,15000rpm/10000rpm/7200rpm)、硬盘存储容量等信息,返回给部署管理节点。代理客户端可以基于智能硬件感知技术和算法设计,可对存储节点上的存储硬件资源进行自动扫描,并将信息上报给部署管理节点。

s24,部署管理程序对收集上来的存储资源硬件信息,对存储资源硬件进行分类。优选地,可以根据存储资源硬件的检测信息,来判断存储资源硬件的性能,按照超高性能硬件(nvme-ssd)、高性能硬件(sata-ssd)、普通性能硬件(sata-hdd)等划分。同一存储节点上可能包含不同性能的存储硬件,则根据性能将同一存储节点上的不同存储硬件划分到不同的类别中。如果存储资源硬件的性能相同,也可以通过硬盘容量大小对其进行分类。实际应用中可以根据实际需求灵活设定分类规则。

步骤s23、s24也可以不在此处执行,而是在步骤s25、26后执行。

s25,接下来部署管理节点向各存储节点上的代理客户端发送部署分布式存储系统监控管理进程和数据管理进程的请求。监控管理进程需要部署在不少于3个的奇数个节点上,可以不在所有的存储节点上部署。监控管理进程负责监视分布式存储集群,维护集群的健康状态,同时维护着存储集群中的各种状态视图。状态视图是分布式存储集群中的关键数据结构,用来储存、管理集群中的所有成员、关系、属性等信息以及数据的分发。数据管理进程的主要功能是负责存储数据、复制数据、平衡数据、恢复数据等。一般情况下一个数据管理进程可以对应一块硬盘,也可以对应硬盘的一个分区。

s26,存储节点接收到部署请求后,安装监控管理进程和数据管理进程所需要的软件包,进行相应的参数配置或者全部使用默认配置,然后启动进程、提供服务。软件包可通过配置的内部或外部软件仓库来获取。

s27,数据管理进程启动成功后,管理节点会根据硬件种类,自动创建出不同种类的物理资源池。

可以默认是根据硬件资源的性能,来创建不同性能的物理存储资源池,以用于不同的场景。当所有的硬件资源性能相同时,可以根据硬件资源的容量大小,来创建不同的物理资源池,这样可以避免存储硬件容量不一致导致的数据分布不均衡。图2是以分布式存储系统包括3个存储节点为例,说明如何按照存储资源硬件性能创建不同种类的物理资源池的过程。

物理资源池的分布与构成,保存在第s25步骤中生成的存储集群状态视图中。分布式存储系统监控管理进程,会根据物理资源池的物理分布状况,通过哈希算法,计算出前端应用发来的数据应该存放在哪个节点上的哪个存储设备上。

s28,最后再根据,每个物理资源池中每一种各种硬件存储介质的数量,设定合适的数据冗余策略,一般采用副本冗余策略,默认是3副本,如果硬件资源数较少,可自动调整为2副本。

s29,在每个物理资源池中,根据该物理资源池中的硬件存储介质的数量、副本数和预估的逻辑池使用容量,计算出合适的数据归置组个数,并调用分部署存储系统的接口,自动化创建出包含相应数量数据归置组的逻辑存储池,供上层应用系统使用。

上层应用系统无法直接使用物理存储资源池,需要在物理资源池上面创建出逻辑资源池才可以使用。在分布式存储系统中,逻辑资源池通过数据分布规则和某个物理资源池进行关联。一个物理资源池可以有多个数据分布规则,来对应其上多个逻辑资源池。

本发明的一种分布式存储系统的部署装置,包括:

检测信息获取模块,用来获取分布式存储系统的存储资源硬件的检测信息;

分类模块,用来根据所述检测信息对所述存储资源硬件进行分类;

物理存储资源池创建模块,用来根据所述分类结果创建多个物理存储资源池,每个所述物理存储资源池只包含一类所述存储资源硬件;

数据冗余策略设定模块,用来为所述物理存储资源池设定数据冗余策略,所述数据冗余策略是根据所述物理存储资源池包含的存储资源硬件数量确定的;

逻辑存储池创建模块,用来为所述物理存储资源池创建逻辑存储池,每个所述逻辑存储池包含的数据归置组数量是根据所述数据冗余策略和所述存储资源硬件数量确定的。

上述部署装置是可以实现上述任一部署方法,其实现原理和技术效果类似,此处不再赘述。

为了实现上述实施例,本发明实施例还提出一种电子设备,包括:处理器和存储器。其中,存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互。

存储器中存储有计算机程序,计算机程序被处理器执行时可以实现上述任一方法实施例的技术方案。存储器中存储有上述部署方法的计算机程序,包括至少一个可以软件或固件的形式存储于存储器中的软件功能模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理。

处理器可以是一种集成电路芯片,具有信号的处理能力。处理器在接收到执行指令后,执行程序。可选的,上述存储器内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。

本实施例提供的电子设备,可以用于执行上述任一部署方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现上述任一部署方法实施例的技术方案。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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