CN115065693A - 一种基于异构指令集的虚拟化存储池及其方法 - Google Patents
一种基于异构指令集的虚拟化存储池及其方法 Download PDFInfo
- Publication number
- CN115065693A CN115065693A CN202210661378.0A CN202210661378A CN115065693A CN 115065693 A CN115065693 A CN 115065693A CN 202210661378 A CN202210661378 A CN 202210661378A CN 115065693 A CN115065693 A CN 115065693A
- Authority
- CN
- China
- Prior art keywords
- storage
- file
- storage data
- protocol
- heterogeneous
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 275
- 238000000034 method Methods 0.000 title claims abstract description 36
- 239000010410 layer Substances 0.000 claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 24
- 239000012792 core layer Substances 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 14
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 238000005520 cutting process Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 5
- 239000002184 metal Substances 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 11
- 230000006870 function Effects 0.000 description 19
- 238000012423 maintenance Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 101100136092 Drosophila melanogaster peng gene Proteins 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005728 strengthening Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于异构指令集的虚拟化存储池及其方法,属于信息技术应用创新的技术领域,该虚拟化存储池包括:协议层,所述协议层用于提供块存储、对象存储和文件存储协议,通过块存储、对象存储和文件存储协议输入数据读写命令;本地API处理层,所述本地API处理层用于提供库函数,通过调用库函数执行数据读写命令;异构分布式存储核心层,所述异构分布式存储核心层提供不同指令集的存储数据节点,且各个存储数据节点通过Ceph协议与本地API处理层建立通信,并由至少三个存储数据节点组合成一服务器,各个不同的服务器分别对应存储读写数据,以达到不仅减少了对单一指令集的路径依赖,还提高了存储资源池的利用率的目的。
Description
技术领域
本发明属于信息技术应用创新的技术领域,具体而言,涉及一种基于异构指令集的虚拟化存储池及其方法。
背景技术
当前,信息技术应用创新(简称:信创,以下同)已经成为了一项国家战略,也是当今形势下国家经济发展的新动能。发展信创是为了解决本质安全的问题,本质安全也就是说,现在先把它变成我们自己可掌控、可研究、可发展、可生产的。
随着信创产业的发展,作为新基建的重要方向,国产CPU和操作系统是实现自主可控的核心,是解决“卡脖子”的关键环节。国产CPU的主要参与者为龙芯、兆芯、飞腾、海光、申威和华为鲲鹏等品牌,已经逐步形成了基于LoongArch(龙芯)、alpha(申威)、ARM(飞腾、鲲鹏)、x86(海光、兆芯)等四大主流指令集的技术路线,成为经济数字化转型、提升产业链发展的关键,从技术体系引进、强化产业基础、加强保障能力等方面着手,促进信创产业在本地落地生根,带动传统IT信息产业转型,构建区域级产业聚集集群。
基于此,目前党政或各行业数据中心(IDC)的建设,不管是公有云还是私有云,都会充分考虑政策、应用环境、人员等风险,并制定相应的风险对策和管理措施,针对基础环境存在不同国产芯片架构的情况,制定可持续使用的设计方案。所涵盖的基础设施包括四大指令集的国产芯片服务器、国产存储设备、国产网络设备和国产安全设备组成。基于这样的硬件实施,配置相应的底层支撑,包括操作系统、虚拟化软件等,形成计算资源池(虚拟机池、裸金属物理机池)、存储资源池(FC-SAN存储资源池、分布式存储资源池)、网络资源池(VPN、弹性IP、虚拟交换机)等,构建起基础设施即服务层(IAAS)。
但是,目前业界IAAS层面的存储资源池都只支持单一指令集的技术路线,存在一定的路径依赖,当某个技术路线的服务器、存储或网络交换机、路由器发生停止供货、停止运维、停止升级等“卡脖子”事件时,会导致业务系统停滞、降级甚至中断。
虽然目前有一些基于单一国产芯片的大规模分布式并行I/O的存储虚拟化技术,但是一旦在CPU芯片层面上出现“断供”的情况,会大幅影响业务的正常运行。
发明内容
鉴于此,为了解决现有技术存在的上述问题,本发明的目的在于提供一种基于异构指令集的虚拟化存储池及其方法以达到不仅减少了对单一指令集的路径依赖,还提高了存储资源池的利用率的目的。
本发明所采用的技术方案为:一种基于异构指令集的虚拟化存储池,该虚拟化存储池包括:
协议层,所述协议层用于提供块存储、对象存储和文件存储协议,通过块存储、对象存储和文件存储协议输入数据读写命令;
本地API处理层,所述本地API处理层用于提供库函数,通过调用库函数执行数据读写命令;
异构分布式存储核心层,所述异构分布式存储核心层提供不同指令集的存储数据节点,且各个存储数据节点通过Ceph协议与本地API处理层建立通信,并由至少三个存储数据节点组合成一服务器,各个不同的服务器分别对应存储读写数据。
进一步地,所述块存储通信连接有分布式系统接口;所述对象存储通信连接有裸金属服务器接口和/或虚拟机接口;所述文件存储协议通信连接有POSIX 文件系统接口。
进一步地,所述异构分布式存储核心层包括:
客户端,所述客户端与本地API处理层的库函数建立通信连接;
对象存储设备,所述对象存储设备包括多个存储数据节点,各个所述存储数据节点部署在不同指令集的服务器上,且各所述存储数据节点间建立通信连接;
监视维护设备,所述监视维护设备分别与各所述存储数据节点建立通信连接且交互各个所述存储数据节点的状态信息。
进一步地,不同指令集的服务器分别为:LoongArch服务器、alpha服务器、 ARM服务器和x86服务器。
在本发明中还提供了基于异构指令集的虚拟化存储方法,该存储方法包括:
S1:通过用户端、块存储、对象存储或文件存储调用库函数执行读写命令;
S2:若库函数通过客户端读取一个文件,则进入读文件;若库函数通过客户端写入一个文件,则进入写文件;
所述写文件包括:
A1:通过客户端将文件分割为若干个大小相同的对象存储块;
A2:将每个对象存储块映射到互为冗余的n个存储数据节点,n≥2;
A3:向n个存储数据节点中的一级存储数据节点发起写请求;
A4:同步复制n-1个副本分别到不同指令集的n-1个存储数据节点中;
A5:向客户端确认对象存储块的写入;
所述读文件包括:
B1:从文件获取索引节点,并根据索引节点计算其所在的存储数据节点;
B2:向存储数据节点发起读请求;
B3:将读取的对象存储块返回至客户端。
进一步地,所述A1包括:
A101:对文件进行切割成若干个对象存储块;
A102:对若干个对象存储块进行编号,生成异构oid。
进一步地,上述A2包括:
A201:将每个对象存储块映射到一个中间层SG,并通过中间层SG对对象存储块进行组织,中间层SG与对象存储块间形成“一对多”的映射关系;
A202:通过中间层SG与存储数据节点进行映射,将一中间层SG映射到多个存储数据节点上,以使中间层SG动态迁移到不同存储数据节点的组合中。
进一步地,在A202中,当中间层SG分配到多个存储数据节点时,各个存储数据节点是不同指令集的服务器,或是同一个指令集的服务器上。
进一步地,所述B2为:向存储数据节点发起读请求,若该存储数据节点损坏,则按优先级向存储数据节点冗余的其他存储数据节点发送读请求,直至读取到对象存储块为止。
本发明的有益效果为:
1.采用本发明所提供的基于异构指令集的虚拟化存储池及其方法,其通过采用基于LoongArch、alpha、ARM、x86等异构指令集虚拟化存储池,完成整个数据中心底层分布式存储处理机制,分布式存储指的是可以部署在多台服务器上,通过多台服务器并行处理来对外提供高性能的读写,本技术提供了支持异构指令集的技术,解决了传统Ceph协议对单一技术路线的依赖,解决了过去在虚拟化存储池被别人“卡脖子”的问题。
2.采用本发明所提供的基于异构指令集的虚拟化存储池及其方法,可广泛运用在云计算IDC、大数据存储底座、数据管理、智慧城市等数据量大,又要求国产自主可控的应用中。
附图说明
图1是本发明所提供的基于异构指令集的虚拟化存储池的整体架构图;
图2是本发明所提供的基于异构指令集的虚拟化存储池中异构分布式存储核心层的映射示意图;
图3是本发明所提供的基于异构指令集的虚拟化存储方法的工作流程示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
实施例1
在本实施例中具体提供了一种基于异构指令集的虚拟化存储池,该虚拟存储池基于异构指令集的虚拟化存储池技术,其通过分布式存储技术把文件、对象和数据块分配到不同指令集的服务器或工作站的磁盘中。具体的讲,其是基于LoongArch、alpha、ARM、x86等异构指令集的虚拟化存储池技术,对外提供统一的存储服务。
如图1所示,该虚拟化存储池包括:协议层、本地API处理层和异构分布式存储核心层三部分组合。其中,协议层用于提供块存储、对象存储和文件存储协议,通过块存储、对象存储和文件存储协议输入数据读写命令,对上屏蔽底层不同指令集CPU服务器的差异性。在实际应用时,所述块存储通信连接有分布式系统接口,例如:Amazon S3分布式系统和Swift分布式系统;所述对象存储通信连接有裸金属服务器(Host)接口和/或虚拟机(VM)接口;所述文件存储协议通信连接有POSIX文件系统接口,例如:NFS文件系统接口、CIFS 文件系统接口等。
本地API处理层用于提供库函数,通过调用库函数执行数据读写命令;本层提供一堆用于开发的库函数,这些库函数与应用一般来说在同一台节点上,所以也被称为本地API处理层。
异构分布式存储核心层提供不同指令集的存储数据节点,且各个存储数据节点通过Ceph协议与本地API处理层建立通信,并由至少三个存储数据节点组合成一服务器,各个不同的服务器分别对应存储读写数据。异构分布式存储核心层是本虚拟存储池的核心,也是最底层数据真正存放的地方,物理上由大量的不同指令集的服务器所构成,可以遵循Ceph协议实现可靠性、自动化、可扩展等特性。
针对上述,为将本技术的核心作更进一步的说明,所述异构分布式存储核心层包括:客户端、对象存储设备和监视维护设备。
客户端也称为Client,它可以是一个程序,也可能是命令行。所述客户端与本地API处理层的库函数建立通信连接,因此,上层的库函数必须通过客户端 (Client)程序与存储节点作信息交互。
对象存储设备也称为OSDs,所述对象存储设备包括多个存储数据节点,存储数据节点也称为OSD,各个所述存储数据节点部署在不同指令集的服务器上,且各所述存储数据节点间建立通信连接。根据Ceph协议,每一个存储数据节点 (OSD)实际上是一台安装了操作系统和文件系统的服务器,一般来说,一个存储数据节点(OSD)至少包括:单核CPU、内存、一块硬盘和一张网卡。把若干个存储数据节点(OSD)部署在不同指令集CPU的服务器上,不同指令集的服务器分别为:LoongArch服务器、alpha服务器、ARM服务器和x86服务器。同时,每个存储数据节点(OSD)都有一个守护线程(deamon),它的作用是介绍客户端(Client)的访问连接,与监视维护设备(monitor)以及其他的存储数据节点(OSD)通信,与其他的存储数据节点(OSD)进行数据存储维护等。换言之,也就是通过该守护线程(deamon)完成了存储数据节点(OSD) 的逻辑功能。
监视维护设备也称为Monitors,其主要用来进行系统状态检测和维护。所述监视维护设备分别与各所述存储数据节点建立通信连接且交互各个所述存储数据节点的状态信息。每一个存储数据节点(OSD)均会与监视维护设备 (monitor)交互节点状态信息,形成全局的元数据,即Clustermap,利用该元数据(Clustermap)就可以得到数据存放的具体位置。
在实际应用时,如果客户端(Client)来了一个请求,不管这个请求是读还是写,都需要先寻址才能找到数据应该存放到哪里或者需要从哪里读取。根据Ceph协议,寻址方式是基于元数据(Clustermap)进行计算的,以避免的查表,也避免了使用一个单独的元数据服务器。
在本实施例中,使用异构指令集便于存储池的扩容,并可实现对各种复杂技术路线的支持,满足了多样化的计算需求,同时也实现了存储资源整体分配的公平性。
由于若干个存储数据节点(OSD)部署在不同指令集CPU的服务器上,其还支持不同指令集服务器的存储设备管理,包括登记、分配和回收,形成统一的资源池,其特性有:一是支持各个业务系统的文件相互隔离,可同时存在大量文件系统;二是文件副本和文件分片自动在全系统范围内分散分布,不受单台服务器CPU芯片指令集和存储容量限制;三是全局一致透明,不管是 LoongArch服务器、alpha服务器、ARM服务器还是x86服务器的指令集,从任何一台服务器上访问到的文件系统都是一致的;四是每台服务器都是文件的读写接口,支持大规模分布式并行I/O,保证存储系统本身抗毁容灾。
实施例2
在实施例1中提供的基于异构指令集的虚拟化存储池的基础上,在本实施例中还提供了基于异构指令集的虚拟化存储方法,该存储方法包括:
S1:通过用户端、块存储、对象存储或文件存储调用库函数执行读写命令;
S2:若库函数通过客户端写入一个文件,则进入写文件;假设从客户端 (Client)传来的一个文件(File),所述写文件包括:
A1:按照分布式对象存储的思想,通过客户端将文件分割为若干个大小相同的对象存储块(Object),将这些对象存储块(Object)映射到存储数据节点(OSD)上;具体为:
A101:对文件进行切割成若干个对象存储块,就是按照一定的大小对文件(File)进行切割即可,相当于RAID中的条带化处理;
A102:切割完成以后,对若干个对象存储块进行编号,生成异构oid (Object ID)。
根据上述,每个文件(File)都有一个唯一的索引节点编号ino,也称之为元数据,然后再把文件(File)切分后产生的序号连缀在一起,即可构成异构oid。比如:索引节点编号为99999的某文件被切割成了三个对象存储块 (Object),异构oid即为999990、999991、999992。
区别于传统所使用的固定映射算法,固定映射算法为:使一个对象存储块(Object)每次固定映射到一组存储数据节点(OSD)上,同时为了确保冗余,同一个对象存储块(Object)会映射到3~5个存储数据节点(OSD)上且用户可以设置不同的策略,所以当前存储数据节点(OSD)会定期与其他的存储数据节点(OSD)进行信息的交互,而每个存储数据节点(OSD)上承载的对象存储块(Object)可能达数百万个,那么如果要在不同指令集的存储数据节点 (OSD)上进行信息交互的话,数据量将会暴涨至数千万次,维护成本会非常高。
为了实现对象存储块(Object)与不同指令集存储数据节点(OSD)之间的动态映射,以及降低存储数据节点(OSD)与对象存储块(Object)之间的信息维护,引入了一个中间层SG(策略组织,Strategy Group),中间层SG首先会对Object进行组织,具体如下:
A2:将每个对象存储块映射到互为冗余的n个存储数据节点,n≥2,在本实施例中,具体确定n=3;
A201:将每个对象存储块映射到一个中间层SG,并通过中间层SG对对象存储块进行组织,中间层SG与对象存储块间形成“一对多”的映射关系;具体的讲:一个对象存储块(Object)只能映射到一个中间层SG里面,而一个中间层SG可以组织多个对象存储块(Object),也就是说中间层SG与对象存储块(Object)之间是“一对多”的映射关系。为实现每一个中间层SG中存储对象存储块(Object)的总数据量近似均匀,具体如下:
每个对象存储块(Object)都要独立映射到一个中间层SG里面,实现了对象存储块(Object)能均匀分布在不同指令集的存储数据节点(OSD)中,既可以充分利用底层硬件,又可以平摊风险。实现流程如下:首先将oid进行哈希算法(Hash),得到一个近似均匀分布的伪随机值,然后按算法选一个中间层SG,把对象存储块(Object)放进去。具体算法如下:假设中间层SG的个数为m,那么设定一个长度为m-1的掩码,然后将Hash值得到的伪随机值与mask按位相与,最终得到SG序号(sgid),这样就保证了对象存储块(Object) 与中间层SG之间近似均匀的映射,同时,对象存储块(Object)的大小size相同,保证中间层SG中存储对象存储块(Object)的总数据量近似均匀。
A202:通过中间层SG与存储数据节点(OSD)进行映射,将一中间层SG映射到多个存储数据节点(OSD)上,以使中间层SG动态迁移到不同存储数据节点的组合中。例如:每个中间层SG会复制成3个副本分别放到3个存储数据节点(OSD)上,而每个存储数据节点(OSD)上也会承载多个中间层SG。具体如下:
存储对象存储块(Object)与中间层SG的映射是静态的,也就是一个存储对象存储块(Object)通过这个运算一定会映射到某个中间层SG里。加入中间层SG的目的是:实现不同指令集的存储数据节点(OSD)的动态迁移,因此,中间层SG到存储数据节点(OSD)的映射是受到其他因素影响的,当系统中存储数据节点(OSD)的状态、数量发生变化的时候,映射关系也会变化。通过一个元数据(Cluster Map)记录当前系统的状态,也就是当前可能发生的变化,最开始的时候管理员可以配置一些策略,比如说一个中间层SG可以分配到3个或5个存储数据节点(OSD)上,这3个或5个存储数据节点(OSD) 可以是不同指令集的服务器,也可以是同一个指令集的服务器或者机架,因此当一个服务器宕掉,还有其他的副本可用。
A3:向3个存储数据节点中的一级存储数据节点发起写请求。不管是块存储、文件存储还是对象存储,虚拟机、物理机或用户直接调用库函数执行读写命令时,本地API处理层都会通过客户端(Client)向异构分布式存储核心层读取或写入一个文件(File),客户端(Client)要在本地将文件(File)映射为若干个对象存储块(Object),然后,使用Hash和Crush算法映射成3个存储数据节点(OSD),序号最靠前的存储数据节点(OSD)为一级存储数据节点(Primary OSD),后两个分别为二级存储数据节点(Secondary OSD)和三级存储数据节点(Tertiary OSD),一级存储数据节点(Primary OSD)、二级存储数据节点(SecondaryOSD)和三级存储数据节点(Tertiary OSD)称之为互为冗余。
A4:同步复制2个副本分别到不同指令集的另外2个存储数据节点中;
A5:向客户端确认对象存储块的写入,并完成整个写数据过程。
本地API处理层和协议层调用异构分布式存储核心层,对外提供块存储、对象存储和文件存储服务,最主要的是数据的读写流程,读与写的流程大体相同,基于上述的写数据流程,下面阐述读数据流程,若库函数通过客户端读取一个文件,则进入读文件,所述读文件包括:
B1:从文件获取索引节点,并根据索引节点计算其所在的一级存储数据节点(Primary OSD);
B2:向一级存储数据节点(Primary OSD)发起读请求,若该一级存储数据节点(Primary OSD)损坏,则按优先级向该存储数据节点(OSD)冗余的其他存储数据节点(二级存储数据节点(Secondary OSD)和三级存储数据节点 (Tertiary OSD))发送读请求,直至读取到对象存储块(Object)为止;
B3:将读取的对象存储块(Object)返回至客户端(Client)。
上述所提供的虚拟化存储方法在本地API处理层做了一些优化,当各个存储数据节点(OSD)将数据写入内存缓冲区后,先向本地API处理层发送一次确认,当各个存储数据节点(OSD)都将数据落到磁盘后,再向本地API处理层发送一个最终的确认字符(ACK),用户可以根据具体的应用场景来确定到底选用哪个确认来执行后续的动作。总之,在不需要依赖其他的系统模块,只需要本地API处理层即可完成存储数据节点(OSD)的寻址,所以本地API处理层可以直接与存储数据节点(OSD)进行并行操作,尽可能均匀分担,从而避免单个存储数据节点(OSD)成为性能瓶颈。
需要说明的是,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA) 等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种基于异构指令集的虚拟化存储池,其特征在于,该虚拟化存储池包括:
协议层,所述协议层用于提供块存储、对象存储和文件存储协议,通过块存储、对象存储和文件存储协议输入数据读写命令;
本地API处理层,所述本地API处理层用于提供库函数,通过调用库函数执行数据读写命令;
异构分布式存储核心层,所述异构分布式存储核心层提供不同指令集的存储数据节点,且各个存储数据节点通过Ceph协议与本地API处理层建立通信,并由至少三个存储数据节点组合成一服务器,各个不同的服务器分别对应存储读写数据。
2.根据权利要求1所述的基于异构指令集的虚拟化存储池,其特征在于,所述块存储通信连接有分布式系统接口;所述对象存储通信连接有裸金属服务器接口和/或虚拟机接口;所述文件存储协议通信连接有POSIX文件系统接口。
3.根据权利要求1所述的基于异构指令集的虚拟化存储池,其特征在于,所述异构分布式存储核心层包括:
客户端,所述客户端与本地API处理层的库函数建立通信连接;
对象存储设备,所述对象存储设备包括多个存储数据节点,各个所述存储数据节点部署在不同指令集的服务器上,且各所述存储数据节点间建立通信连接;
监视维护设备,所述监视维护设备分别与各所述存储数据节点建立通信连接且交互各个所述存储数据节点的状态信息。
4.根据权利要求3所述的基于异构指令集的虚拟化存储池,其特征在于,不同指令集的服务器分别为:LoongArch服务器、alpha服务器、ARM服务器和x86服务器。
5.一种基于异构指令集的虚拟化存储方法,其特征在于,该虚拟化存储方法应用于如权利要求3所述的基于异构指令集的虚拟化存储池,该虚拟化存储方法包括:
S1:通过用户端、块存储、对象存储或文件存储调用库函数执行读写命令;
S2:若库函数通过客户端读取一个文件,则进入读文件;若库函数通过客户端写入一个文件,则进入写文件;
所述写文件包括:
A1:通过客户端将文件分割为若干个大小相同的对象存储块;
A2:将每个对象存储块映射到互为冗余的n个存储数据节点,n≥2;
A3:向n个存储数据节点中的一级存储数据节点发起写请求;
A4:同步复制n-1个副本分别到不同指令集的n-1个存储数据节点中;
A5:向客户端确认对象存储块的写入;
所述读文件包括:
B1:从文件获取索引节点,并根据索引节点计算其所在的存储数据节点;
B2:向存储数据节点发起读请求;
B3:将读取的对象存储块返回至客户端。
6.根据权利要求5所述的基于异构指令集的虚拟化存储方法,其特征在于,所述A1包括:
A101:对文件进行切割成若干个对象存储块;
A102:对若干个对象存储块进行编号,生成异构oid。
7.根据权利要求5所述的基于异构指令集的虚拟化存储方法,其特征在于,上述A2包括:
A201:将每个对象存储块映射到一个中间层SG,并通过中间层SG对对象存储块进行组织,中间层SG与对象存储块间形成“一对多”的映射关系;
A202:通过中间层SG与存储数据节点进行映射,将一中间层SG映射到多个存储数据节点上,以使中间层SG动态迁移到不同存储数据节点的组合中。
8.根据权利要求7所述的基于异构指令集的虚拟化存储方法,其特征在于,在A202中,当中间层SG分配到多个存储数据节点时,各个存储数据节点是不同指令集的服务器,或是同一个指令集的服务器上。
9.根据权利要求5所述的基于异构指令集的虚拟化存储方法,其特征在于,所述B2为:向存储数据节点发起读请求,若该存储数据节点损坏,则按优先级向存储数据节点冗余的其他存储数据节点发送读请求,直至读取到对象存储块为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210661378.0A CN115065693A (zh) | 2022-06-13 | 2022-06-13 | 一种基于异构指令集的虚拟化存储池及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210661378.0A CN115065693A (zh) | 2022-06-13 | 2022-06-13 | 一种基于异构指令集的虚拟化存储池及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115065693A true CN115065693A (zh) | 2022-09-16 |
Family
ID=83199904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210661378.0A Pending CN115065693A (zh) | 2022-06-13 | 2022-06-13 | 一种基于异构指令集的虚拟化存储池及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115065693A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429140B1 (en) * | 2010-11-03 | 2013-04-23 | Netapp. Inc. | System and method for representing application objects in standardized form for policy management |
CN103268252A (zh) * | 2013-05-12 | 2013-08-28 | 南京载玄信息科技有限公司 | 基于分布式存储的虚拟化平台系统及其实现方法 |
CN107220039A (zh) * | 2017-04-11 | 2017-09-29 | 国家电网公司 | 一种基于云环境的异构资源标准化封装系统 |
CN111158587A (zh) * | 2019-12-10 | 2020-05-15 | 南京道熵信息技术有限公司 | 基于存储池虚拟化管理的分布式存储系统及数据读写方法 |
-
2022
- 2022-06-13 CN CN202210661378.0A patent/CN115065693A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429140B1 (en) * | 2010-11-03 | 2013-04-23 | Netapp. Inc. | System and method for representing application objects in standardized form for policy management |
CN103268252A (zh) * | 2013-05-12 | 2013-08-28 | 南京载玄信息科技有限公司 | 基于分布式存储的虚拟化平台系统及其实现方法 |
CN107220039A (zh) * | 2017-04-11 | 2017-09-29 | 国家电网公司 | 一种基于云环境的异构资源标准化封装系统 |
CN111158587A (zh) * | 2019-12-10 | 2020-05-15 | 南京道熵信息技术有限公司 | 基于存储池虚拟化管理的分布式存储系统及数据读写方法 |
Non-Patent Citations (1)
Title |
---|
王梦童: "Ceph分布式存储系统拟态防御设计", 信息技术, pages 1 - 2 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11663029B2 (en) | Virtual machine storage controller selection in hyperconverged infrastructure environment and storage system | |
US9823980B2 (en) | Prioritizing data reconstruction in distributed storage systems | |
US6598174B1 (en) | Method and apparatus for storage unit replacement in non-redundant array | |
US11614883B2 (en) | Distributed data storage system using erasure coding on storage nodes fewer than data plus parity fragments | |
US6571354B1 (en) | Method and apparatus for storage unit replacement according to array priority | |
US11137940B2 (en) | Storage system and control method thereof | |
JP4632574B2 (ja) | 記憶装置およびファイルデータのバックアップ方法およびファイルデータのコピー方法 | |
JP5996787B2 (ja) | システム管理方法、及び計算機システム | |
US7966470B2 (en) | Apparatus and method for managing logical volume in distributed storage systems | |
US20230308507A1 (en) | Commissioning and decommissioning metadata nodes in a running distributed data storage system | |
US8713218B2 (en) | Non-disruptive configuration of a virtualization controller in a data storage system | |
CN109690494B (zh) | 系统存储装置中的分层容错 | |
CN110912991A (zh) | 一种基于超融合双节点高可用的实现方法 | |
JP2005222539A (ja) | 複数のコントローラ間に仮想ストレージセグメントを割り当てる能力を有するストレージシステム | |
US11262918B1 (en) | Data storage system with uneven drive wear reduction | |
US11182096B1 (en) | Data storage system with configurable durability | |
US20230136106A1 (en) | Space efficient distributed storage systems | |
CN113849136B (zh) | 一种基于国产平台的自动化fc块存储处理方法和系统 | |
US10552342B1 (en) | Application level coordination for automated multi-tiering system in a federated environment | |
US11023431B2 (en) | Split data migration in a data storage system | |
CN207704423U (zh) | 电网调度中资源池一体化构建系统 | |
CN115065693A (zh) | 一种基于异构指令集的虚拟化存储池及其方法 | |
KR101673882B1 (ko) | 내장 디스크를 이용한 고가용성 가상화 기반 스토리지 시스템 및 이것의 동작방법 | |
US11768744B2 (en) | Alerting and managing data storage system port overload due to host path failures | |
US11681443B1 (en) | Durable data storage with snapshot storage space optimization |
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 |