分布式块存储系统的节点动态扩展系统、方法及设备与流程

专利2022-06-30  73


本发明涉及存储系统技术领域,更具体的说是涉及一种分布式块存储系统的节点动态扩展系统、方法及设备。



背景技术:

分布式块存储系统在it企业、云计算、大数据、虚拟化等领域得到了广泛应用,与此同时这些领域随着业务快速增长对存储空间的弹性扩展提出越来越高的要求。

目前分布式块存储系统进行节点扩展的时候,只对节点的数据存储服务(即osd服务)进行自动扩容,并不对监控服务(即mon服务)、tgtd服务、管理软件服务等进行自动扩展。按照现有的节点扩展方式可以满足存储系统长时间无故障运行,但是客户业务场景复杂多变、节点故障时有发生,并且客户现场存储节点的开关机操作会经常使用到,因此存储系统在节点扩展后的故障场景也必须满足。

如果监控服务、tgtd服务、管理软件服务等不随节点扩展,轻则新扩展的节点故障后不能被管理软件及时发现,这会导致存储系统长时间降级运行;重则当存储系统的某一节点出现故障时运行在该节点上的业务ip刚好漂移到新扩展的节点上,由于新扩展节点的没有tgtd服务导致客户业务中断退出;更严重的情况是当存储系统的监控服务节点故障数达到一半时,即便存储系统未超过冗余规则,这也会导致整个存储系统不可使用。



技术实现要素:

针对以上问题,本发明的目的在于提供一种分布式块存储系统的节点动态扩展系统、方法及设备,降低了节点动态扩展过程中对客户业务影响程度,不仅可以满足分布式块存储系统长时间无故障运行,还能够处理存储系统节点扩展完成后的节点故障问题。

本发明为实现上述目的,通过以下技术方案实现:一种分布式块存储系统的节点动态扩展系统,包括:监控服务处理模块、数据存储服务处理模块、管理软件服务处理模块、tgtd服务处理模块和高可用服务处理模块;

所述监控服务处理模块,用于根据扩展节点是否作为监控服务节点而选择不同的节点扩展流程,依据存储系统配置文件获取到主监控服务所在节点;

所述数据存储服务处理模块,用于配合监控服务处理模块完成主监控服务和数据存储服务的扩容;

所述管理软件服务处理模块,用于节点扩展后分布式块存储系统的所有节点通过管理软件进行节点操作,并在分布式块存储系统中出现异常时通过管理软件进行上报;

所述tgtd服务处理模块,用于控制分布式块存储系统中的节点提供存储服务;所述高可用服务处理模块,用于当tgtd服务异常退出时,在特定时间内重启tgtd服务。

相应的,本发明还公开了一种分布式块存储系统的节点动态扩展方法,包括如下步骤:

s1:在扩展数据存储服务之前,先确定新扩展的节点是否作为监控服务节点;

s2:结合数据存储服务处理模块,把数据存储日志盘、数据存储缓存均分到节点的各个固态硬盘上;

s3:扩展数据存储服务和监控服务,完成后进行管理软件服务扩容;

s4:管理软件服务扩容完成后,tgtd服务处理模块依据管理软件服务模块获取到主监控服务节点,并把所述主监控服务节点的tgtd服务配置文件同步到新扩展的节点上,然后启动新扩展节点的tgtd服务;

s5:tgtd服务扩容完成后,通过高可用服务处理模块增加业务ip;

s6:通过根据存储节点的tgtd服务判断业务ip上是否有读写,确定业务ip分配的存储节点。

进一步,所述步骤s1具体为:

判断新扩展的节点是否作为监控服务节点,如果是,则选择新扩展节点的某一个块固态硬盘划分一个预设容量的分区存放监控服务数据;如果否,则执行原有的节点扩展流程。

进一步,所述步骤s2还包括:

使分布式块存储系统中的数据存储日志盘和缓存的数量相同;

把对应的硬盘空间全部用于存储对应数据存储服务的挂载目录。

进一步,所述步骤s3具体为:

在主监控服务节点上重新安装管理软件服务,安装完成后,导入备份的扩展前分布式块存储系统的日志信息,然后把主监控服务节点的管理软件服务的配置文件同步到分布式块存储系统所有节点的相同位置处。

进一步,所述步骤s5还包括:

原分布式块存储系统中的高可用服务不重启,仅仅启动新扩展节点的高可用服务。

进一步,所述步骤s6具体为:

如果当前存储节点的tgtd服务上有读写,则对应业务ip不会再分配到除当前存储节点之外的存储上;如果当前存储节点的tgtd服务上无读写,则对应业务ip允许分配到其它存储节点上。

相应的,本发明还公开了一种分布式块存储系统的节点动态扩展设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任一项所述分布式块存储系统的节点动态扩展方法步骤。

对比现有技术,本发明有益效果在于:本发明提供了一种分布式块存储系统的节点动态扩展系统、方法及设备,修改了分布式块存储系统的节点动态扩展流程,不仅仅只自动扩展节点的数据存储服务,还自动扩展了节点的监控服务、tgtd服务、管理软件服务。为了保证分布式块存储系统的节点动态扩展对客户业务无影响且又能满足节点动态扩展后分布式块存储系统的高可用,在分布式块存储系统的数据存储服务、监控服务、tgtd服务扩展完成后增加了对高可用服务的处理;即在增加业务ip的时候,原分布式块存储系统中的高可用服务不重启,仅仅启动新扩展节点的高可用服务。本发明提出的分布式块存储系统的节点动态扩展方法,降低了节点动态扩展过程中对客户业务影响程度,不仅可以满足分布式块存储系统长时间无故障运行,还能够处理存储系统节点扩展完成后的节点故障问题。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本发明的分布式快存储系统的结构示意图。

图2是本发明实施例一的系统结构图。

图3是本发明实施例二的方法流程图。

图4是本发明实施例三的方法流程图。

具体实施方式

下面结合附图对本发明的具体实施方式做出说明。

在具体实施方式中,使用的专有名称的中英文对照如下:

监控服务:mon(monitor),负责监控存储系统的状态,包括monitor状态、osd状态,同时负责维护状态变化,分布式块存储系统中mon个数通常是奇数。

对象存储设备:osd(objectstoragedevices),即对象存储设备,提供数据存储服务。

tgtd:即iscsitarget是位于iscsi服务器上的存储资源,可以用来执行各种存储相关的工作。

缓存:cache,是为了弥补高速设备和低速设备的鸿沟而引入的中间层,最终起到加快访问速度的作用。

数据存储日志盘:osdjournal。

数据存储缓存:osdcache。

固态硬盘:ssd。

机械硬盘:hdd。

本发明提供的分布式块存储系统的节点动态扩展系统、方法及设备均基于分布式块存储系统,如图1所示,分布式块存储系统是根据ssd和hdd个数把osd的journal和cache尽可能的均分到各个ssd上(主要通过求余算法实现)。osd的journal重定向到ssd的部分分区上,通常分区大小5g(如sdb1-sdb5),ssd余下的空间再均分作为osdcache挂载点(如sdb6-sdb10)和mon服务挂载点(sdb11),其中osd的cache和osdjournal是1:1关系。分布式块存储系统的监控服务选择除去osdjournal后余下空间较多的ssd再划分10gb分区作为mon服务挂载点,如果除去osdjournal余下的ssd空间都相等,那么就选择存储节点中的第一块ssd划分10gb空间做mon服务挂载点。此外,hdd磁盘全部空间作为osd的挂载目录。

实施例一:

如图2所示,本发明公开了一种分布式块存储系统的节点动态扩展系统,包括:监控服务处理模块、数据存储服务处理模块、管理软件服务处理模块、tgtd服务处理模块和高可用服务处理模块。

所述监控服务处理模块,用于根据扩展节点是否作为监控服务节点而选择不同的节点扩展流程,依据存储系统配置文件获取到主mon服务所在节点。

所述数据存储服务处理模块,用于配合监控服务处理模块完成主mon服务和osd服务的扩容。

所述管理软件服务处理模块,用于保证节点扩展后分布式块存储系统的所有节点操作都可以通过管理软件操作,当分布式块存储系统中出现异常时通过管理软件及时上报;

所述tgtd服务处理模块,用于控制分布式块存储系统中的节点提供存储服务。

所述高可用服务处理模块,用于降低分布式块存储系统的节点故障对客户业务的影响,当tgtd服务异常退出时,高可用服务会在特定时间内重启tgtd服务。

实施例二:

相应的,如图3所示,本发明还公开了一种分布式块存储系统的节点动态扩展方法,包括如下步骤:

s1:在扩展数据存储服务之前,先确定新扩展的节点是否作为监控服务节点。如果是则会选择新扩展节点的某一个块ssd硬盘划分一个10gb的分区存放mon服务数据;如果新扩展的节点不作为监控服务节点,则执行原来的节点扩展流程。

s2:结合数据存储服务处理模块,把osdjournal、osdcache均分到节点的各个ssd上。其中分布式块存储系统中的osd的cache和osdjournal是1:1关系;同时把对应的hdd空间全部作为对应osd的挂载目录。

s3:扩展数据存储服务和监控服务,完成后进行管理软件服务扩容。即在主mon服务所在节点上重新安装管理软件服务,待管理软件安装完成导入备份的扩展前存储系统的日志信息,然后把主mon服务节点的管理软件配置文件同步到分布式块存储系统所有节点的相同位置处。

s4:管理软件扩容完成后,tgtd服务处理模块依据管理软件服务模块获取到主mon服务节点,并把所述主mon服务节点的tgtd服务配置文件同步到新扩展的节点上,然后启动新扩展节点的tgtd服务。

s5:tgtd服务扩容完成后,通过高可用服务处理模块增加业务ip。原分布式块存储系统中的高可用服务不重启,仅仅启动新扩展节点的高可用服务,在新扩展节点的高可用服务启动过程中会影响到业务ip的重新分配。

s6:利用存储节点的tgtd服务判断业务ip上是否有读写,根据判断结果确定业务ip分配的存储节点。为了保证业务ip重新分配对客户业务无影响,需要根据存储节点的tgtd服务判断业务ip上是否有读写,如果该存储节点的tgtd服务上有读写则对应业务ip不会再分配到其它存储节点上,如果该存储节点的tgtd服务上无读写则对应业务ip允许分配到其它存储节点上。

本实施例提供了一种分布式块存储系统的节点动态扩展方法,首先修改分布式块存储系统的节点扩展流程,在扩展数据存储服务之前,先确定新扩展的节点是否作为监控服务节点,如果是则会选择新扩展节点的某一块ssd硬盘划分一个10gb的分区存放mon服务数据;如果新扩展的节点不作为监控服务节点,则执行原来的节点扩展流程。其次数据存储服务扩展完成后增加了管理软件服务扩容,即在主mon服务所在节点上重新安装管理软件服务,待管理软件安装完成导入备份的扩展前存储系统的日志信息,然后把主mon服务节点的管理软件配置文件同步到存储系统所有节点的相同位置处。最后管理软件服务扩容完成后,把主mon服务所在节点下的tgtd服务配置文件同步到新扩展节点的相同位置处,然后启动新扩展节点的tgtd服务进程。此外,为了保证分布式块存储系统的节点动态扩展对客户业务无影响且又能满足节点动态扩展后分布式块存储系统的高可用,在分布式块存储系统的tgtd服务扩展完成后增加了对高可用服务的处理;即在增加业务ip的时候,原分布式块存储系统中的高可用服务不重启,仅仅启动新扩展节点的高可用服务。

由此可见,本实施例提出的分布式块存储系统的节点动态扩展方法,降低了节点动态扩展过程中对客户业务影响程度,解决存储系统节点扩展完成后的节点故障问题,增加了分布式块存储系统的健壮性和可信度,提升了分布式块存储产品的竞争力。

实施例三:

如图4所示,本实施例还提供了另一种分布式块存储系统的节点动态扩展方法,其实现过程如下:

(1)假如原来分布式块存储有3个mon服务节点,若再动态扩展3个节点到存储系统中,则新扩展的3个节点中需有2个节点作为mon服务节点。因为分布式块存储系统节点动态扩展完成后是6个节点,理论存储池是三副本则可以任意两个存储节点故障,但是若不扩展mon服务节点则只能允许一个存储节点故障(因为故障任意2个节点,存储系统会概率出现只剩一个mon的情况,从而造成存储系统不可使用)。

(2)新扩展的mon服务节点选择完成后,通过监控服务处理模块和数据存储服务处理模块把osdjournal、osdcache尽可能的均分到节点的各个ssd上,且对应的hdd空间全部作为osd的挂载目录,即新扩展节点中的mon服务、osd服务全部添加到分布式块存储系统中。

(3)mon服务和osd服务扩展完成后,管理软件服务处理模块通过存储系统配置文件获取到主mon服务所在节点,然后在主mon服务所在节点上重新安装管理软件服务,待管理软件安装完成后导入备份的扩展前存储系统的日志信息,同时把主mon服务节点的管理软件配置文件同步到存储系统所有节点的相同位置处。

(4)通过tgtd服务处理模块把主mon服务所在节点下的tgtd服务配置文件同步到新扩展节点的相同位置处,然后启动新扩展节点的tgtd服务进程。如果不扩展tgtd服务则节点故障场景业务ip漂移到新扩展的节点上,会导致客户业务异常退出。

(5)通过高可用服务处理模块增加业务ip,即要保证6个存储节点对应6个业务ip。原分布式块存储系统中的高可用服务不重启,仅仅启动新扩展节点的高可用服务,在新扩展节点的高可用服务启动过程中会影响到业务ip的重新分配。若业务ip上有读写则该业务ip不再重新分配,即新增的业务ip只在新扩展的节点间分配。若业务ip上无读写则该业务ip允许分配,即6个业务ip可以随意分配。

(6)分布式块存储的节点动态扩展完成后客户可以通过6个业务ip访问tgtd服务,然后通过tgtd服务对分布式块存储系统进行读写操作。

相应的,本发明还公开了一种分布式块存储系统的节点动态扩展设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任一项所述分布式块存储系统的节点动态扩展方法步骤。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。

同理,在本发明各个实施例中的各处理单元可以集成在一个功能模块中,也可以是各个处理单元物理存在,也可以两个或两个以上处理单元集成在一个功能模块中。

结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。


技术特征:

1.一种分布式块存储系统的节点动态扩展系统,其特征在于,包括:监控服务处理模块、数据存储服务处理模块、管理软件服务处理模块、tgtd服务处理模块和高可用服务处理模块;

所述监控服务处理模块,用于根据扩展节点是否作为监控服务节点而选择不同的节点扩展流程,依据存储系统配置文件获取到主监控服务所在节点;

所述数据存储服务处理模块,用于配合监控服务处理模块完成主监控服务和数据存储服务的扩容;

所述管理软件服务处理模块,用于节点扩展后分布式块存储系统的所有节点通过管理软件进行节点操作,并在分布式块存储系统中出现异常时通过管理软件进行上报;

所述tgtd服务处理模块,用于控制分布式块存储系统中的节点提供存储服务;所述高可用服务处理模块,用于当tgtd服务异常退出时,在特定时间内重启tgtd服务。

2.一种分布式块存储系统的节点动态扩展方法,其特征在于,包括如下步骤:

s1:在扩展数据存储服务之前,先确定新扩展的节点是否作为监控服务节点;

s2:结合数据存储服务处理模块,把数据存储日志盘、数据存储缓存均分到节点的各个固态硬盘上;

s3:扩展数据存储服务和监控服务,完成后进行管理软件服务扩容;

s4:管理软件服务扩容完成后,tgtd服务处理模块依据管理软件服务模块获取到主监控服务节点,并把所述主监控服务节点的tgtd服务配置文件同步到新扩展的节点上,然后启动新扩展节点的tgtd服务;

s5:tgtd服务扩容完成后,通过高可用服务处理模块增加业务ip;

s6:利用存储节点的tgtd服务判断业务ip上是否有读写,根据判断结果确定业务ip分配的存储节点。

3.根据权利要求2所述的分布式块存储系统的节点动态扩展方法,其特征在于,所述步骤s1具体为:

判断新扩展的节点是否作为监控服务节点,如果是,则选择新扩展节点的某一个块固态硬盘划分一个预设容量的分区存放监控服务数据;如果否,则执行原有的节点扩展流程。

4.根据权利要求2所述的分布式块存储系统的节点动态扩展方法,其特征在于,所述步骤s2还包括:

使分布式块存储系统中的数据存储日志盘和缓存的数量相同;

把对应的硬盘空间全部用于存储对应数据存储服务的挂载目录。

5.根据权利要求2所述的分布式块存储系统的节点动态扩展方法,其特征在于,所述步骤s3具体为:

在主监控服务节点上重新安装管理软件服务,安装完成后,导入备份的扩展前分布式块存储系统的日志信息,然后把主监控服务节点的管理软件服务的配置文件同步到分布式块存储系统所有节点的相同位置处。

6.根据权利要求2所述的分布式块存储系统的节点动态扩展方法,其特征在于,所述步骤s5包括:

通过启动新扩展节点的高可用服务增加业务ip。

7.根据权利要求2所述的分布式块存储系统的节点动态扩展方法,其特征在于,所述步骤s6具体为:

如果当前存储节点的tgtd服务上有读写,则对应业务ip不会再分配到除当前存储节点之外的存储上;如果当前存储节点的tgtd服务上无读写,则对应业务ip允许分配到其它存储节点上。

8.一种分布式块存储系统的节点动态扩展设备,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如权利要求2至7任一项所述分布式块存储系统的节点动态扩展方法步骤。

技术总结
本发明提出的一种分布式块存储系统的节点动态扩展系统、方法及设备,在分布式块存储系统的数据存储服务、监控服务、TGTD服务扩展完成后增加了对高可用服务的处理;即在增加业务IP的时候,原分布式块存储系统中的高可用服务不重启,仅仅启动新扩展节点的高可用服务。本发明提出的分布式块存储系统的节点动态扩展方法,降低了节点动态扩展过程中对客户业务影响程度,不仅可以满足分布式块存储系统长时间无故障运行,还能够处理存储系统节点扩展完成后的节点故障问题。

技术研发人员:李军站
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2020.01.13
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-59246.html

最新回复(0)