CN112764680A - 磁盘条带选择方法及存储*** - Google Patents
磁盘条带选择方法及存储*** Download PDFInfo
- Publication number
- CN112764680A CN112764680A CN202110072925.7A CN202110072925A CN112764680A CN 112764680 A CN112764680 A CN 112764680A CN 202110072925 A CN202110072925 A CN 202110072925A CN 112764680 A CN112764680 A CN 112764680A
- Authority
- CN
- China
- Prior art keywords
- storage system
- disk
- node
- stripes
- nodes
- 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.)
- Granted
Links
- 238000010187 selection method Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000009191 jumping Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000005012 migration Effects 0.000 abstract description 7
- 238000013508 migration Methods 0.000 abstract description 7
- 230000004044 response Effects 0.000 abstract description 3
- 230000006872 improvement Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种磁盘条带选择方法及存储***,该磁盘条带选择方法,包括获取由多个节点所组成的存储***中的磁盘属性;根据存储***所形成的磁盘属性计算存储***的实际最大条带数;基于条带选择逻辑及实际最大条带数,确定逻辑卷所包含的副本所对应的条带在存储***的各节点中的逻辑位置。通过本发明,实现了对包含多个节点的分布式存储集群中实现条带数最大化的同时避免不同副本位于同一节点上,有效地避免了由于单节点故障所导致的数据读写失败现象,避免了分布式存储集群因节点数量发生变化时重新对逻辑卷执行磁盘条带化所导致的不必要的数据迁移,确保了分布式存储集群具有良好的数据读写性能与服务的响应能力。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种磁盘条带选择方法及存储***。
背景技术
磁盘条带化就是一种自动的将I/O的负载均衡到多个物理磁盘上的技术,条带化技术就是将一块连续的数据分成很多小部分并把他们分别存储到不同磁盘上去。这就能使多个进程同时访问数据的多个不同部分而不会造成磁盘冲突,而且在需要对这种数据进行顺序访问的时候可以获得最大程度上的I/O并行能力。
逻辑卷(Logical Volume,LV)是由逻辑磁盘形成的虚拟盘。在具有多个存储节点的分布式存储***中,逻辑上连续的数据通常会被分割为多个不同的块,以存储在不同的存储节点或者物理设备中。条带宽度(StripeWidth)是指逻辑盘(LV)的条带数量,例如某个逻辑卷的Stripe Width为8,则表明该逻辑卷存在8个分片,基于用户设置的副本数量(MirrorNum),从而使得分片具有一定的副本数量。增加逻辑卷的StripeWidth,虽然能够提高数据传输性能,但由于要多次寻找不同的数据块从而降低了磁盘的定位性能;而减少逻辑卷的StripeWidth,虽然能提高磁盘的定位性能,但又降低了数据传输性能。
由此可见,虽然通过磁盘条带化手段可以显著提高逻辑卷的读写性能,但由于在分布式存储***中存在多个存储节点或者物理设备,因此当某个存储节点或者物理设备出现故障导致存储节点或者物理设备减少,或者扩容时需要增加一个或者多个存储节点或者物理设备时,就需要重新对分布式存储集群执行磁盘条带化。在分布式存储集群中重新对逻辑卷执行条带化会导致分布式存储集群所包含的各个存储节点或者物理设备之间发生大量的数据迁移,从而造成基于该分布式存储集群向前端或者用户发起业务或者请求的正常响应。
发明内容
本发明的目的在于揭示一种磁盘条带选择方法及存储***,用以实现包含多个节点的分布式存储集群中实现条带数最大化的同时避免单点故障所导致的数据读写失败现象,并避免分布式存储集群因节点数量发生变化时重新对逻辑卷执行磁盘条带化所导致的不必要的数据迁移。
为实现上述第一个发明目的,本申请首先提供了一种磁盘条带选择方法,包括:
获取由多个节点所组成的存储***中的磁盘属性;
根据存储***所形成的磁盘属性计算存储***的实际最大条带数;
基于条带选择逻辑及实际最大条带数,以确定逻辑卷所包含的副本所对应的条带在存储***的各节点中的逻辑位置。
作为本发明的进一步改进,还包括:
判断存储***中是否存在与实际最大条带数所对应的磁盘数量,并在存储***中不存在与实际最大条带数所对应的磁盘数量时,将实际最大条带数递减,并根据递减后的实际最大条带数确定逻辑卷所包含的副本所对应的条带在存储***的各节点中的逻辑位置;
逻辑卷所包含的副本位于存储***的不同节点中。
作为本发明的进一步改进,所述条带选择逻辑具体为:将逻辑卷的第一个副本所对应的全部条带依次写入存储***中第一个节点的磁盘,直到所述第一个节点的所有磁盘被选择完毕或者所述第一个节点上存在多余的磁盘且已经被所述逻辑卷的剩余副本所选择,并跳转至存储***的下一个节点并执行上述步骤。
作为本发明的进一步改进,所述存储***中节点包含至少一个磁盘。
作为本发明的进一步改进,所述存储***中节点所配置的磁盘数量随机。
作为本发明的进一步改进,采用下述公式(1)从存储***所形成的磁盘属性计算存储***的实际最大条带数:
StripeWidth = min(MaxStripeNum, DiskNum / MirrorNum) (1);
其中,StripeWidth为存储***的实际最大条带数,MaxStripeNum为用户为存储***所设置的最大条带数,DiskNum为存储***的总磁盘数,MirrorNum为用户为存储***所设置的逻辑卷的副本数,min()为取小运算。
作为本发明的进一步改进,获取由多个节点所组成的存储***中的磁盘属性的步骤执行完毕后还包括:
对存储***中各节点按照磁盘所形成的剩余容量按照从大到小的顺序进行排序。
作为本发明的进一步改进,所述存储***为分布式存储***。
作为本发明的进一步改进,在存储***中不存在与实际最大条带数所对应的磁盘数量时,将实际最大条带数递减的幅度为1。
基于相同发明思想,本申请还揭示了一种存储***,包括:
由多个节点所组成,
存储***运行如上述任一项发明创造所揭示的一种磁盘条带选择方法;
其中,所述存储***为分布式存储集群。
与现有技术相比,本发明的有益效果是:
通过本发明,实现了对包含多个节点的分布式存储集群中实现条带数最大化的同时避免不同副本位于同一节点上,有效地避免了由于单节点故障所导致的数据读写失败现象,尤其是能够避免分布式存储集群因节点数量发生变化时重新对逻辑卷执行磁盘条带化所导致的不必要的数据迁移,确保了分布式存储集群具有良好的数据读写性能与服务的响应能力。
附图说明
图1为本发明一种磁盘条带选择方法的整体流程图;
图2为应用图1所示出的磁盘条带选择方法的存储***的拓扑图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
在本申请各实施例中,术语“节点(Node)”与术语“节点服务器”或者术语“HOST”具等同含义。如无特殊说明,本申请各个实施例中的术语“磁盘”是指物理磁盘。以下通过若干实施例对本发明的核心要义及具体实现过程予以示范性阐述。
实施例一:
本发明对存储***中执行磁盘条带化过程中,为逻辑卷(LV)合理地选择对应的磁盘并通用于不同配置的磁盘环境中。磁盘环境是指基于由用户发起的请求或者操作予以响应的***或者平台(例如:云平台、超融合***等)所依赖的存储***所具有的磁盘参数。
由于每个用户所组建或被分配的存储***往往具有随机性或者特殊性,因此现有技术中传统的逻辑卷条带化方法存在极大的不适应性。当构成存储***的多个节点且每个及节点中配置的物理磁盘数量确定的情况下,通过本方法能够为不同的存储***确定最为合适的最大条带数。
尤其需要说明的是,在本实施例中,实际最大条带数与理论最大条带数可以相同,也可以不同;实际最大条带数根据存储***中的节点数、逻辑卷的副本数量、存储***中所包含的总磁盘数等多种磁盘参数进行动态确定,尤其是在存储***的某个或者某些个节点增加磁盘时,不会导致整个存储***重新对逻辑卷执行磁盘条带化所导致的不必要的数据迁移。
在本实施例中,构成存储***的节点可被理解为物理装置(例如物理机、磁盘阵列、计算机或者包含至少一个物理磁盘的计算机装置)或者虚拟装置(例如被配置多个虚拟磁盘的云主机或者计算机集群或者数据中心)。结合图2所示,下文以包含三个节点且每个节点包含若干物理磁盘的应用场景予以示范性说明。
参图1所示,本实施例所揭示的一种磁盘条带选择方法(以下简称“方法”),包括以下步骤S1~步骤S3。
首先,执行步骤S1、获取由多个节点所组成的存储***中的磁盘属性。
存储***100中节点包含至少一个磁盘,优选的,该存储***100为分布式存储***。存储***100中节点所配置的磁盘数量随机。磁盘数量的随机可以是人为因素导致(例如将服务服务器上的物理磁盘由于在部署时就已经不同,或者后期根据实际需要对不同节点中的磁盘的数量进行增加或者减少),也可以是异常情况所导致,例如某个节点发生意外断电、节点***崩溃或者网络断开导致该节点及其节点中的全部磁盘脱离整个存储***100。因此,本实施例所揭示的方法旨在对逻辑上连续的数据执行条带化处理后保存在不节点的一个或者多个磁盘中,以实现数据的高并发读写。
在特定场景中存储***100的节点数量及每个节点中所包含的物理磁盘的数量是相对固定的。因此,在本实施例中,首先要获取构成该存储***100的节点数量。参图2所示,存储***100中的磁盘属性包括:HostNum=3(代表存储***100中有三个节点),MirrorNum=2(用户为存储***100设定了两个副本),DiskNum(三个节点中所包含的全部磁盘的数量),MaxStripeNum为用户为存储***100所设置的最大条带数。MirrorNum与MaxStripeNum均由用户进行自定义设置。但是用户所自定义设置的上述磁盘属性如果一旦设置不合理的话,会导致无法匹配出与存储***100的当前环境最佳的最大条带数,进而影响数据的并发读写及对用户发起的访问请求及事件的响应能力。基于上文所述,当前环境存在变动的风险,因此需要对存储***100的实际最大条带数予以灵活的确定。
优选的,在本实施例中,获取由多个节点所组成的存储***100中的磁盘属性的步骤执行完毕后还包括:对存储***100中各节点按照磁盘所形成的剩余容量按照从大到小的顺序进行排序。由此使得在基于逻辑卷选择磁盘时尽量选择同一个节点中剩余容量较大的磁盘,以确保数据写入时具有足够的写入空间。
然后,执行步骤S2、根据存储***100所形成的磁盘属性计算存储***100的实际最大条带数。具体的,在本实施例中采用下述公式(1)从存储***100所形成的磁盘属性计算存储***100的实际最大条带数:
StripeWidth = min(MaxStripeNum, DiskNum / MirrorNum) (1);
其中,StripeWidth为存储***100的实际最大条带数,MaxStripeNum为用户为存储***100所设置的最大条带数,DiskNum为存储***100的总磁盘数,MirrorNum为用户为存储***100所设置的逻辑卷的副本数,min()为取小运算。
实际最大条带数可以等于用户为存储***100所设置的最大条带数,也可以小于用户为存储***100所设置的最大条带数。具体的,申请人在下文中给出了若干实例予以阐述。
最后,执行步骤S3、基于条带选择逻辑及实际最大条带数,以确定逻辑卷所包含的副本所对应的条带在存储***100的各节点中的逻辑位置。具体的,步骤S3中的条带选择逻辑具体为:将逻辑卷的第一个副本所对应的全部条带依次写入存储***100中第一个节点(例如图2中的节点1)的磁盘,直到所述第一个节点(即节点1)的所有磁盘被选择完毕或者所述第一个节点(即节点1)上存在多余的磁盘且已经被所述逻辑卷的剩余副本所选择,并跳转至存储***100的下一个节点(即节点2)并执行上述步骤。上述循环步骤可按照图2中节点1至节点3的顺序,顺序执行上述步骤。例如,如果将细下文所指的副本一作为第一个副本,则副本二就是剩余副本。当MirrorNum被用户设置为三时,则存在三个副本,并使用于三个或者三个以上的节点所组成的存储***100。
同时,该方法还包括:判断存储***中是否存在与实际最大条带数所对应的磁盘数量,并在存储***100中不存在与实际最大条带数所对应的磁盘数量时,将实际最大条带数递减,并根据递减后的实际最大条带数确定逻辑卷所包含的副本所对应的条带在存储***100的各节点中的逻辑位置。逻辑卷所包含的副本位于存储***100的不同节点中。在存储***100中不存在与实际最大条带数所对应的磁盘数量时,将实际最大条带数递减的幅度为1。
在本实施例中,条带数越大,IO操作可以更为分散从而降低存储***100的数据读写压力。例如,一个3MB的数据的IO读写操作,如果由三个节点处理3MB的数据,则每个节点分别处理1MB的数据;如果由两个节点处理3MB的数据,则每个节点要处理1.5MB的数据。单个节点的处理的数据越多,会造成对一个连续数据的IO读写操作变慢。通过上述技术手段,可以有效提高IOPS和TPS。本实施例所揭示的方法,从用户为存储***100所设置的最大条带数开始依次递减,直到找到一个与当前环境最匹配的实际最大条带数。同时,在本实施例中,由于采用不同副本位于不同的节点,可以把最小故障域设定为某个节点,这样即使某个节点由于宕机导致该逻辑卷(LV)中的一个副本异常或者丢失,则还有其他节点中的逻辑卷(LV)的副本可以继续提供数据读写服务,从而有效地避免了由于单节点故障所导致的数据读写失败现象,提高了该存储***100的可靠性与稳定性。
申请人在本实施例中示出了几种典型实例,对本发明一种磁盘条带选择方法的具体实现过程予以示范性说明。
假设,存储***100中包含三个节点,DiskNum=10(即该存储***100包含10个磁盘),MirrorNum=2(即逻辑卷存在两个副本,即下文所述的副本一与副本二),用户为存储***100所设置的最大条带数MaxStripeNum=4,节点1~节点3中的磁盘数量分别是3、3、4。DiskNum/MirrorNum=5。此时,MaxStripeNum小于DiskNum/MirrorNum。根据取小运算,计算出该存储***100的实际最大条带数StripeWidth=4。然后,基于条带选择逻辑及实际最大条带数(StripeWidth=4),以确定逻辑卷所包含的副本所对应的条带在存储***100的各节点中的逻辑位置。
在本实施例中,使用nxdy表示第x个节点的第y个磁盘。
MaxStripeNum=4代表一个逻辑卷(LV)分成四个分片,并且每一分片有两个副本(Mirror),一共八个分片,两个条带位于不同节点上,以确保安全性与可用性。副本一的四个分片的逻辑位置分别为:n1d1(节点1的磁盘1),n1d2(节点1的磁盘2),n1d3(节点1的磁盘3),n2d1(节点2的磁盘1);副本二的四个分片的逻辑位置分别为:n2d2(节点2的磁盘2),n2d3(节点2的磁盘3),n3d1(节点3的磁盘1),n3d2(节点3的磁盘2)。由此使得副本一与副本二位于不同的节点中不同逻辑位置中,有效地避免了由于单节点故障所导致的数据读写失败现象,提高了该存储***100数据读写操作的安全性与可靠性。
假设,存储***100中包含三个节点,DiskNum=10,MirrorNum=2(即逻辑卷存在两个副本,即下文所述的副本一与副本二),用户为存储***100所设置的最大条带数MaxStripeNum=6,节点1~节点3中的磁盘数量分别是3、3、4。DiskNum/MirrorNum=5。此时,MaxStripeNum大于DiskNum/MirrorNum。根据取小运算,计算出该存储***100的实际最大条带数StripeWidth=DiskNum/MirrorNum,即等于5。
StripeNum=5代表一个逻辑卷(LV)分成五个分片,并且每一分片有两个副本(Mirror),一共十个分片,两个条带位于不同节点上,以确保安全性与可用性。副本一的五个分片的逻辑位置分别为:n1d1(节点1的磁盘1),n1d2(节点1的磁盘2),n1d3(节点1的磁盘3),n2d1(节点2的磁盘1),n2d2(节点2的磁盘2);副本二的五个分片的逻辑位置分别为:n2d3(节点2的磁盘3),n3d1(节点3的磁盘1),n3d2(节点3的磁盘2),n3d3(节点3的磁盘3),n3d4(节点3的磁盘4)。此时,节点3中确实存在磁盘4,表明副本二的五个分片能够被节点3中的五个磁盘被选择到,且此时需要对实际最大条带数进行递减,以仍然保持为5。
但是,每个用户所建立或者分配的存储***100的磁盘属性通常是不固定。因此,本实施例所揭示的方法尤其旨在解决对磁盘属性通常是不固定,甚至在存储***100中临时为某个或者某些节点中增加磁盘的场景中,避免存储集群以及逻辑盘的重平衡,以避免条带选择不同节点的不同磁盘时所导致大量数据迁移的技术问题。所谓重平衡是指节点间移动数据满足现有的逻辑盘的条带数量及副本数量。申请人示出了另一种实例,并予以具体说明。
存储***100中包含三个节点,DiskNum=10(即该存储***100包含10个磁盘),MirrorNum=2(即逻辑卷存在两个副本,即下文所述的副本一与副本二),用户为存储***100所设置的最大条带数MaxStripeNum=6,节点1~节点3中的磁盘数量分别是2、2、6。DiskNum/MirrorNum=5。此时,MaxStripeNum大于DiskNum/MirrorNum。根据取小运算,计算出该存储***100的实际最大条带数StripeWidth=DiskNum/MirrorNum,即等于5。此时,执行步骤S3,基于条带选择逻辑及实际最大条带数,以确定逻辑卷所包含的副本所对应的条带在存储***100的各节点中的逻辑位置。
在本实例中,需要判断存储***100中是否存在与实际最大条带数所对应的磁盘数量,并在存储***100中不存在与实际最大条带数所对应的磁盘数量时,将实际最大条带数递减,并根据递减后的实际最大条带数确定逻辑卷所包含的副本所对应的条带在存储***100的各节点中的逻辑位置。因此,实际最大条带数会发生递减。本实例使用nxdy表示第x个节点的第y个磁盘,使用sm_rn表示第m个条带的第n个副本。由于用户设定MirrorNum2,因此n∈[1,2],m最大取5,且x、y、m与n均取整数。
副本一的五个分片的逻辑位置分别为:n1d1(s1_r1),n1d2(s2_r1),n2d1(s3_r1),n2d2(s4_r1),n3d1(s5_r1)。副本二的五个分片的逻辑位置分别为:n3d2(s1_r2),n3d3(s2_r2),n3d4(s3_r2),n3d5(s4_r2),n3d6(s5_r2)。此时,虽然节点3中存在磁盘5与磁盘6,但是s5_r1(分片五的副本一)和s5_r2(分片五的副本二)均位于node3,这表明这两个副本在同一个节点3上,如果节点3宕机或者崩溃会导致整个存储***100故障与数据读写操作的不安全性,故需要修改StripeWidth,并对递减1,从而使得StripeWidth=4。由此使得该存储***100的实际最大条带数StripeWidth由5递减为4,并根据递减后的实际最大条带数确定逻辑卷所包含的副本所对应的条带在存储***100的各节点中的逻辑位置,由此使得两个副本不在同一个节点。根据递减后的实际最大条带数StripeWidth(即StripeWidth=4)对两个副本的条带所形成的五个分片的逻辑位置分别为:n1d1(s1_r1)(即,条带的分片一的副本一位于节点1的磁盘1),n1d2(s2_r1)(即,条带的分片二的副本一位于节点1的磁盘2),n2d1(s3_r1)(即,条带的分片三的副本一位于节点2的磁盘1),n2d2(s4_r1)(即,条带的分片四的副本一位于节点2的磁盘2),副本二的五个分片的逻辑位置分别为:n3d1(s1_r2)(即,条带的分片一的副本二位于节点3的磁盘1),n3d2(s2_r2)(即,条带的分片二的副本二位于节点3的磁盘2),n3d3(s3_r2)(即,条带的分片三的副本二位于节点3的磁盘3),n3d4(s4_r2)(即,条带的分片四的副本二位于节点3的磁盘4)。至此,完成每个条带对不同节点中的不同磁盘的选择。
本实施例所揭示的方法可用于在分布式储存集群中创建逻辑磁盘时选择物理磁盘,使得逻辑磁盘的条带最大化,而且不同副本位于不同节点上,有效避免单点故障。即使存储***100的实际最大条带数到达用户为存储***100所设置的最大条带数时,增加某个节点或者某些节点中的磁盘数量,也不会改变条带化规则,不会引起存储***100的节点间发生额外的数据迁移事件,节约了存储***100的资源开销。
实施例二:
结合图2所示,基于实施例一所揭示的磁盘条带选择方法,本实施例还揭示了一种存储***。
一种存储***100,包括:
由多个节点所组成,
存储***运行如实施例一所述的磁盘条带选择方法;
其中,所述存储***100为分布式存储集群,并包含节点1~节点3,每个节点可配置一个或者多个磁盘。
该存储***100可作为云平台、超融合***或者数据中心的底层存储介质,以存储数据、插件、进程或者各种应用等。
本实施例与实施例一中具有相同部分的技术方案,请参实施例一所示,在此不再赘述。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.一种磁盘条带选择方法,其特征在于,包括:
获取由多个节点所组成的存储***中的磁盘属性;
根据存储***所形成的磁盘属性计算存储***的实际最大条带数;
基于条带选择逻辑及实际最大条带数,以确定逻辑卷所包含的副本所对应的条带在存储***的各节点中的逻辑位置。
2.根据权利要求1所述的磁盘条带选择方法,其特征在于,还包括:
判断存储***中是否存在与实际最大条带数所对应的磁盘数量,并在存储***中不存在与实际最大条带数所对应的磁盘数量时,将实际最大条带数递减,并根据递减后的实际最大条带数确定逻辑卷所包含的副本所对应的条带在存储***的各节点中的逻辑位置;
逻辑卷所包含的副本位于存储***的不同节点中。
3.根据权利要求1所述的磁盘条带选择方法,其特征在于,所述条带选择逻辑具体为:将逻辑卷的第一个副本所对应的全部条带依次写入存储***中第一个节点的磁盘,直到所述第一个节点的所有磁盘被选择完毕或者所述第一个节点上存在多余的磁盘且已经被所述逻辑卷的剩余副本所选择,并跳转至存储***的下一个节点并执行上述步骤。
4.根据权利要求2所述的磁盘条带选择方法,其特征在于,所述存储***中节点包含至少一个磁盘。
5.根据权利要求2所述的磁盘条带选择方法,其特征在于,所述存储***中节点所配置的磁盘数量随机。
6.根据权利要求2至5中任一项所述的磁盘条带选择方法,其特征在于,采用下述公式(1)从存储***所形成的磁盘属性计算存储***的实际最大条带数:
StripeWidth=min(MaxStripeNum,DiskNum/MirrorNum) (1);
其中,StripeWidth为存储***的实际最大条带数,MaxStripeNum为用户为存储***所设置的最大条带数,DiskNum为存储***的总磁盘数,MirrorNum为用户为存储***所设置的逻辑卷的副本数,min()为取小运算。
7.根据权利要求6所述的磁盘条带选择方法,其特征在于,获取由多个节点所组成的存储***中的磁盘属性的步骤执行完毕后还包括:
对存储***中各节点按照磁盘所形成的剩余容量按照从大到小的顺序进行排序。
8.根据权利要求6所述的磁盘条带选择方法,其特征在于,所述存储***为分布式存储***。
9.根据权利要求2所述的磁盘条带选择方法,其特征在于,在存储***中不存在与实际最大条带数所对应的磁盘数量时,将实际最大条带数递减的幅度为1。
10.一种存储***,其特征在于,包括:
由多个节点所组成,
存储***运行如权利要求1至9中任一项所述的磁盘条带选择方法;
其中,所述存储***为分布式存储集群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110072925.7A CN112764680B (zh) | 2021-01-20 | 2021-01-20 | 磁盘条带选择方法及存储*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110072925.7A CN112764680B (zh) | 2021-01-20 | 2021-01-20 | 磁盘条带选择方法及存储*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112764680A true CN112764680A (zh) | 2021-05-07 |
CN112764680B CN112764680B (zh) | 2024-02-06 |
Family
ID=75703390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110072925.7A Active CN112764680B (zh) | 2021-01-20 | 2021-01-20 | 磁盘条带选择方法及存储*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764680B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816278A (zh) * | 2022-06-30 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 一种存储服务器的数据迁移方法、***、设备及存储介质 |
CN115309348A (zh) * | 2022-10-11 | 2022-11-08 | 苏州浪潮智能科技有限公司 | 元数据的管理方法、装置和计算机设备和存储介质 |
CN115712390A (zh) * | 2022-11-14 | 2023-02-24 | 安超云软件有限公司 | 可用数据条带分片数确定方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266814A (zh) * | 2008-05-08 | 2008-09-17 | 杭州华三通信技术有限公司 | 存储***中的磁盘定位方法和实现磁盘定位的存储*** |
US20150317210A1 (en) * | 2012-11-14 | 2015-11-05 | International Business Machines Corporation | Back-up and restoration of data between volatile and flash memory |
CN105610921A (zh) * | 2015-12-23 | 2016-05-25 | 华中科技大学 | 一种集群下基于数据缓存的纠删码归档方法 |
CN111338568A (zh) * | 2020-02-16 | 2020-06-26 | 西安奥卡云数据科技有限公司 | 一种数据逻辑位置映射方法 |
CN112041806A (zh) * | 2018-04-27 | 2020-12-04 | 华睿泰科技有限责任公司 | 用于跨多个存储设备重新平衡条带式信息的***和方法 |
-
2021
- 2021-01-20 CN CN202110072925.7A patent/CN112764680B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266814A (zh) * | 2008-05-08 | 2008-09-17 | 杭州华三通信技术有限公司 | 存储***中的磁盘定位方法和实现磁盘定位的存储*** |
US20150317210A1 (en) * | 2012-11-14 | 2015-11-05 | International Business Machines Corporation | Back-up and restoration of data between volatile and flash memory |
CN105610921A (zh) * | 2015-12-23 | 2016-05-25 | 华中科技大学 | 一种集群下基于数据缓存的纠删码归档方法 |
CN112041806A (zh) * | 2018-04-27 | 2020-12-04 | 华睿泰科技有限责任公司 | 用于跨多个存储设备重新平衡条带式信息的***和方法 |
CN111338568A (zh) * | 2020-02-16 | 2020-06-26 | 西安奥卡云数据科技有限公司 | 一种数据逻辑位置映射方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114816278A (zh) * | 2022-06-30 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 一种存储服务器的数据迁移方法、***、设备及存储介质 |
CN114816278B (zh) * | 2022-06-30 | 2022-11-11 | 苏州浪潮智能科技有限公司 | 一种存储服务器的数据迁移方法、***、设备及存储介质 |
CN115309348A (zh) * | 2022-10-11 | 2022-11-08 | 苏州浪潮智能科技有限公司 | 元数据的管理方法、装置和计算机设备和存储介质 |
CN115309348B (zh) * | 2022-10-11 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 元数据的管理方法、装置和计算机设备和存储介质 |
CN115712390A (zh) * | 2022-11-14 | 2023-02-24 | 安超云软件有限公司 | 可用数据条带分片数确定方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN112764680B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112764680A (zh) | 磁盘条带选择方法及存储*** | |
US7996608B1 (en) | Providing redundancy in a storage system | |
JP4922496B2 (ja) | I/o要求に優先順位を与える方法 | |
CN107807794B (zh) | 一种数据存储方法和装置 | |
US5392244A (en) | Memory systems with data storage redundancy management | |
US5937428A (en) | Method for host-based I/O workload balancing on redundant array controllers | |
US6141707A (en) | Input/output request allocation by establishing master command queue among plurality of command queues to receive and store commands, determine logical volume, and forwarding command to determined logical volume | |
US7953929B1 (en) | Expanding the storage capacity of a virtualized data storage system | |
US7971013B2 (en) | Compensating for write speed differences between mirroring storage devices by striping | |
US7730274B1 (en) | Preventing undesired trespass in storage arrays | |
US6553389B1 (en) | Resource availability determination mechanism for distributed data storage system | |
US7032070B2 (en) | Method for partial data reallocation in a storage system | |
EP1519271A2 (en) | Disk array device,method of extending storage capacity and computer program | |
CN103051691B (zh) | 分区分配方法、装置以及分布式存储*** | |
US8554996B2 (en) | Dynamically expanding storage capacity of a storage volume | |
WO2014098872A1 (en) | Raid storage processing | |
CN111124263B (zh) | 用于管理多个盘的方法、电子设备以及计算机程序产品 | |
CN110058960B (zh) | 用于管理存储***的方法、设备和计算机程序产品 | |
CN112262372A (zh) | 跨多个故障域的存储*** | |
EP2466446B1 (en) | Storage system, method, and program, comprising a plurality of storage devices | |
CN112748865B (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
US20210216403A1 (en) | Dynamically adjusting redundancy levels of storage stripes | |
WO2005031577A1 (en) | Logical partitioning in redundantstorage systems | |
CN116010160A (zh) | 分布式文件***的纠删码数据分布的方法及应用 | |
WO2017026070A1 (ja) | ストレージシステム及びストレージ管理方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |