CN103516549B - 一种基于共享对象存储的文件***元数据日志机制 - Google Patents
一种基于共享对象存储的文件***元数据日志机制 Download PDFInfo
- Publication number
- CN103516549B CN103516549B CN201310447799.4A CN201310447799A CN103516549B CN 103516549 B CN103516549 B CN 103516549B CN 201310447799 A CN201310447799 A CN 201310447799A CN 103516549 B CN103516549 B CN 103516549B
- Authority
- CN
- China
- Prior art keywords
- metadata
- metadata log
- log
- accessor
- write
- 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
Links
- 230000001934 delay Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000006399 behavior Effects 0.000 claims description 2
- 238000011084 recovery Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于共享对象存储的文件***元数据日志机制,属于计算机存储领域,其将文件***中的元数据日志统一保存在一个对象存储***中,该机制主要包括以下模块:对象存储访问器、元数据日志访问器、元数据日志管理器;能够实现超长元数据日志的存储,不需要循环控制,降低了***的复杂度。
Description
技术领域
本发明涉及计算机存储领域, 具体地说是一种基于共享对象存储的文件***元数据日志机制。
背景技术
随着网络应用的迅速发展,网络信息数据量越来越大,PB 级别的海量数据存储变得越来越重要。传统意义的文件***已不能满足现有应用的大容量、高可靠性、高性能等要求,为满足这些新要求,分布式文件***应用得到了广泛重视。
现有分布式文件***的研究主要分为元数据与实际数据存储分开管理,文件***中元数据请求占据所有请求的50%以上,因此,元数据管理问题成为分布式文件***研究中的一个重要研究方向。
元数据操作模式主要大量的随机IO操作,而目前的主要存储设备——机械硬盘,其随机IO操作相对于顺序IO来说,性能存在较大差距。这主要因为机械磁盘在处理随机IO时,进行执行大量的寻道操作,而寻道操作是机械操作,相对于电子操作来说耗时较长。针对这种情况,元数据日志机制能够较大程度的提供元数据的性能。
元数据日志机制的主要思路是将随机写操作转换为顺序写操作。在该机制中,元数据的更新过程被分为三个步骤:(1)将元数据操作以日志条目的形式顺序的写入元数据日志;(2)更新元数据缓存;(3)将缓存中的脏数据异步的更新到元数据的数据区域。在该过程中,当第二个过程完成后,即可以向客户端报告元数据请求已经执行完成。而第三步可以在适当的时机,例如***压力较轻的时候异步的执行。由于第一个步骤是数据的顺序写入过程,因此,该方法相对于直接更新元数据具有更快的响应速度,能够显著地提高元数据操作的效率。
但是传统的元数据日志通常使用本地磁盘或文件,因此存在以下问题:1)元数据日志的大小受本地磁盘空间的限制。在集群存储中,相对于整个***的可用空间来说,本地磁盘所能提供的空间极为有限。因此通常需要采用循环控制机制,将日志规模控制在一定的范围内;2)本地磁盘不具备容灾能力。如果需要支持本地磁盘的容灾,则需要提供额外的RAID等容灾设备,而且这些设备大多不具备跨节点的容灾能力。
目前的分布式存储***逐渐过渡到对象存储协议,即整个数据集群以对象作为数据的组织方式,所以急需一种新的元数据日志管理方式。
发明内容
本发明提供了一种基于共享对象存储的文件***元数据日志机制,将文件***中的元数据日志统一保存在一个对象存储***中,该机制主要包括以下模块:对象存储访问器、元数据日志访问器、元数据日志管理器;
对象存储访问器,该模块负责实现对象存储***的访问,包括对对象的读、写、删除等操作的支持;
元数据日志访问器,该模块在对象存储访问器的基础上,将对象操作包装为日志操作,即提供一个虚拟的日志文件,该日志文件没有长度限制,并且支持追加读取、追加写入和截断操作;
元数据日志管理器,该模块负责管理元数据日志,包括在***启动和恢复过程中执行日志的重放,***运行过程中执行日志的截断操作;
执行步骤如下:
(1)构造元数据日志条目,
(2)提交元数据条目到元数据日志管理器,
(3)元数据日志管理器提交日志条目到元数据日志访问器,
(4)元数据日志访问器通过对象存储访问器将日志写入到集群存储中,
(5)对象存储访问器完成写入操作后,向元数据日志访问器报告写入完成,
(6)元数据日志访问器向元数据日志管理器报告写入完成,
(7)元数据日志管理器向元数据服务器报告写入完成,
(8)元数据服务器更新内存缓存。
(9)元数据服务器向客户端报告元数据请求完成。
所述的日志机制,其元数据日志管理器定时触发日志的截断流程。
所述的日志机制,其当主元数据服务器发生宕机后,监控模块通知备份元数据服务器接管服务。
能够支持元数据服务器集群模式和元数据服务器热备模式。在元数据服务器集群模式中,不同元数据服务器根据其服务器ID对应不同的日志对象组;在元数据服务器热备模式中,主备服务器共享同一个日志对象组,正常状态下,主服务器具有日志对象组的写权限,主备切换时,备份服务器取得日志对象组的写权限。
本发明的有益效果是:能够实现超长元数据日志的存储,日志的大小仅受对象存储***的容量限制。另一方面,元数据日志可以持续使用追加写入的模式,不需要循环控制,降低了***的复杂度,支持元数据服务器集群模式和元数据服务器热备模式。
附图说明
附图1为基于共享对象存储的文件***元数据日志机制的***架构图。
具体实施方式
下面参照附图,对本发明的内容以具体实例来描述其实现方式及工作过程。
一、元数据请求流程
当元数据服务器收到客户端的元数据请求时,会执行以下步骤完成请求的操作。
(1)构造元数据日志条目。元数据服务器根据请求的类型、请求的数据项和要执行的操作等信息构造对应的日志条目数据。
(2)提交元数据条目到元数据日志管理器。元数据服务器调用元数据日志管理器的提交日志方法,将元数据日志条目提交给元数据日志管理器。元数据日志管理器检查日志条目的有效性,对日志条目进行编号。
(3)元数据日志管理器提交日志条目到元数据日志访问器。元数据日志管理器完成一系列验证操作后,将日志条目提交给元数据日志访问器。
(4)元数据日志访问器通过对象存储访问器将日志写入到集群存储中。元数据日志访问器收到日志写入请求后,根据当前日志的写入位置,计算新条目的起始偏移量,然后将日志操作转化为对象操作,并通过对象存储访问器执行对应的对象操作。
(5)对象存储访问器完成写入操作后,向元数据日志访问器报告写入完成。对象存储访问器负责执行对象操作,与对象存储设备通信,将数据写入到对象存储集群中。该操作是异步操作,在操作完成后,会通过回调方法通知元数据日志访问器写入完成。
(6)元数据日志访问器向元数据日志管理器报告写入完成。元数据日志访问器收到对象存储访问器的对象操作完成通知后,会更新当前整个MDS日志的相关情况,包括下一个条目要写入的偏移量等。完成更新后,向元数据日志管理器报告写入完成。
(7)元数据日志管理器向元数据服务器报告写入完成。元数据日志管理器报告收到元数据日志访问器报告的写入完成消息后,向元数据服务器报告写入成功。
(8)元数据服务器更新内存缓存。当元数据服务器收到日志写入完成的报告后,即了解元数据更新操作已经完成持久化,则更新内存缓存,以便应用元数据操作。
(7)元数据服务器向客户端报告元数据请求完成。完成缓存更新后,元数据服务器向客户端报告元数据请求完成。
二、日志截断
元数据日志管理器定时触发日志的截断流程。
在执行阶段操作前,会首先判断当前***的压力,包括CPU、网络、请求等待队列长度等信息,判断当前是否时候执行日志截断操作。如果元数据日志管理器发现当前***压力较大,则暂时中止日志的阶段流程。
如果当前***负载允许执行日志截断操作,则元数据日志管理器开始将缓存中的脏数据刷新到元数据的数据区。刷新操作执行成功后,通知元数据日志访问器截断已经转存到数据器的元数据条目。
三、容灾
当主元数据服务器发生宕机后,监控模块通知备份元数据服务器接管服务。
备份元数据服务器通过日志访问器读取主服务器的元数据日志,并执行日志的回放操作,从而将备份服务器的缓存状态置为与主服务器宕机前一致,然后继续处理客户端请求。
Claims (3)
1.一种基于共享对象存储的文件***元数据日志***,其特征在于将文件***中的元数据日志统一保存在一个对象存储***中,该***主要包括以下模块:对象存储访问器、元数据日志访问器、元数据日志管理器;
对象存储访问器,该模块负责实现对象存储***的访问,包括对对象的读、写、删除操作的支持;
元数据日志访问器,该模块在对象存储访问器的基础上,将对象操作包装为日志操作,即提供一个虚拟的日志文件,该日志文件没有长度限制,并且支持追加读取、追加写入和截断操作;
元数据日志管理器,该模块负责管理元数据日志,包括在***启动和恢复过程中执行日志的重放,***运行过程中执行日志的截断操作;
执行步骤如下:
(1)构造元数据日志条目,
(2)提交元数据日志条目到元数据日志管理器,
(3)元数据日志管理器提交元数据日志条目到元数据日志访问器,
(4)元数据日志访问器通过对象存储访问器将日志写入到集群存储中,
(5)对象存储访问器完成写入操作后,向元数据日志访问器报告写入完成,
(6)元数据日志访问器向元数据日志管理器报告写入完成,
(7)元数据日志管理器向元数据服务器报告写入完成,
(8)元数据服务器更新内存缓存;
(9)元数据服务器向客户端报告元数据请求完成。
2.根据权利要求书1所述的日志***,其特征在于元数据日志管理器定时触发日志的截断流程。
3.根据权利要求书2所述的日志***,其特征在于当主元数据服务器发生宕机后,监控模块通知备份元数据服务器接管服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310447799.4A CN103516549B (zh) | 2013-09-27 | 2013-09-27 | 一种基于共享对象存储的文件***元数据日志机制 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310447799.4A CN103516549B (zh) | 2013-09-27 | 2013-09-27 | 一种基于共享对象存储的文件***元数据日志机制 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103516549A CN103516549A (zh) | 2014-01-15 |
CN103516549B true CN103516549B (zh) | 2018-03-27 |
Family
ID=49898626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310447799.4A Active CN103516549B (zh) | 2013-09-27 | 2013-09-27 | 一种基于共享对象存储的文件***元数据日志机制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103516549B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793517B (zh) * | 2014-02-12 | 2017-07-28 | 浪潮电子信息产业股份有限公司 | 一种基于监控机制的文件***日志转储动态增容方法 |
CN103902479A (zh) * | 2014-03-27 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种基于元数据日志的元数据缓存快速重建机制 |
CN105740303B (zh) | 2014-12-12 | 2019-09-06 | 国际商业机器公司 | 改进的对象存储的方法及装置 |
CN104991739B (zh) * | 2015-06-19 | 2018-05-01 | 中国科学院计算技术研究所 | 元数据服务器失效接替中精确一次执行语义的方法及*** |
CN106790563B (zh) * | 2016-12-27 | 2019-11-15 | 浙江省公众信息产业有限公司 | 分布式存储***和方法 |
CN110019063B (zh) * | 2017-08-15 | 2022-07-05 | 厦门雅迅网络股份有限公司 | 计算节点数据容灾回放的方法、终端设备及存储介质 |
CN109828862B (zh) * | 2017-11-23 | 2023-08-22 | 成都华为技术有限公司 | 一种回放日志的方法和装置 |
CN109144413A (zh) * | 2018-07-27 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种元数据管理方法及装置 |
CN117891409A (zh) * | 2024-03-13 | 2024-04-16 | 济南浪潮数据技术有限公司 | 分布式存储***数据管理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581091A (zh) * | 2003-08-11 | 2005-02-16 | 株式会社日立制作所 | 多点远程拷贝*** |
CN103049351A (zh) * | 2012-12-13 | 2013-04-17 | 曙光信息产业(北京)有限公司 | 多元数据服务器的日志处理方法和装置 |
CN103207883A (zh) * | 2012-01-12 | 2013-07-17 | Lsi公司 | 用于元数据持久存储的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090112789A1 (en) * | 2007-10-31 | 2009-04-30 | Fernando Oliveira | Policy based file management |
-
2013
- 2013-09-27 CN CN201310447799.4A patent/CN103516549B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1581091A (zh) * | 2003-08-11 | 2005-02-16 | 株式会社日立制作所 | 多点远程拷贝*** |
CN103207883A (zh) * | 2012-01-12 | 2013-07-17 | Lsi公司 | 用于元数据持久存储的方法 |
CN103049351A (zh) * | 2012-12-13 | 2013-04-17 | 曙光信息产业(北京)有限公司 | 多元数据服务器的日志处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103516549A (zh) | 2014-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103516549B (zh) | 一种基于共享对象存储的文件***元数据日志机制 | |
KR101833114B1 (ko) | 분산 데이터베이스 시스템들을 위한 고속 장애 복구 | |
KR101771246B1 (ko) | 분산 데이터 시스템들을 위한 전 시스템에 미치는 체크포인트 회피 | |
US20140006687A1 (en) | Data Cache Apparatus, Data Storage System and Method | |
CN103929500A (zh) | 一种分布式存储***的数据分片方法 | |
US10049036B2 (en) | Reliable distributed messaging using non-volatile system memory | |
US9767015B1 (en) | Enhanced operating system integrity using non-volatile system memory | |
WO2012174888A1 (zh) | 一种分布式缓存***中的数据写入及读取方法及装置 | |
CN107798130A (zh) | 一种分布式存储的快照方法 | |
US9760480B1 (en) | Enhanced logging using non-volatile system memory | |
US10244069B1 (en) | Accelerated data storage synchronization for node fault protection in distributed storage system | |
AU2013403132A1 (en) | Data storage method, data storage apparatus, and storage device | |
CN109582686B (zh) | 分布式元数据管理一致性保证方法、装置、***及应用 | |
CN103037004A (zh) | 云存储***操作的实现方法和装置 | |
CN104267912A (zh) | 一种nas加速方法及*** | |
CN107422989B (zh) | 一种Server SAN***多副本读取方法及存储*** | |
CN103501319A (zh) | 一种低延迟的面向小文件的分布式存储*** | |
CN111984191A (zh) | 一种支持分布式存储的多客户端缓存方法及*** | |
CN106528338A (zh) | 一种远程数据复制方法、存储设备及存储*** | |
US11379326B2 (en) | Data access method, apparatus and computer program product | |
CN112379825B (zh) | 基于数据特征分池的分布式数据存储方法及装置 | |
WO2022033269A1 (zh) | 数据处理的方法、设备及*** | |
CN110704431A (zh) | 一种海量数据的分级存储管理方法 | |
US10089220B1 (en) | Saving state information resulting from non-idempotent operations in non-volatile system memory | |
US11263237B2 (en) | Systems and methods for storage block replication in a hybrid storage environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |