CN106649141B - 一种基于ceph的存储交互装置及存储系统 - Google Patents

一种基于ceph的存储交互装置及存储系统 Download PDF

Info

Publication number
CN106649141B
CN106649141B CN201610944980.XA CN201610944980A CN106649141B CN 106649141 B CN106649141 B CN 106649141B CN 201610944980 A CN201610944980 A CN 201610944980A CN 106649141 B CN106649141 B CN 106649141B
Authority
CN
China
Prior art keywords
rbd
cache
access request
volumes
access
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.)
Active
Application number
CN201610944980.XA
Other languages
English (en)
Other versions
CN106649141A (zh
Inventor
刘斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201610944980.XA priority Critical patent/CN106649141B/zh
Publication of CN106649141A publication Critical patent/CN106649141A/zh
Application granted granted Critical
Publication of CN106649141B publication Critical patent/CN106649141B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于ceph的存储交互装置,包括若干个RBD卷、分别与若干个客户端一一对应的若干个RBD cache;RBD cache,用于将接收到的访问请求同步至其他RBD cache;接收并依据其他RBD cache同步过来的访问请求对自身接收到的访问请求进行相应的调整,依据调整后的访问请求访问相应的RBD卷;将访问RBD卷后得到的数据返回对应的客户端。本发明避免多个客户端通过不同的RBD cache同时对一个RBD卷访问时数据不同步而报错的问题,可靠性高;本发明还公开了一种包括上述存储交互装置的存储系统。

Description

一种基于ceph的存储交互装置及存储系统
技术领域
本发明涉及数据存储技术领域,特别是涉及一种基于ceph的存储交互装置及存储系统。
背景技术
Ceph是一种基于优秀的性能、可靠性和可扩展性而设计的统一的、分布式的存储系统,Ceph的底层是RADOS(reliable autonomous distributed object storage,分布式对象存储系统)。RADOS能够将物理存储设备虚拟化整合为RBD(RADOS块设备)池,并依据自定义将RBD池分割成若干个RBD卷进行数据存储。
RBD卷与用户端进行数据交互时,要通过target(靶子)层,以及通过内核模块或librbd作为接口,其中,内核模块处于内核态,而librbd处于用户态。由于librbd不能够使用内核页缓存,故librbd内设置有自己的用户态的缓存,称为“RBD cache”,RBD cache就如一般的硬盘cache(缓存)一样,可以提高librbd的性能。
如图1所示,图1为当前ceph内的存储交互系统的结构示意图;由于librbd为用户态,此时对应使用的target层为tgt-target,客户端1用一根网线连接到集群中的node1节点(这里的节点指服务器),客户端2使用一根网线连接到集群中的node2节点,所有节点中创建target1,通过后端的RBD卷1创建LUN1并通过target1映射到对应的客户端,此时客户端1和客户端2均能通过target1以及LUN1访问RBD卷1。
目前的RBD cache是依据客户端来建立的,这样客户端1对应RBD cache1,客户端2对应RBD cache2,每个客户端分别对应一个RBD cache。此时,客户端1访问RBD卷1的路径为:客户端1→node1中的target1→LUN1→RBD cache1→RBD卷1;客户端2访问RBD卷1的路径为:客户端1→node2中的target1→LUN1→RBD cache2→RBD卷1。这种情况下,如果两个客户端同时访问RBD卷1进行操作(诸如虚拟机迁移、读写等),且客户端1和客户端2发送的数据不一致,就会导致RBD cache1和RBD cache2中的数据不同步,使得RBD卷不知道应该使用哪个RBD cache中的数据,进而导致系统报错。
因此,如何提供一种减少系统报错的基于ceph的存储交互装置及存储系统是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种基于ceph的存储交互装置,避免多个客户端通过不同的RBD cache同时对一个RBD卷访问时数据不同步而报错的问题,可靠性高;本发明的另一目的是提供一种包括上述存储交互装置的存储系统。
为解决上述技术问题,本发明提供了一种基于ceph的存储交互装置,包括若干个RBD卷、分别与若干个客户端一一对应的若干个RBD cache;
所述RBD cache,用于将接收到的所述访问请求同步至其他RBD cache;接收并依据其他RBD cache同步过来的访问请求对自身接收到的访问请求进行相应的调整,依据调整后的访问请求访问相应的RBD卷;将访问RBD卷后得到的数据返回对应的客户端。
优选地,所述RBD cache具体用于:
将接收到的所述访问请求同步至其他RBD cache;接收并依据其他RBD cache同步过来的访问请求对自身接收到的访问请求的访问地址或访问顺序进行相应的调整,依据调整后的访问请求访问相应的RBD卷;将访问RBD卷后得到的数据返回对应的客户端。
为解决上述技术问题,本发明还提供了一种基于ceph的存储系统,包括如以上任一项所述的存储交互装置、分别通过各个所述RBD卷建立的若干个逻辑单元、与所述逻辑单元一一对应的target层以及服务器集群,所述服务器集群内包括若干个服务器;
所述target层,用于分别接收若干个所述客户端发送的访问请求;
所述逻辑单元,用于作为自身对应的所述target层与各个所述RBD cache之间的数据交互接口,将自身对应的所述target层接收到的若干个访问请求分别分配至相应的RBD cache。
优选地,所述target层包括若干个对应于所述逻辑单元的target,所述target设置于所述ceph内的服务器中,且与所述服务器一一对应。
优选地,所述RBD cache设置于相应的服务器内,各个所述RBD cache所位于的服务器之间通过网线两两相连。
优选地,所述客户端与服务器通过网线连接。
本发明提供了一种基于ceph的存储交互装置,各个RBD cache基于客户端设置,当RBD cache接收到访问请求后,首先同步至其他RBD cache,各个RBD cache依据其他RBDcache同步过来的访问请求对自身接收到的访问请求进行调整,然后依据调整后的访问请求进行RBD卷的访问操作。可见,本发明在当不同RBD cache同时接收到访问相同RBD卷但操作内容不同的访问请求时,会通过不同RBD cache之间的相互同步操作调整这些访问请求的先后顺序,或者访问请求对应的访问位置,从而避免该种情况下系统报错,可靠性高。本发明还提供了一种包括上述存储交互装置的存储系统,也具有上述优点,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为当前ceph内的存储交互系统的结构示意图;
图2为本发明提供的一种基于ceph的存储系统的结构示意图。
具体实施方式
本发明的核心是提供一种基于ceph的存储交互装置,避免多个客户端通过不同的RBD cache同时对一个RBD卷访问时数据不同步而报错的问题,可靠性高;本发明的另一核心是提供一种包括上述存储交互装置的基于ceph的存储系统。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种基于ceph的存储交互装置,包括若干个RBD卷、分别与若干个客户端一一对应的若干个RBD cache;
RBD cache,用于将接收到的访问请求同步至其他RBD cache;接收并依据其他RBDcache同步过来的访问请求对自身接收到的访问请求进行相应的调整,依据调整后的访问请求访问相应的RBD卷;将访问RBD卷后得到的数据返回对应的客户端。
作为优选地,RBD cache具体用于:
将接收到的访问请求同步至其他RBD cache;接收并依据其他RBD cache同步过来的访问请求对自身接收到的访问请求的访问地址或访问顺序进行相应的调整,依据调整后的访问请求访问相应的RBD卷;将访问RBD卷后得到的数据通过相应的逻辑单元和target层返回对应的客户端。
可以理解的是,一般仅在多个的RBD cache收到的访问请求有冲突时才会进行调整,若没有冲突的话,则可按照接收到的访问请求依次进行访问操作。另外,RBD cache需要根据访问请求的类型对其进行调整,例如,当两个RBD cache均接收到写操作,且待写入的RBD卷中的地址相同但写入内容不同时,这种情况下若进行RBD cache同步就会出现报错,此时会调整两个访问请求内的写入地址或调整写入顺序等。当然,当出现其他类型的访问冲突时可进行其他类型的调整,具体如何调整同步可根据实际情况编写算法,本发明对此不作限定。
当然,这里的RBD cache不仅能够对访问地址和访问请求的顺序进行调整,具体调整哪些内容可根据实际需要而定,本发明不作限定。
本发明提供了一种基于ceph的存储交互装置,各个RBD cache基于客户端设置,当RBD cache接收到访问请求后,首先同步至其他RBD cache,各个RBD cache依据其他RBDcache同步过来的访问请求对自身接收到的访问请求进行调整,然后依据调整后的访问请求进行RBD卷的访问操作。可见,本发明在当不同RBD cache同时接收到访问相同RBD卷但操作内容不同的访问请求时,会通过不同RBD cache之间的相互同步操作调整这些访问请求的先后顺序,或者访问请求对应的访问位置,从而避免该种情况下系统报错,可靠性高。
本发明还提供了一种基于ceph的存储系统,参见图2所示,图2为本发明提供的一种基于ceph的存储系统的结构示意图。图2中,LUN1为基于RBD卷1建立的逻辑单元,Tgt-target1为对应于LUN1的target;Node1、Node2、Node3为服务器;RBD cache1对应客户端1,RBD cache2对应客户端2。
该系统包括以上的存储交互装置、分别通过各个RBD卷建立的若干个逻辑单元、与逻辑单元一一对应的target层以及服务器集群,服务器集群内包括若干个服务器;
target层,用于分别接收若干个客户端发送的访问请求;
逻辑单元,用于作为自身对应的target层与各个RBD cache之间的数据交互接口,将自身对应的target层接收到的若干个访问请求分别分配至相应的RBD cache。
其中,target层包括若干个对应于逻辑单元的target,target设置于ceph内的服务器中,且与服务器一一对应。target即为靶子,客户端需要先找寻到靶子,才能知道将访问请求发送到哪里。
可以理解的是,这里的逻辑单元通过RBD卷建立,即逻辑单元与RBD卷一一对应,进一步的,target层与逻辑单元对应设置,即可以理解为target层与RBD卷一一对应。故客户端发送的访问请求通过对应于哪个RBD卷的target层与逻辑单元,该访问请求即会对哪个RBD卷进行访问操作;当然,中间通过的RBD cache视发出访问请求的客户端而定。例如,假设第一target层对应于第一逻辑单元,第一逻辑单元通过第一RBD卷设置,则客户端发送的访问请求若通过第一target层和第一逻辑单元,则RBD cache会依据该访问请求访问第一RBD卷。
其中,RBD cache设置于相应的服务器内,各个RBD cache所位于的服务器之间通过网线两两相连。若RBD cache的数量过多,两两相连会造成线路过于复杂的话,可以通过修改RBD cache内的算法,使其具有将其他RBD cache同步过来的访问请求转发至与自身相连的其他RBD cache的功能,当然,本发明对此不做限定。
具体的,客户端与服务器通过网线连接。由于target一一对应的设置于服务器中,客户端可通过网线将访问请求发送至对应的target中。另外,客户端与服务器为无线连接。以上仅为优选方案,本发明不限定客户端与服务器间的连接方式。
另外,该存储系统中,每个客户端均可连接多个服务器,每个服务器也可以连接多个客户端,本发明对此不作限定。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (5)

1.一种基于ceph的存储交互装置,其特征在于,包括若干个RBD卷、分别与若干个客户端一一对应的若干个RBD cache;
所述RBD cache,用于将接收到的访问请求同步至其他RBD cache;接收并依据其他RBDcache同步过来的访问请求对自身接收到的访问请求进行相应的调整,依据调整后的访问请求访问相应的RBD卷;将访问RBD卷后得到的数据返回对应的客户端; 其中,所述RBDcache具体用于:
将接收到的所述访问请求同步至其他RBD cache;接收并依据其他RBD cache同步过来的访问请求对自身接收到的访问请求的访问地址或访问顺序进行相应的调整,依据调整后的访问请求访问相应的RBD卷;将访问RBD卷后得到的数据返回对应的客户端。
2.一种基于ceph的存储系统,其特征在于,包括如权利要求1所述的存储交互装置、分别通过各个所述RBD卷建立的若干个逻辑单元、与所述逻辑单元一一对应的target层以及服务器集群,所述服务器集群内包括若干个服务器;
所述target层,用于分别接收若干个所述客户端发送的访问请求;
所述逻辑单元,用于作为自身对应的所述target层与各个所述RBD cache之间的数据交互接口,将自身对应的所述target层接收到的若干个访问请求分别分配至相应的RBDcache。
3.根据权利要求2所述的存储系统,其特征在于,所述target层包括若干个对应于所述逻辑单元的target,所述target设置于所述ceph内的服务器中,且与所述服务器一一对应。
4.根据权利要求2或3所述的存储系统,其特征在于,所述RBD cache设置于相应的服务器内,各个所述RBD cache所位于的服务器之间通过网线两两相连。
5.根据权利要求4所述的存储系统,其特征在于,所述客户端与服务器通过网线连接。
CN201610944980.XA 2016-11-02 2016-11-02 一种基于ceph的存储交互装置及存储系统 Active CN106649141B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610944980.XA CN106649141B (zh) 2016-11-02 2016-11-02 一种基于ceph的存储交互装置及存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610944980.XA CN106649141B (zh) 2016-11-02 2016-11-02 一种基于ceph的存储交互装置及存储系统

Publications (2)

Publication Number Publication Date
CN106649141A CN106649141A (zh) 2017-05-10
CN106649141B true CN106649141B (zh) 2019-10-18

Family

ID=58820612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610944980.XA Active CN106649141B (zh) 2016-11-02 2016-11-02 一种基于ceph的存储交互装置及存储系统

Country Status (1)

Country Link
CN (1) CN106649141B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108628765B (zh) * 2018-04-13 2021-03-23 新华三技术有限公司 开源分布式存储软件Ceph中Cache实现方法和装置
CN109635039B (zh) * 2018-11-23 2021-08-24 金色熊猫有限公司 多数据中心数据同步方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545034A (zh) * 2003-11-26 2004-11-10 中国人民解放军国防科学技术大学 片内多处理器局部cache一致性的双环监听方法
CN102103518A (zh) * 2011-02-23 2011-06-22 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的系统及其实现方法
CN103092788A (zh) * 2012-12-24 2013-05-08 华为技术有限公司 多核处理器及数据访问方法
US8510496B1 (en) * 2009-04-27 2013-08-13 Netapp, Inc. Scheduling access requests for a multi-bank low-latency random read memory device
CN103561101A (zh) * 2013-11-06 2014-02-05 中国联合网络通信集团有限公司 一种网络文件系统
CN103634374A (zh) * 2013-11-07 2014-03-12 华为技术有限公司 一种并发访问请求的处理方法及装置
CN103678523A (zh) * 2013-11-28 2014-03-26 华为技术有限公司 分布式高速缓存cache数据访问方法和装置
CN105930103A (zh) * 2016-05-10 2016-09-07 南京大学 一种分布式存储ceph的纠删码覆盖写方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5309703B2 (ja) * 2008-03-07 2013-10-09 日本電気株式会社 共有メモリの制御回路、制御方法及び制御プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545034A (zh) * 2003-11-26 2004-11-10 中国人民解放军国防科学技术大学 片内多处理器局部cache一致性的双环监听方法
US8510496B1 (en) * 2009-04-27 2013-08-13 Netapp, Inc. Scheduling access requests for a multi-bank low-latency random read memory device
CN102103518A (zh) * 2011-02-23 2011-06-22 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的系统及其实现方法
CN103092788A (zh) * 2012-12-24 2013-05-08 华为技术有限公司 多核处理器及数据访问方法
CN103561101A (zh) * 2013-11-06 2014-02-05 中国联合网络通信集团有限公司 一种网络文件系统
CN103634374A (zh) * 2013-11-07 2014-03-12 华为技术有限公司 一种并发访问请求的处理方法及装置
CN103678523A (zh) * 2013-11-28 2014-03-26 华为技术有限公司 分布式高速缓存cache数据访问方法和装置
CN105930103A (zh) * 2016-05-10 2016-09-07 南京大学 一种分布式存储ceph的纠删码覆盖写方法

Also Published As

Publication number Publication date
CN106649141A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN107046563B (zh) 一种分布式高效云盘的实现方法、系统及云平台
US11042311B2 (en) Cluster system with calculation and storage converged
US10347542B2 (en) Client-initiated leader election in distributed client-server systems
US11204815B2 (en) Creation of modular applications with corresponding twins in the cloud
US10437486B2 (en) Method and apparatus for tenant-aware storage sharing platform
CN107566533B (zh) 一种基于nas实现的内外网文件共享系统
CN106933508B (zh) 应用容器的迁移方法及装置
US10027748B2 (en) Data replication in a tree based server architecture
CN105224444B (zh) 日志生成方法及装置
CN108351860A (zh) 低延迟的基于rdma的分布式存储装置
US9881018B2 (en) File management in thin provisioning storage environments
CN110048896B (zh) 一种集群数据获取方法、装置及设备
CN108418900A (zh) 一种服务器集群系统中的缓存方法、写入点客户端和读客户端
CN104166628B (zh) 管理内存的方法、装置和系统
CN105187523B (zh) 一种目录访问方法及装置
CN105340241A (zh) 用于均衡在sdn网络中的负载的方法和系统
CN105138281B (zh) 一种物理磁盘的共享方法及装置
CN106598789A (zh) 容器服务容灾的方法、装置、生产站点和灾备站点
CN106527985A (zh) 一种基于ceph的存储交互装置及存储系统
CN110301131B (zh) 用于分层设备集合的上下文感知设备许可
JP2009237826A (ja) ストレージシステム及びそのボリューム管理方法
CN109391487A (zh) 一种配置更新方法和系统
CN106649141B (zh) 一种基于ceph的存储交互装置及存储系统
CN110633046A (zh) 一种分布式系统的存储方法、装置、存储设备及存储介质
US9674312B2 (en) Dynamic protocol selection

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