CN113535330A - 一种基于节点评价函数的超融合系统数据本地化存储方法 - Google Patents
一种基于节点评价函数的超融合系统数据本地化存储方法 Download PDFInfo
- Publication number
- CN113535330A CN113535330A CN202110848707.8A CN202110848707A CN113535330A CN 113535330 A CN113535330 A CN 113535330A CN 202110848707 A CN202110848707 A CN 202110848707A CN 113535330 A CN113535330 A CN 113535330A
- Authority
- CN
- China
- Prior art keywords
- node
- data block
- data
- value
- copy
- 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
- 238000011156 evaluation Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000004807 localization Effects 0.000 title claims description 11
- 238000013500 data storage Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 34
- 238000012423 maintenance Methods 0.000 claims description 28
- 238000013461 design Methods 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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]
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于节点评价函数的超融合系统数据本地化存储方法,涉及数据存储技术领域。本发明使用中心化的分布式存储系统作为其底层存储设备,采用本地物理节点和多个远端物理节点共同维护数据副本的方式,使系统中虚拟机实例的数据块在其所在物理节点保存一个主副本,并考虑节点间数据均衡分布,综合考虑物理节点的硬件性能和相对存储使用率选择另外两个远端物理节点保存第二、三数据副本,保证虚拟机数据的完全本地化存储,从而虚拟机读取数据时,能够直接从其所在物理节点读取所需数据,缩短虚拟机的读数据I/O路径,避免跨物理节点读取,降低虚拟机的读数据延迟。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一种基于节点评价函数的超融合系统数据本地化存储方法。
背景技术
去中心化的分布式存储系统通常使用哈希算法或其衍生算法计算得到多个数据副本放置的数据节点,以此为基础的超融合系统上的数据分布具有显著的分散性和随机性,虚拟机的数据并不完全存储在虚拟机所在物理节点上。对超融合系统中的每个虚拟机实例,系统每个物理节点均存储其数据的一部分,当虚拟机读取自身数据时,需要频繁通过节点间网络从其他节点复制所需数据块到虚拟机所在物理节点,造成较大的网络带宽占用,同时也带来了巨大的读数据延迟,且这种情况随着系统物理节点数目增大而显著加重。中心化的分布式存储系统具有元数据服务节点和数据服务节点,因此能指定数据保存的数据服务节点,但在选择从节点时采用随机选择的方式,易造成数据失衡,且这种情况在系统物理节点数目较大时更严重。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何为超融合系统中的虚拟机提供一种数据就近存储且超融合系统节点间数据均衡分布的数据本地化存储系统及方法。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于节点评价函数的超融合系统数据本地化存储系统的设计方法,将该存储系统设计为包括元数据维护模块和节点选择模块;其中,
将所述元数据维护模块设计为用于基于节点选择模块的返回值,存储和维护超融合系统中物理节点的状态信息和数据块的元数据;
将所述节点选择模块设计为用于在系统创建多个数据副本时,基于物理节点的CPU、内存和数据分布情况计算其评价函数值,并根据物理节点的评价函数值选择多个副本放置的节点。
优选地,将所述元数据维护模块进一步设计为:
当收到写数据请求时,首先由元数据维护模块检查数据是否存在于分布式存储系统中,若满足条件则将写数据信息传递给节点选择模块,并根据节点选择模块的返回值更新数据块的元数据信息,数据块的元数据结构设计为包括以下字段:
blkid字段为超融合系统中虚拟机数据块的ID,该字段用于系统索引数据块位置;replicas_num字段为多副本模式下当前数据块副本的序号,该字段与blkid字段结合能够全局唯一性地索引超融合系统中的数据块,该字段的取值为不大于副本复制因子数的正整数;datanode字段表示数据块副本所在的物理节点序号,取值为不大于超融合系统物理节点数目的非负整数;blk_size字段表示该数据块的大小;ctime字段表示该数据块的创建时间;atime字段表示该数据块的最后一次访问时间,该值的大小应当不小于ctime字段值的大小;mtime字段表示该数据块的最后一次修改时间,该值的大小应当不小于ctime字段的值,且该值的大小应当不大于atime字段的值;local_addr字段表示数据块在所分配的物理节点中的地址。
优选地,在三副本模式下replicas_num字段取值为1,2或3,取值为1时,表明该数据块为主副本,取值为2时,表示该数据块副本为当前数据块的第二副本,取值为3时,表示该数据块副本为当前数据块的第三副本。
优选地,当datanode字段值为0时,表示分布式存储层尚未为该数据块分配存储的节点。
优选地,所述节点选择模块进一步设计为:
收到元数据维护模块传递的写数据信息后,节点选择模块计算各个物理节点的评价函数值,并据此选择评价函数值最低的节点作为数据块保存的节点,计算物理节点评价函数值涉及到的参数为:节点的CPU负载、节点的内存负载和节点的相对存储使用率;其中,节点的CPU负载用节点CPU占用率pcpu来度量,取值范围为[0,1],此参数值越高,表明当前时段节点中运行的进程越多,节点的CPU使用率越高,该节点计算负载越高;节点的内存负载用节点的内存使用率pmem表示,为节点中进程已使用的内存量与节点内存总容量的比值,取值范围为[0,1],此参数值越高,表明该节点的内存负载越高;节点的相对存储使用率μ为节点当前已用存储容量与系统所有节点已用存储容量的比值,取值为大于0的实数,用来度量节点存储使用率与系统所有节点平均存储使用率之间的差别,评价函数值V为这三个参数的线性组合,且每个参数的系数为正数,如下式:
V=λ1×pcpu+λ2×pmem+λ3×μ
λ1、λ2、λ3为对应参数的系数;
系统中保存数据块副本的物理节点分为主节点和从节点,其中主节点为虚拟机所在的物理节点,与之相对应地,虚拟机产生的保存在主节点上的数据块的副本为主副本,对于每一个数据块,其主节点且仅有一个;从节点为除主副本外的副本所在的物理节点,在三副本模式中,从节点有两个,分别为第二从节点和第三从节点,相应地,第二、三从节点上保存的数据块副本分别为第二、三从副本。
本发明又提供了一种利用所述方法设计得到的数据本地化存储系统。
本发明又提供了一种基于所述的系统实现的一种基于节点评价函数的超融合系统数据本地化存储方法。
优选地,包括以下步骤:
步骤1、创建并更新主副本元数据
在收到超融合系统虚拟化层的写数据请求时,元数据维护模块首先检查该数据块是否已存在与集群中,若已存在,则拒绝写入;若不存在,则生成该数据块的blkid并为该数据块创建元数据并分配其在主节点保存的存储空间地址,同时初始化相关字段:
blkid:赋值为生成的blkid;
replicas_num;赋值为1,表明该数据块为主副本;
datanode:赋值为写数据请求来源物理节点的序号;
blk_size:赋值为该数据块大小;
ctime:赋值为当前时间;
atime:赋值为当前时间;
mtime:赋值为当前时间;
local_addr:赋值为在主副本节点中为该数据块分配的地址;
创建主副本元数据完成后,由元数据服务节点通过心跳信息将主副本元数据发送给该数据块主节点上的分布式数据节点;
步骤2、为数据块选择副本保存的从节点:
元数据维护模块为数据块分配主节点后,节点选择模块开始为数据块分配从节点;
节点选择模块从分布式存储元数据服务节点读取物理节点的CPU、内存以及存储空间使用情况,计算除该数据块主节点外的其他节点的综合评价函数值V,之后选择出其中综合评价函数值最小的两个数据服务节点分别作为该数据块的第二从节点和第三从节点,并将其返回给元数据维护模块;
步骤3、创建从节点的元数据
收到节点选择模块的返回值之后,元数据维护模块分别为数据块的第二、第三从副本创建元数据,其元数据各字段如下:
blkid:赋值为该数据块的blkid,该数据块的副本具有相同的blkid);
replicas_num;该数据块的第二、三从副本的该值分别赋值为2和3;
datanode:分别赋值为该数据块第二、三从副本节点的序号;
blk_size:赋值为该数据块大小;
ctime:赋值为当前时间;
atime:赋值为当前时间;
mtime:赋值为当前时间;
local_addr:分别赋值为在第二、三副本节点中为该数据块分配的地址;
步骤4、元数据服务节点向写请求客户端返回数据服务节点信息
选择出数据块的主副本节点、第二从副本节点和第三从副本节点后,由分布式存储元数据服务节点通过心跳信息将三个数据服务节点返回给写数据请求客户端。
本发明又提供了一种所述的方法在数据存储技术领域中的应用。
(三)有益效果
为了在实现虚拟机数据的本地化读取的同时,避免节点数据分布失衡,本发明提出了一种基于节点评价函数的超融合系统数据本地化存储系统及方法。使用中心化的分布式存储系统作为其底层存储设备,采用本地物理节点和多个远端物理节点共同维护数据副本的方式,使系统中虚拟机实例的数据块在其所在物理节点保存一个主副本,并考虑节点间数据均衡分布,综合考虑物理节点的硬件性能和相对存储使用率选择另外两个远端物理节点保存第二、三数据副本,保证虚拟机数据的完全本地化存储,从而虚拟机读取数据时,能够直接从其所在物理节点读取所需数据,缩短虚拟机的读数据I/O路径,避免跨物理节点读取,降低虚拟机的读数据延迟。
附图说明
图1为本发明的超融合系统数据本地化存储系统设计框图;
图2为本发明中的数据块的元数据结构设计原理图;
图3为本发明中的节点选择模块的节点选择流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明设计了一种基于节点评价函数的超融合系统数据本地化存储系统及方法。该设计旨在为超融合系统中的虚拟机提供一种数据就近存储且超融合系统节点间数据均衡分布的数据本地化存储系统及方法。该系统及方法应用于超融合系统底层分布式存储系统的元数据服务节点。
如图1所示,该系统设计为包括元数据维护模块和节点选择模块;其中,所述元数据维护模块用于基于节点选择模块的返回值,存储和维护超融合系统中物理节点的状态信息和数据块的元数据;节点选择模块用于在系统创建多个数据副本时,综合考虑物理节点的CPU、内存和数据分布情况计算其评价函数值,并根据物理节点的评价函数值选择多个副本放置的节点,以保证虚拟机所在物理节点持有虚拟机数据,使虚拟机的读数据I/O均通过本地节点,避免跨网络读取数据的带宽占用和时间消耗。
元数据维护模块设计:
本发明中,元数据维护模块用于基于节点选择模块的返回值,存储和维护超融合系统中物理节点的状态信息和数据块的元数据。在超融合系统中,虚拟机数据镜像以块数据的形式存在于底层分布式存储中,当收到写数据请求时,首先由元数据维护模块检查数据是否存在于分布式存储系统中,若满足条件则将写数据信息传递给节点选择模块,并根据节点选择模块的返回值更新数据块的元数据信息。数据块的元数据结构设计如图2所示。
其中,blkid字段为超融合系统中虚拟机数据块的ID,该字段用于系统索引数据块位置;replicas_num字段为多副本模式下当前数据块副本的序号,该字段与blkid字段结合能够全局唯一性地索引超融合系统中的数据块,该字段的取值为不大于副本复制因子数的正整数,如三副本模式下取值为1,2或3,取值为1时,表明该数据块为主副本,取值为2时,表示该数据块副本为当前数据块的第二副本,取值为3时,表示该数据块副本为当前数据块的第三副本;datanode字段表示数据块副本所在的物理节点序号,取值为不大于超融合系统物理节点数目的非负整数,如0,1,2,3等,特别地,当该值为0时,表示分布式存储层尚未为该数据块分配存储的节点;blk_size字段表示该数据块的大小;ctime字段表示该数据块的创建时间;atime字段表示该数据块的最后一次访问时间,该值的大小应当不小于ctime字段值的大小;mtime字段表示该数据块的最后一次修改时间,该值的大小应当不小于ctime字段的值,且该值的大小应当不大于atime字段的值;local_addr字段表示数据块在所分配的物理节点中的地址。
节点选择模块设计:
本发明中,收到元数据维护模块传递的写数据信息后,节点选择模块会计算各个物理节点的评价函数值,并据此选择评价函数值最低的节点作为数据块保存的节点。计算物理节点评价函数值涉及到的参数为:节点的CPU负载、节点的内存负载和节点的相对存储使用率;其中,节点的CPU负载用节点CPU占用率pcpu来度量,取值范围为[0,1],此参数值越高,表明当前时段节点中运行的进程越多,节点的CPU使用率越高,该节点计算负载越高;节点的内存负载用节点的内存使用率pmem表示,为节点中进程已使用的内存量与节点内存总容量的比值,取值范围为[0,1],此参数值越高,表明该节点的内存负载越高;节点的相对存储使用率μ为节点当前已用存储容量与系统所有节点已用存储容量的比值,取值为大于0的实数,用来度量节点存储使用率与系统所有节点平均存储使用率之间的差别。评价函数值V为这三个参数的线性组合,且每个参数的系数为正数,如下式:
V=λ1×pcpu+λ2×pmem+λ3×μ
λ1、λ2、λ3为对应参数的系数;
系统中保存数据块副本的物理节点分为主节点和从节点,其中主节点为虚拟机所在的物理节点,与之相对应地,虚拟机产生的保存在主节点上的数据块的副本为主副本,对于每一个数据块,其主节点且仅有一个;从节点为除主副本外的副本所在的物理节点,在三副本模式中,从节点有两个,分别为第二从节点和第三从节点,相应地,第二、三从节点上保存的数据块副本分别为第二、三从副本。
节点选择的流程如图3所示。
本发明使用自定义类为超融合系统分布式存储层元数据服务节点提供调用接口,以类调用的方式实现块数据副本放置节点的选择。
基于上述系统实现的一种基于节点评价函数的超融合系统数据本地化存储方法包括以下步骤:
步骤1、创建并更新主副本元数据
在收到超融合系统虚拟化层的写数据请求时,元数据维护模块首先检查该数据块是否已存在与集群中,若已存在,则拒绝写入;若不存在,则生成该数据块的blkid并为该数据块创建元数据并分配其在主节点保存的存储空间地址,同时初始化相关字段:
blkid:赋值为生成的blkid;
replicas_num;赋值为1,表明该数据块为主副本;
datanode:赋值为写数据请求来源物理节点的序号;
blk_size:赋值为该数据块大小;
ctime:赋值为当前时间;
atime:赋值为当前时间;
mtime:赋值为当前时间;
local_addr:赋值为在主副本节点中为该数据块分配的地址。
创建主副本元数据完成后,由元数据服务节点通过心跳信息将主副本元数据等信息发送给该数据块主节点上的分布式数据节点。
步骤2、为数据块选择副本保存的从节点:
元数据维护模块为数据块分配主节点后,节点选择模块开始为数据块分配从节点。
节点选择模块从分布式存储元数据服务节点读取物理节点的CPU、内存以及存储空间使用情况,计算除该数据块主节点外的其他节点的综合评价函数值V,之后选择出其中综合评价函数值最小的两个数据服务节点分别作为该数据块的第二从节点和第三从节点,并将其返回给元数据维护模块。
步骤3、创建从节点的元数据
收到节点选择模块的返回值之后,元数据维护模块分别为数据块的第二、第三从副本创建元数据,其元数据各字段如下:
blkid:赋值为该数据块的blkid(该数据块的副本具有相同的blkid);
replicas_num;该数据块的第二、三从副本的该值分别赋值为2和3;
datanode:分别赋值为该数据块第二、三从副本节点的序号;
blk_size:赋值为该数据块大小;
ctime:赋值为当前时间;
atime:赋值为当前时间;
mtime:赋值为当前时间;
local_addr:分别赋值为在第二、三副本节点中为该数据块分配的地址。
步骤4、元数据服务节点向写请求客户端返回数据服务节点信息
选择出数据块的主副本节点、第二从副本节点和第三从副本节点后,由分布式存储元数据服务节点通过心跳信息将上述三个数据服务节点返回给写数据请求客户端。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (9)
1.一种基于节点评价函数的超融合系统数据本地化存储系统的设计方法,其特征在于,将该存储系统设计为包括元数据维护模块和节点选择模块;其中,
将所述元数据维护模块设计为用于基于节点选择模块的返回值,存储和维护超融合系统中物理节点的状态信息和数据块的元数据;
将所述节点选择模块设计为用于在系统创建多个数据副本时,基于物理节点的CPU、内存和数据分布情况计算其评价函数值,并根据物理节点的评价函数值选择多个副本放置的节点。
2.如权利要求1所述的方法,其特征在于,将所述元数据维护模块进一步设计为:
当收到写数据请求时,首先由元数据维护模块检查数据是否存在于分布式存储系统中,若满足条件则将写数据信息传递给节点选择模块,并根据节点选择模块的返回值更新数据块的元数据信息,数据块的元数据结构设计为包括以下字段:
blkid字段为超融合系统中虚拟机数据块的ID,该字段用于系统索引数据块位置;replicas_num字段为多副本模式下当前数据块副本的序号,该字段与blkid字段结合能够全局唯一性地索引超融合系统中的数据块,该字段的取值为不大于副本复制因子数的正整数;datanode字段表示数据块副本所在的物理节点序号,取值为不大于超融合系统物理节点数目的非负整数;blk_size字段表示该数据块的大小;ctime字段表示该数据块的创建时间;atime字段表示该数据块的最后一次访问时间,该值的大小应当不小于ctime字段值的大小;mtime字段表示该数据块的最后一次修改时间,该值的大小应当不小于ctime字段的值,且该值的大小应当不大于atime字段的值;local_addr字段表示数据块在所分配的物理节点中的地址。
3.如权利要求2所述的方法,其特征在于,在三副本模式下replicas_num字段取值为1,2或3,取值为1时,表明该数据块为主副本,取值为2时,表示该数据块副本为当前数据块的第二副本,取值为3时,表示该数据块副本为当前数据块的第三副本。
4.如权利要求2所述的方法,其特征在于,当datanode字段值为0时,表示分布式存储层尚未为该数据块分配存储的节点。
5.如权利要求2所述的方法,其特征在于,所述节点选择模块进一步设计为:
收到元数据维护模块传递的写数据信息后,节点选择模块计算各个物理节点的评价函数值,并据此选择评价函数值最低的节点作为数据块保存的节点,计算物理节点评价函数值涉及到的参数为:节点的CPU负载、节点的内存负载和节点的相对存储使用率;其中,节点的CPU负载用节点CPU占用率pcpu来度量,取值范围为[0,1],此参数值越高,表明当前时段节点中运行的进程越多,节点的CPU使用率越高,该节点计算负载越高;节点的内存负载用节点的内存使用率pmem表示,为节点中进程已使用的内存量与节点内存总容量的比值,取值范围为[0,1],此参数值越高,表明该节点的内存负载越高;节点的相对存储使用率μ为节点当前已用存储容量与系统所有节点已用存储容量的比值,取值为大于0的实数,用来度量节点存储使用率与系统所有节点平均存储使用率之间的差别,评价函数值V为这三个参数的线性组合,且每个参数的系数为正数,如下式:
V=λ1×pcpu+λ2×pmem+λ3×μ
λ1、λ2、λ3为对应参数的系数;
系统中保存数据块副本的物理节点分为主节点和从节点,其中主节点为虚拟机所在的物理节点,与之相对应地,虚拟机产生的保存在主节点上的数据块的副本为主副本,对于每一个数据块,其主节点且仅有一个;从节点为除主副本外的副本所在的物理节点,在三副本模式中,从节点有两个,分别为第二从节点和第三从节点,相应地,第二、三从节点上保存的数据块副本分别为第二、三从副本。
6.一种利用权利要求1至5中任一项所述方法设计得到的数据本地化存储系统。
7.一种基于权利要求6所述的系统实现的一种基于节点评价函数的超融合系统数据本地化存储方法。
8.如权利要求7所述的方法,其特征在于,包括以下步骤:
步骤1、创建并更新主副本元数据
在收到超融合系统虚拟化层的写数据请求时,元数据维护模块首先检查该数据块是否已存在与集群中,若已存在,则拒绝写入;若不存在,则生成该数据块的blkid并为该数据块创建元数据并分配其在主节点保存的存储空间地址,同时初始化相关字段:
blkid:赋值为生成的blkid;
replicas_num;赋值为1,表明该数据块为主副本;
datanode:赋值为写数据请求来源物理节点的序号;
blk_size:赋值为该数据块大小;
ctime:赋值为当前时间;
atime:赋值为当前时间;
mtime:赋值为当前时间;
local_addr:赋值为在主副本节点中为该数据块分配的地址;
创建主副本元数据完成后,由元数据服务节点通过心跳信息将主副本元数据发送给该数据块主节点上的分布式数据节点;
步骤2、为数据块选择副本保存的从节点:
元数据维护模块为数据块分配主节点后,节点选择模块开始为数据块分配从节点;
节点选择模块从分布式存储元数据服务节点读取物理节点的CPU、内存以及存储空间使用情况,计算除该数据块主节点外的其他节点的综合评价函数值V,之后选择出其中综合评价函数值最小的两个数据服务节点分别作为该数据块的第二从节点和第三从节点,并将其返回给元数据维护模块;
步骤3、创建从节点的元数据
收到节点选择模块的返回值之后,元数据维护模块分别为数据块的第二、第三从副本创建元数据,其元数据各字段如下:
blkid:赋值为该数据块的blkid,该数据块的副本具有相同的blkid);
replicas_num;该数据块的第二、三从副本的该值分别赋值为2 和3;
datanode:分别赋值为该数据块第二、三从副本节点的序号;
blk_size:赋值为该数据块大小;
ctime:赋值为当前时间;
atime:赋值为当前时间;
mtime:赋值为当前时间;
local_addr:分别赋值为在第二、三副本节点中为该数据块分配的地址;
步骤4、元数据服务节点向写请求客户端返回数据服务节点信息
选择出数据块的主副本节点、第二从副本节点和第三从副本节点后,由分布式存储元数据服务节点通过心跳信息将三个数据服务节点返回给写数据请求客户端。
9.一种如权利要求8所述的方法在数据存储技术领域中的应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848707.8A CN113535330B (zh) | 2021-07-26 | 2021-07-26 | 一种基于节点评价函数的超融合系统数据本地化存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848707.8A CN113535330B (zh) | 2021-07-26 | 2021-07-26 | 一种基于节点评价函数的超融合系统数据本地化存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535330A true CN113535330A (zh) | 2021-10-22 |
CN113535330B CN113535330B (zh) | 2023-08-08 |
Family
ID=78089091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110848707.8A Active CN113535330B (zh) | 2021-07-26 | 2021-07-26 | 一种基于节点评价函数的超融合系统数据本地化存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535330B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003350A (zh) * | 2022-01-04 | 2022-02-01 | 北京志凌海纳科技有限公司 | 超融合系统的数据分配方法和系统 |
CN114827181A (zh) * | 2022-07-01 | 2022-07-29 | 长城超云(北京)科技有限公司 | 一种超融合存储设备的存储方法、设备、装置及介质 |
CN115167783A (zh) * | 2022-08-03 | 2022-10-11 | 贵州同创科技有限公司 | 一种基于大数据的电力物资数据多元存储方法及系统 |
CN115225642A (zh) * | 2022-06-10 | 2022-10-21 | 北京志凌海纳科技有限公司 | 超融合系统的弹性负载均衡方法及系统 |
CN116560913A (zh) * | 2023-07-10 | 2023-08-08 | 北京志凌海纳科技有限公司 | 一种超融合系统自适应拓扑结构变化副本分配方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335250A (zh) * | 2014-07-28 | 2016-02-17 | 浙江大华技术股份有限公司 | 一种基于分布式文件系统的数据恢复方法及装置 |
US20170300247A1 (en) * | 2016-04-14 | 2017-10-19 | Seagate Technology Llc | Intelligent snapshot tree replication |
US20190050302A1 (en) * | 2017-08-10 | 2019-02-14 | Rubrik, Inc. | Chunk allocation |
CN110392876A (zh) * | 2017-03-10 | 2019-10-29 | 净睿存储股份有限公司 | 将数据集和其他受管理对象同步地复制到基于云的存储系统 |
US20200218660A1 (en) * | 2019-01-04 | 2020-07-09 | Arm Limited | Cache operation in an apparatus supporting both physical and virtual address mapping |
CN111488198A (zh) * | 2020-04-16 | 2020-08-04 | 湖南麒麟信安科技有限公司 | 一种超融合环境下的虚拟机调度方法、系统及介质 |
CN111880900A (zh) * | 2020-07-29 | 2020-11-03 | 北京计算机技术及应用研究所 | 一种面向超融合设备的近数据处理系统的设计方法 |
CN112162826A (zh) * | 2020-10-13 | 2021-01-01 | 杭州电子科技大学 | 一种面向边缘计算的低功耗轻量级虚拟化方法 |
CN112817522A (zh) * | 2021-01-14 | 2021-05-18 | 西安万像电子科技有限公司 | 一种数据存储方法、装置、电子设备及存储介质 |
CN112947860A (zh) * | 2021-03-03 | 2021-06-11 | 成都信息工程大学 | 一种分布式数据副本的分级存储与调度方法 |
-
2021
- 2021-07-26 CN CN202110848707.8A patent/CN113535330B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335250A (zh) * | 2014-07-28 | 2016-02-17 | 浙江大华技术股份有限公司 | 一种基于分布式文件系统的数据恢复方法及装置 |
US20170300247A1 (en) * | 2016-04-14 | 2017-10-19 | Seagate Technology Llc | Intelligent snapshot tree replication |
CN110392876A (zh) * | 2017-03-10 | 2019-10-29 | 净睿存储股份有限公司 | 将数据集和其他受管理对象同步地复制到基于云的存储系统 |
US20190050302A1 (en) * | 2017-08-10 | 2019-02-14 | Rubrik, Inc. | Chunk allocation |
US20200218660A1 (en) * | 2019-01-04 | 2020-07-09 | Arm Limited | Cache operation in an apparatus supporting both physical and virtual address mapping |
CN111488198A (zh) * | 2020-04-16 | 2020-08-04 | 湖南麒麟信安科技有限公司 | 一种超融合环境下的虚拟机调度方法、系统及介质 |
CN111880900A (zh) * | 2020-07-29 | 2020-11-03 | 北京计算机技术及应用研究所 | 一种面向超融合设备的近数据处理系统的设计方法 |
CN112162826A (zh) * | 2020-10-13 | 2021-01-01 | 杭州电子科技大学 | 一种面向边缘计算的低功耗轻量级虚拟化方法 |
CN112817522A (zh) * | 2021-01-14 | 2021-05-18 | 西安万像电子科技有限公司 | 一种数据存储方法、装置、电子设备及存储介质 |
CN112947860A (zh) * | 2021-03-03 | 2021-06-11 | 成都信息工程大学 | 一种分布式数据副本的分级存储与调度方法 |
Non-Patent Citations (3)
Title |
---|
IT干货: ""VMware vSAN 7 超融合基础架构 (HCI)虚拟化集群解决方案"", pages 1 - 6, Retrieved from the Internet <URL:《https://blog.csdn.net/lidw2009/article/details/114014348》> * |
WEI LI: ""MISS-D: A fast and scalable framework of medical image storage service based on distributed file system"", 《COMPUTER METHODS AND PROGRAMS IN BIOMEDICINE》, vol. 186, pages 105189 * |
储雅: "" 基于HDFS的气象云存储的副本管理策略研究"", 《中国优秀硕士学位论文全文数据库 基础科学辑》, no. 2015, pages 009 - 4 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003350A (zh) * | 2022-01-04 | 2022-02-01 | 北京志凌海纳科技有限公司 | 超融合系统的数据分配方法和系统 |
CN115225642A (zh) * | 2022-06-10 | 2022-10-21 | 北京志凌海纳科技有限公司 | 超融合系统的弹性负载均衡方法及系统 |
CN115225642B (zh) * | 2022-06-10 | 2023-09-15 | 北京志凌海纳科技有限公司 | 超融合系统的弹性负载均衡方法及系统 |
CN114827181A (zh) * | 2022-07-01 | 2022-07-29 | 长城超云(北京)科技有限公司 | 一种超融合存储设备的存储方法、设备、装置及介质 |
CN114827181B (zh) * | 2022-07-01 | 2022-09-09 | 长城超云(北京)科技有限公司 | 一种超融合存储设备的存储方法、设备、装置及介质 |
CN115167783A (zh) * | 2022-08-03 | 2022-10-11 | 贵州同创科技有限公司 | 一种基于大数据的电力物资数据多元存储方法及系统 |
CN116560913A (zh) * | 2023-07-10 | 2023-08-08 | 北京志凌海纳科技有限公司 | 一种超融合系统自适应拓扑结构变化副本分配方法及系统 |
CN116560913B (zh) * | 2023-07-10 | 2023-09-15 | 北京志凌海纳科技有限公司 | 一种超融合系统自适应拓扑结构变化副本分配方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113535330B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113535330B (zh) | 一种基于节点评价函数的超融合系统数据本地化存储方法 | |
JP6542909B2 (ja) | ファイル操作方法及び装置 | |
CN109799951B (zh) | 使用分布式的和虚拟的命名空间管理的按需存储供应 | |
US7809769B2 (en) | Database partitioning by virtual partitions | |
CN105593828B (zh) | 管理文件的方法、分布式存储系统和管理节点 | |
US6928459B1 (en) | Plurality of file systems using weighted allocation to allocate space on one or more storage devices | |
US9336147B2 (en) | Cache and memory allocation for virtual machines | |
CN107667363A (zh) | 具有多种可选数据处理策略的基于对象的存储集群 | |
JP2020123041A (ja) | メモリシステムおよび制御方法 | |
JP6222227B2 (ja) | ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム | |
CN110188084B (zh) | 一种分布式文件存储系统及文件存储方法 | |
JP2015512551A (ja) | ネットワーク・インフラストラクチャにおけるデータ記憶及び編成を容易にするコンシステント・リング名前空間 | |
CN102833331B (zh) | 云存储系统及其元数据写入方法、元数据读取方法 | |
JP7467593B2 (ja) | リソース割振り方法、記憶デバイス、および記憶システム | |
CN103067461A (zh) | 一种文件的元数据管理系统以及元数据管理方法 | |
CN111488198A (zh) | 一种超融合环境下的虚拟机调度方法、系统及介质 | |
US20240289015A1 (en) | Data access of distributed graph learning architecture | |
CN110569302A (zh) | 一种基于lucene的分布式集群的物理隔离的方法及装置 | |
CN104254839A (zh) | 用于分割单链表以供分配存储器元素的系统和方法 | |
CN111309259A (zh) | 一种数据迁移方法、系统、存储介质和数据迁移终端 | |
CN111638853A (zh) | 数据存储方法、装置、存储集群、网关设备及主设备 | |
US7434026B2 (en) | Disk array device and virtual volume management method using a logical table and a physical table | |
CN115712500A (zh) | 内存释放、内存恢复方法、装置、计算机设备及存储介质 | |
CN115185454A (zh) | 虚拟大容量磁盘访问方法、装置、设备及存储介质 | |
CN109788013B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |