基于Minio的盘组划分方法、装置、介质及相关设备.pdf
《基于Minio的盘组划分方法、装置、介质及相关设备.pdf》由会员分享,可在线阅读,更多相关《基于Minio的盘组划分方法、装置、介质及相关设备.pdf(16页完成版)》请在专利查询网上搜索。
1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202310486955.1(22)申请日 2023.04.28(71)申请人 广州文远知行科技有限公司地址 510700 广东省广州市黄埔区广州国际生物岛螺旋大道68号合景科盛广场A栋地上第16层01、02、03、04单元(72)发明人 胡江峰(74)专利代理机构 深圳市深佳知识产权代理事务所(普通合伙)44285专利代理师 范友飞(51)Int.Cl.G06F 3/06(2006.01)G06F 11/20(2006.01)(54)发明名称基于Minio的盘组划分方法、装置、介质及相关设备(5。
2、7)摘要本申请提供的基于Minio的盘组划分方法、装置、介质及相关设备,首先确定目标Minio集群接入的多个服务器、每个服务器的磁盘及磁盘数,这样便可以按照每个服务器的磁盘数来将每个服务器中的每块磁盘进行分区,并得到每块磁盘对应的多个分区,接着,本申请可以将各个服务器的各块磁盘中的各个分区按照预设的盘组划分方式划分成多个目标盘组,并通过各个目标盘组存储对象数据,这样可以将同盘组中一块盘故障时的下载压力从少数几块盘转移到多个分区对应的逻辑盘上,从而有效避免因为一块盘的故障导致其他盘压力增长过大而无法提供服务,进而有效提升系统的稳定性。权利要求书2页 说明书10页 附图3页CN 116501258。
3、 A2023.07.28CN 116501258 A1.一种基于Minio的盘组划分方法,其特征在于,所述方法包括:确定目标Minio集群接入的多个服务器、每个服务器的磁盘及磁盘数;按照每个服务器的磁盘数将每个服务器中的每块磁盘进行分区,得到每块磁盘对应的多个分区;将各个服务器的各块磁盘中的各个分区按照预设的盘组划分方式划分成多个目标盘组,并通过各个目标盘组存储对象数据。2.根据权利要求1所述的基于Minio的盘组划分方法,其特征在于,所述按照每个服务器的磁盘数将每个服务器中的每块磁盘进行分区,得到每块磁盘对应的多个分区,包括:针对每个服务器中的每块磁盘,将该磁盘的磁盘空间划分成与该服务器的磁。
4、盘数一致的多个分区。3.根据权利要求1所述的基于Minio的盘组划分方法,其特征在于,所述将各个服务器的各块磁盘中的各个分区按照预设的盘组划分方式划分成多个目标盘组,包括:将各个服务器、各个服务器的各块磁盘以及各个磁盘中的各个分区进行排序,得到与各个服务器的各个磁盘中的各个分区对应的排序结果;将所述排序结果中第一个服务器的每块磁盘中的所有分区分别作为一个初始盘组,并根据所述第一个服务器的各块磁盘的顺序确定各个初始盘组的顺序;按照预设的目标盘组划分方式将所述排序结果中其他服务器的每块磁盘中的各个分区依次划分至各个初始盘组中,得到多个目标盘组。4.根据权利要求3所述的基于Minio的盘组划分方法,。
5、其特征在于,所述按照预设的目标盘组划分方式将所述排序结果中其他服务器的每块磁盘中的各个分区依次划分至各个初始盘组中,得到多个目标盘组,包括:针对第一个服务器的首块磁盘对应的初始盘组,将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中;判断所述排序结果中是否有下下个服务器;若有,则将所述下下个服务器替换为所述下个服务器后,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述排序结果中没有下下个服务器为止;若无,则针对所述第一个服务器的下块磁盘对应的初始盘组,返回执行将所述排序结果中下个服务器的每块磁盘中。
6、与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述第一个服务器的下块磁盘对应的初始盘组划分完毕后,判断所述第一个服务器中是否有下下块磁盘;若有,则将所述下下块磁盘替换为所述下块磁盘后,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述第一个服务器中没有下下块磁盘为止;若无,则停止划分操作,并得到多个目标盘组。5.一种基于Minio的盘组划分装置,其特征在于,包括:信息确定模块,用于确定目标Minio集群接入的多个服务器、每个服务器的磁盘及磁盘数;磁盘分区模块,用于按照每个服务器的磁盘数将每个服务器中的每块磁盘进行分区,权。
7、利要求书1/2 页2CN 116501258 A2得到每块磁盘对应的多个分区;盘组划分模块,用于将各个服务器的各块磁盘中的各个分区按照预设的盘组划分方式划分成多个目标盘组,并通过各个目标盘组存储对象数据。6.根据权利要求5所述的基于Minio的盘组划分装置,其特征在于,所述磁盘分区模块,包括:磁盘分区子模块,用于针对每个服务器中的每块磁盘,将该磁盘的磁盘空间划分成与该服务器的磁盘数一致的多个分区。7.根据权利要求5所述的基于Minio的盘组划分装置,其特征在于,所述盘组划分模块,包括:排序模块,用于将各个服务器、各个服务器的各块磁盘以及各个磁盘中的各个分区进行排序,得到与各个服务器的各个磁盘中。
8、的各个分区对应的排序结果;初始盘组划分模块,用于将所述排序结果中第一个服务器的每块磁盘中的所有分区分别作为一个初始盘组,并根据所述第一个服务器的各块磁盘的顺序确定各个初始盘组的顺序;目标盘组划分模块,用于按照预设的目标盘组划分方式将所述排序结果中其他服务器的每块磁盘中的各个分区依次划分至各个初始盘组中,得到多个目标盘组。8.根据权利要求7所述的基于Minio的盘组划分装置,其特征在于,所述目标盘组划分模块,包括:第一分区划分模块,用于针对第一个服务器的首块磁盘对应的初始盘组,将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中;服务器判断模块,用于判断所述排序。
9、结果中是否有下下个服务器;第二分区划分模块,用于若有,则将所述下下个服务器替换为所述下个服务器后,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述排序结果中没有下下个服务器为止;第三分区划分模块,用于若无,则针对所述第一个服务器的下块磁盘对应的初始盘组,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述第一个服务器的下块磁盘对应的初始盘组划分完毕后,判断所述第一个服务器中是否有下下块磁盘;第四分区划分模块,用于若有,则将所述下下块磁盘替换为所述下块磁盘后,返回执行将所述排序。
10、结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述第一个服务器中没有下下块磁盘为止;停止划分模块,用于若无,则停止划分操作,并得到多个目标盘组。9.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至4中任一项所述基于Minio的盘组划分方法的步骤。10.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1至4中任一项所述基于Minio的盘组划分方法的步。
11、骤。权利要求书2/2 页3CN 116501258 A3基于Minio的盘组划分方法、装置、介质及相关设备技术领域0001本申请涉及数据存储技术领域,尤其涉及一种基于Minio的盘组划分方法、装置、介质及相关设备。背景技术0002Minio是开源的对象存储平台。其中,对象是对象存储系统中基本存储单元,可以是任何类型的数据,比如文本、图片、视频等等。Minio将一组服务器上的多块磁盘划分成多个盘组,每个盘组称为一个set,并且,Minio要求一个set中的磁盘均匀的分布在各个服务器上,每个set中磁盘的大小可由配置指定,但约束一个set中的磁盘数必须大于等于4且小于等于16。0003Minio中。
12、的每个set都是一个独立的上传域,一个对象的数据只会存储于一个set中,不会跨set分布。目前,set中磁盘的划分方式,容易使得该set中的一块磁盘故障时,故障盘下载的压力会全部转移到同set的其它磁盘上,这样可能会导致同set中的非故障盘因为压力过大而出现过载以至于无法服务,从而降低系统的稳定性。发明内容0004本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中set中磁盘的划分方式,容易使得该set中的一块磁盘故障时,故障盘下载的压力会全部转移到同set的其它磁盘上,这样可能会导致同set中的非故障盘因为压力过大而出现过载以至于无法服务,从而降低系统的稳定性的技术缺陷。0005。
13、本申请提供了一种基于Minio的盘组划分方法,所述方法包括:0006确定目标Minio集群接入的多个服务器、每个服务器的磁盘及磁盘数;0007按照每个服务器的磁盘数将每个服务器中的每块磁盘进行分区,得到每块磁盘对应的多个分区;0008将各个服务器的各块磁盘中的各个分区按照预设的盘组划分方式划分成多个目标盘组,并通过各个目标盘组存储对象数据。0009可选地,所述按照每个服务器的磁盘数将每个服务器中的每块磁盘进行分区,得到每块磁盘对应的多个分区,包括:0010针对每个服务器中的每块磁盘,将该磁盘的磁盘空间划分成与该服务器的磁盘数一致的多个分区。0011可选地,所述将各个服务器的各块磁盘中的各个分区。
14、按照预设的盘组划分方式划分成多个目标盘组,包括:0012将各个服务器、各个服务器的各块磁盘以及各个磁盘中的各个分区进行排序,得到与各个服务器的各个磁盘中的各个分区对应的排序结果;0013将所述排序结果中第一个服务器的每块磁盘中的所有分区分别作为一个初始盘组,并根据所述第一个服务器的各块磁盘的顺序确定各个初始盘组的顺序;说明书1/10 页4CN 116501258 A40014按照预设的目标盘组划分方式将所述排序结果中其他服务器的每块磁盘中的各个分区依次划分至各个初始盘组中,得到多个目标盘组。0015可选地,所述按照预设的目标盘组划分方式将所述排序结果中其他服务器的每块磁盘中的各个分区依次划分至。
15、各个初始盘组中,得到多个目标盘组,包括:0016针对第一个服务器的首块磁盘对应的初始盘组,将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中;0017判断所述排序结果中是否有下下个服务器;0018若有,则将所述下下个服务器替换为所述下个服务器后,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述排序结果中没有下下个服务器为止;0019若无,则针对所述第一个服务器的下块磁盘对应的初始盘组,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述第一。
16、个服务器的下块磁盘对应的初始盘组划分完毕后,判断所述第一个服务器中是否有下下块磁盘;0020若有,则将所述下下块磁盘替换为所述下块磁盘后,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述第一个服务器中没有下下块磁盘为止;0021若无,则停止划分操作,并得到多个目标盘组。0022本申请还提供了一种基于Minio的盘组划分装置,包括:0023信息确定模块,用于确定目标Minio集群接入的多个服务器、每个服务器的磁盘及磁盘数;0024磁盘分区模块,用于按照每个服务器的磁盘数将每个服务器中的每块磁盘进行分区,得到每块磁盘对应的多个分区;00。
17、25盘组划分模块,用于将各个服务器的各块磁盘中的各个分区按照预设的盘组划分方式划分成多个目标盘组,并通过各个目标盘组存储对象数据。0026可选地,所述磁盘分区模块,包括:0027磁盘分区子模块,用于针对每个服务器中的每块磁盘,将该磁盘的磁盘空间划分成与该服务器的磁盘数一致的多个分区。0028可选地,所述盘组划分模块,包括:0029排序模块,用于将各个服务器、各个服务器的各块磁盘以及各个磁盘中的各个分区进行排序,得到与各个服务器的各个磁盘中的各个分区对应的排序结果;0030初始盘组划分模块,用于将所述排序结果中第一个服务器的每块磁盘中的所有分区分别作为一个初始盘组,并根据所述第一个服务器的各块磁。
18、盘的顺序确定各个初始盘组的顺序;0031目标盘组划分模块,用于按照预设的目标盘组划分方式将所述排序结果中其他服务器的每块磁盘中的各个分区依次划分至各个初始盘组中,得到多个目标盘组。0032可选地,所述目标盘组划分模块,包括:0033第一分区划分模块,用于针对第一个服务器的首块磁盘对应的初始盘组,将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘说明书2/10 页5CN 116501258 A5组中;0034服务器判断模块,用于判断所述排序结果中是否有下下个服务器;0035第二分区划分模块,用于若有,则将所述下下个服务器替换为所述下个服务器后,返回执行将所述排序结。
19、果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述排序结果中没有下下个服务器为止;0036第三分区划分模块,用于若无,则针对所述第一个服务器的下块磁盘对应的初始盘组,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述第一个服务器的下块磁盘对应的初始盘组划分完毕后,判断所述第一个服务器中是否有下下块磁盘;0037第四分区划分模块,用于若有,则将所述下下块磁盘替换为所述下块磁盘后,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述第一个服务。
20、器中没有下下块磁盘为止;0038停止划分模块,用于若无,则停止划分操作,并得到多个目标盘组。0039本申请还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述基于Minio的盘组划分方法的步骤。0040本申请还提供了一种计算机设备,包括:一个或多个处理器,以及存储器;0041所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如上述实施例中任一项所述基于Minio的盘组划分方法的步骤。0042从以上技术方案可以看出,本申请实施例具有以下优点:0043本申请提供的基。
21、于Minio的盘组划分方法、装置、介质及相关设备,首先确定目标Minio集群接入的多个服务器、每个服务器的磁盘及磁盘数,这样便可以按照每个服务器的磁盘数来将每个服务器中的每块磁盘进行分区,并得到每块磁盘对应的多个分区,接着,本申请可以将各个服务器的各块磁盘中的各个分区按照预设的盘组划分方式划分成多个目标盘组,并通过各个目标盘组存储对象数据,这样可以将同盘组中一块盘故障时的下载压力从少数几块盘转移到多个分区对应的逻辑盘上,从而有效避免因为一块盘的故障导致其他盘压力增长过大而无法提供服务,进而有效提升系统的稳定性。附图说明0044为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或。
22、现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。0045图1为本申请实施例提供的一种基于Minio的盘组划分方法的流程示意图;0046图2为本申请实施例提供的目标盘组划分过程的流程示意图;0047图3为本申请实施例提供的一种基于Minio的盘组划分装置的结构示意图。0048图4为本申请实施例提供的一种计算机设备的内部结构示意图。说明书3/10 页6CN 116501258 A6具体实施方式0049下面将结合本申请实施例中的附图,对本申请实施例中的技术方案。
23、进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。0050Minio中的每个set都是一个独立的上传域,一个对象的数据只会存储于一个set中,不会跨set分布。目前,set中磁盘的划分方式,容易使得该set中的一块磁盘故障时,故障盘下载的压力会全部转移到同set的其它磁盘上,这样可能会导致同set中的非故障盘因为压力过大而出现过载以至于无法服务,从而降低系统的稳定性。基于此,本申请提出如下技术方案,具体参加下文:0051在一个实施例中,如图1所。
24、示,图1为本申请实施例提供的一种基于Minio的盘组划分方法的流程示意图;本申请提供了一种基于Minio的盘组划分方法,所述方法可以包括:0052S110:确定目标Minio集群接入的多个服务器、每个服务器的磁盘及磁盘数。0053本实施例中,在对Minio集群中一组服务器上的多块磁盘划分成多个目标盘组时,可以先确定目标Minio集群,接着确定目标Minio集群接入的多个服务器,以及每个服务器的磁盘及磁盘数,这样便可以根据每个服务器的磁盘数来为每个服务器中的磁盘进行分区。0054可以理解的是,Minio是用于存储Kubernetes元数据的对象存储,是一个开源组件。Kubernetes元数据也称。
25、K8s元数据,是Kubernetes集群资源,是无状态负载(Deployment)、有状态负载(StatefulSet)、网络策略(NetworkPolicy)、普通配置(ConfigMap)、集群角色(ClusterRole)、卷声明对象(PV)等类型资源的统称。Minio集群是基于分布式技术部署的Minio,用于提高Minio的可靠性及稳定性。0055其中,一个Minio集群可以根据业务需求等接入多个服务器,该多个服务器组成一组服务器,每个服务器都具有相应的IP地址,且每个服务器可以根据自身需求安装一个或多个物理磁盘。在使用过程中,需要对服务器中的物理磁盘进行分区,分区形成的新的盘(分区)。
26、就叫逻辑盘(分区)。逻辑盘和物理盘不同,它不是实际存在的形态,而是利用软件把一个物理磁盘中的容量划分成若干块进行使用和管理。本申请所述的磁盘即为服务器中对物理磁盘进行分区后形成的初始的逻辑盘。0056S120:按照每个服务器的磁盘数将每个服务器中的每块磁盘进行分区,得到每块磁盘对应的多个分区。0057本步骤中,通过S110确定目标Minio集群接入的多个服务器、每个服务器的磁盘及磁盘数后,本申请可以按照每个服务器的磁盘数来对每个服务器中的每块磁盘进行分区,以便得到每块磁盘对应的多个分区。0058具体地,由于现有的set中磁盘的划分方式,容易使得该set中的一块磁盘故障时,故障盘下载的压力会全部。
27、转移到同set的其它磁盘上,这样可能会导致同set中的非故障盘因为压力过大而出现过载以至于无法服务,从而降低系统的稳定性。因此,本申请可以对目标Minio集群接入的每个服务器中的每块磁盘进行分区,以便得到每块磁盘对应的多个分区。也就是说,本申请可以将服务器中的物理磁盘重新进行分区,以便划分出更多的逻辑盘,这样同一个set中便可以出现更多的磁盘,当其中一个盘故障时,故障盘的下载压力可说明书4/10 页7CN 116501258 A7以转移到同set中更多的磁盘上,从而避免因为一块盘的故障导致部分盘压力增长过大而无法提供服务,继而有效提升系统的稳定性。0059进一步地,本申请在对每个服务器中的每块。
28、磁盘进行分区时,可以按照对应的服务器中的磁盘数来进行分区。如某一个服务器中的磁盘数为12,则可以将该服务器中的每块磁盘划分为12个分区,或者划分为10个分区、6个分区等,只要保证划分后的每个分区的存储空间不要太小即可。另外,为了保证对象存储的稳定性,以及对象存储的便捷性,本申请在对磁盘进行分区后,每个分区的规格相同,进而提升盘组划分效率。0060S130:将各个服务器的各块磁盘中的各个分区按照预设的盘组划分方式划分成多个目标盘组,并通过各个目标盘组存储对象数据。0061本步骤中,通过S120对每个服务器中的每块磁盘进行分区,并得到每块磁盘对应的多个分区后,本申请可以将各个服务器的各块磁盘中的各。
29、个分区按照预设的盘组划分方式划分成多个目标盘组,并通过各个目标盘组来存储对象数据。0062在一种具体的实现方式中,本申请为了将目标Minio集群中原本的盘组所划分的磁盘数进行扩增,可以先对目标Minio集群接入的每个服务器中的每块磁盘进行分区,以便划分出更多的逻辑盘,接着,本申请可以获取预先设置的盘组划分方式,并按照该预设的盘组划分方式来将各个服务器的各块磁盘中的各个分区划分成多个目标盘组。0063其中,预设的盘组划分方式可以是在一个set中的磁盘均匀的分布在各个服务器,且一个set中的磁盘数大于等于4小于等于16的前提下,根据目标Minio集群中接入的服务器的数量、每个服务器中的每块磁盘对应。
30、的分区数,即对每个服务器中的物理磁盘再次分区后的逻辑磁盘的数量,来确定相应的划分方式,并根据该划分方式来将各个服务器的各块磁盘中的各个分区划分成多个目标盘组,这样每个目标盘组相对于原本的盘组而言,拥有了更多的磁盘(分区)。0064上述实施例中,首先确定目标Minio集群接入的多个服务器、每个服务器的磁盘及磁盘数,这样便可以按照每个服务器的磁盘数来将每个服务器中的每块磁盘进行分区,并得到每块磁盘对应的多个分区,接着,本申请可以将各个服务器的各块磁盘中的各个分区按照预设的盘组划分方式划分成多个目标盘组,并通过各个目标盘组存储对象数据,这样可以将同盘组中一块盘故障时的下载压力从少数几块盘转移到多个分。
31、区对应的逻辑盘上,从而有效避免因为一块盘的故障导致其他盘压力增长过大而无法提供服务,进而有效提升系统的稳定性。0065在一个实施例中,S120中按照每个服务器的磁盘数将每个服务器中的每块磁盘进行分区,得到每块磁盘对应的多个分区,可以包括:0066针对每个服务器中的每块磁盘,将该磁盘的磁盘空间划分成与该服务器的磁盘数一致的多个分区。0067本实施例中,在对每个服务器中的每块磁盘进行分区时,可以将该磁盘的磁盘空间划分成与该服务器的磁盘数一致的多个分区。举例来说,当某个服务器中的磁盘数为六个时,可以将该服务器中的每块磁盘划分成六个分区,这样一个服务器中的分区数便为36个,相当于36个磁盘,相比于原先。
32、的六个磁盘,多出了30个磁盘,这样在划分盘组时,每个服务器中可以多划分一些磁盘至相应的盘组中,以便对盘组所拥有的磁盘数进行扩充。0068在一个实施例中,S130中将各个服务器的各块磁盘中的各个分区按照预设的盘组说明书5/10 页8CN 116501258 A8划分方式划分成多个目标盘组,可以包括:0069S131:将各个服务器、各个服务器的各块磁盘以及各个磁盘中的各个分区进行排序,得到与各个服务器的各个磁盘中的各个分区对应的排序结果。0070S132:将所述排序结果中第一个服务器的每块磁盘中的所有分区分别作为一个初始盘组,并根据所述第一个服务器的各块磁盘的顺序确定各个初始盘组的顺序。0071S。
33、133:按照预设的目标盘组划分方式将所述排序结果中其他服务器的每块磁盘中的各个分区依次划分至各个初始盘组中,得到多个目标盘组。0072本实施例中,在将各个服务器的各块磁盘中的各个分区划分成多个目标盘组时,可以先对各个服务器、各个服务器的各块磁盘以及各个磁盘中的各个分区进行排序,以便得到与各个服务器的各个磁盘中的各个分区对应的排序结果,如第一个服务器的第一块磁盘的第一个分区,第一个服务器的第一块磁盘的第二个分区第t台服务器的第i块盘的第j个分区。0073接着,本申请可以将排序结果中第一个服务器的每块磁盘中的所有分区分别作为一个初始盘组,这样便得到与第一服务器的磁盘数对应的多个初始盘组,本申请可以。
34、根据第一个服务器的各块磁盘的顺序确定各个初始盘组的顺序,这样便可以按照预设的目标盘组划分方式来将排序结果中其他服务器的每块磁盘中的各个分区依次划分至各个初始盘组中,从而得到多个目标盘组。0074例如,当本申请将第一个服务器的第一块磁盘中的所有分区作为一个初始盘组后,为了保证一个set中的磁盘均匀的分布在各个服务器,且一个set中的磁盘数大于等于4小于等于16,本申请可以继续按照排序结果中各个服务器的顺序,依次将其他服务器中与第一个服务器的第一块磁盘中的所有分区的数量对应的分区划分至该初始盘组中。进一步地,由于本申请中每个服务器的每块磁盘的分区数量是相同的,因此在划分时,可以按照预设的目标盘组划。
35、分方式进行划分,如按照其他服务器中每块磁盘的顺序,依次将与第一个服务器的第一块磁盘中的所有分区的数量对应的分区划分至各个初始盘组中,或者按照其他服务器中每块磁盘对应的每个分区的顺序,依次将与第一个服务器的第一块磁盘中的所有分区的数量对应的分区划分至各个初始盘组中,或者是其他可以实现将一个set中的磁盘均匀的分布在各个服务器,且一个set中的磁盘数大于等于4小于等于16的划分方式,均为本申请的保护范围。0075在一个实施例中,如图2所示,图2为本申请实施例提供的目标盘组划分过程的流程示意图;S133中按照预设的目标盘组划分方式将所述排序结果中其他服务器的每块磁盘中的各个分区依次划分至各个初始盘组。
36、中,得到多个目标盘组,可以包括:0076S1331:针对第一个服务器的首块磁盘对应的初始盘组,将排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中。0077S1332:判断排序结果中是否有下下个服务器;若有,则执行S1333;若无,则执行S1334。0078S1333:将下下个服务器替换为下个服务器后,返回执行S1331中将排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤以及后续步骤,直到排序结果中没有下下个服务器为止。0079S1334:若无,则针对第一个服务器的下块磁盘对应的初始盘组,返回执行S1331中说明书6/10 页。
37、9CN 116501258 A9将排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤以及后续步骤,直到第一个服务器的下块磁盘对应的初始盘组划分完毕后,判断第一个服务器中是否有下下块磁盘;若有,则执行S1335;若无,则执行S1336。0080S1335:将下下块磁盘替换为下块磁盘后,返回执行S1331中将排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤以及后续步骤,直到第一个服务器中没有下下块磁盘为止。0081S1336:停止划分操作,并得到多个目标盘组。0082本实施例中,如图2所示,在划分目标盘组时,可以从第一服务器。
38、的首块磁盘对应的初始盘组开始,将排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中。举例来说,假设目标Minio集群中服务器的个数为3,每个服务器的盘数为3,所有盘的规格相同,将每块盘划分为3个分区,所有分区的规格相同。此时将服务器标记为M,将磁盘标记为D,将分区标记为P,则第一个服务器为M1,第一块磁盘为D1,第一个分区为P1,第一服务器的首块磁盘对应的初始盘组包括,。0083接着,本申请可以将排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中,此时初始盘组包括,接着本申请再判断排序结果中是否有下下个服务器,若有,则继续将下下个服务。
39、器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中,此时初始盘组包括,由于目标Minio集群中服务器的个数为3,因此,第一个初始盘组划分完毕,并得到目标盘组,其他初始盘组也按照该划分方式依次进行划分。0084由上述划分过程可见,本申请目标盘组中的磁盘数包括,若按照原本的划分方式,该目标盘组中的磁盘数包括,此时M1中的D1盘故障后,故障盘的压力则只能转移到,中,而按照本申请的划分方式,此时M1中的D1盘的P1故障后,故障盘的压力则转移到剩余的,中。换句话说,当服务器的个数为M,每个服务器的盘数为N,优化之前,如果一块盘故障,故障盘的下载压力会被转移到M1块盘上,而优化后,当一个盘故障。
40、时,故障盘的下载压力会被转移到(M1)*N块盘上,从而避免了因为一块盘的故障导致部分盘压力增长过大而无法提供服务的现象发生,并有效提升系统的稳定性。0085进一步地,针对上述目标盘组的划分过程,本申请可以通过如下代码实现:说明书7/10 页10CN 116501258 A10008600870088综上,第1台机器的第i块盘和第j台机器所有盘的第i个分区在一个set内,这样当一个盘故障时,故障盘的下载压力会被转移到(M1)*N块盘上,而不是原先的M1块盘上。0089下面对本申请实施例提供的基于Minio的盘组划分装置进行描述,下文描述的基于Minio的盘组划分装置与上文描述的基于Minio的盘。
41、组划分方法可相互对应参照。0090在一个实施例中,如图3所示,图3为本申请实施例提供的一种基于Minio的盘组划分装置的结构示意图,本申请还提供了一种基于Minio的盘组划分装置,包括信息确定模块210、磁盘分区模块220、盘组划分模块230,具体包括如下:0091信息确定模块210,用于确定目标Minio集群接入的多个服务器、每个服务器的磁盘及磁盘数。0092磁盘分区模块220,用于按照每个服务器的磁盘数将每个服务器中的每块磁盘进行分区,得到每块磁盘对应的多个分区。0093盘组划分模块230,用于将各个服务器的各块磁盘中的各个分区按照预设的盘组划分方式划分成多个目标盘组,并通过各个目标盘组存。
42、储对象数据。0094上述实施例中,首先确定目标Minio集群接入的多个服务器、每个服务器的磁盘及磁盘数,这样便可以按照每个服务器的磁盘数来将每个服务器中的每块磁盘进行分区,并得到每块磁盘对应的多个分区,接着,本申请可以将各个服务器的各块磁盘中的各个分区按照预设的盘组划分方式划分成多个目标盘组,并通过各个目标盘组存储对象数据,这样可以将同盘组中一块盘故障时的下载压力从少数几块盘转移到多个分区对应的逻辑盘上,从而有效避免因为一块盘的故障导致其他盘压力增长过大而无法提供服务,进而有效提升系统的稳定性。0095在一个实施例中,所述磁盘分区模块,包括:0096磁盘分区子模块,用于针对每个服务器中的每块磁。
43、盘,将该磁盘的磁盘空间划分成与该服务器的磁盘数一致的多个分区。0097在一个实施例中,所述盘组划分模块,包括:0098排序模块,用于将各个服务器、各个服务器的各块磁盘以及各个磁盘中的各个分说明书8/10 页11CN 116501258 A11区进行排序,得到与各个服务器的各个磁盘中的各个分区对应的排序结果;0099初始盘组划分模块,用于将所述排序结果中第一个服务器的每块磁盘中的所有分区分别作为一个初始盘组,并根据所述第一个服务器的各块磁盘的顺序确定各个初始盘组的顺序;0100目标盘组划分模块,用于按照预设的目标盘组划分方式将所述排序结果中其他服务器的每块磁盘中的各个分区依次划分至各个初始盘组中。
44、,得到多个目标盘组。0101在一个实施例中,所述目标盘组划分模块,包括:0102第一分区划分模块,用于针对第一个服务器的首块磁盘对应的初始盘组,将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中;0103服务器判断模块,用于判断所述排序结果中是否有下下个服务器;0104第二分区划分模块,用于若有,则将所述下下个服务器替换为所述下个服务器后,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述排序结果中没有下下个服务器为止;0105第三分区划分模块,用于若无,则针对所述第一个服务器的下块磁盘对应的初始盘。
45、组,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述第一个服务器的下块磁盘对应的初始盘组划分完毕后,判断所述第一个服务器中是否有下下块磁盘;0106第四分区划分模块,用于若有,则将所述下下块磁盘替换为所述下块磁盘后,返回执行将所述排序结果中下个服务器的每块磁盘中与该初始盘组的顺序相同的分区均划分至该初始盘组中的步骤,直到所述第一个服务器中没有下下块磁盘为止;0107停止划分模块,用于若无,则停止划分操作,并得到多个目标盘组。0108在一个实施例中,本申请还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一。
46、个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述基于Minio的盘组划分方法的步骤。0109在一个实施例中,本申请还提供了一种计算机设备,包括:一个或多个处理器,以及存储器。0110所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如上述实施例中任一项所述基于Minio的盘组划分方法的步骤。0111示意性地,如图4所示,图4为本申请实施例提供的一种计算机设备的内部结构示意图,该计算机设备300可以被提供为一服务器。参照图4,计算机设备300包括处理组件302,其进一步包括一个或多个处理器,以及由存储器301所代表的存储器资源,用于存储可。
47、由处理组件302的执行的指令,例如应用程序。存储器301中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件302被配置为执行指令,以执行上述任意实施例的基于Minio的盘组划分方法。0112计算机设备300还可以包括一个电源组件303被配置为执行计算机设备300的电源管理,一个有线或无线网络接口304被配置为将计算机设备300连接到网络,和一个输入输出(I/O)接口305。计算机设备300可以操作基于存储在存储器301的操作系统,例如Windows Server TM、Mac OS XTM、Unix TM、Linux TM、Free BSDTM或类似。说明书9/。
48、10 页12CN 116501258 A120113本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。0114最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括。
49、那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。0115本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。0116对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。说明书10/10 页13CN 116501258 A13图1说明书附图1/3 页14CN 116501258 A14图2说明书附图2/3 页15CN 116501258 A15图3图4说明书附图3/3 页16CN 116501258 A16。
- 内容关键字: 基于 Minio 划分 方法 装置 介质 相关 设备
链接地址:https://www.zhuanlichaxun.net/pdf/14247541.html