CN103473258A - 云存储文件系统 - Google Patents
云存储文件系统 Download PDFInfo
- Publication number
- CN103473258A CN103473258A CN2013102323544A CN201310232354A CN103473258A CN 103473258 A CN103473258 A CN 103473258A CN 2013102323544 A CN2013102323544 A CN 2013102323544A CN 201310232354 A CN201310232354 A CN 201310232354A CN 103473258 A CN103473258 A CN 103473258A
- Authority
- CN
- China
- Prior art keywords
- file system
- unit
- log
- distributed
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种云存储文件系统,在Hadoop分布式文件系统基础之上实现日志结构块存储系统;所述Hadoop分布式文件系统,用于提供分布式的存储介质;所述日志结构块存储系统包括快照单元,克隆单元,块压缩单元,缓存单元等等。本发明的优点在于通过封装HDFS(Hadoop Distributed File-System)接口实现HLBS(Hadoop Log-Structured Block-Storage System)的接口,在此基础上实现LBS(Log-Structured Block-Storage System),最终实现创新型Hadoop分布式日志结构块存储系统,从而实现对数据的随机读写以及I/O效率的提高,同时包含快照,克隆等功能。
Description
技术领域
本发明涉及一种数据存储技术,特别涉及一种云存储文件系统。
背景技术
HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS一般部署在集群环境中,而且这个集群环境是一个主从(master/slave)系统。在这个系统中有一个命名节点(Namenode)和若干个数据节点(Datanode),命名节点上存储着所有元数据(Meta-data),而数据节点上存储着所有用户数据,这些数据被组织成数据块的形式放在数据节点上,每个数据块默认存放在三个数据节点(可配置)上,用户的请求(读写等)都是通过命名节点,进而操作数据节点。HDFS一次写入不能更改,只可多次读取。一旦创建了一个HDFS文件,并且写入了数据,关闭之后就不能再修改这些数据了。这种方式简化了数据一致性,同时也使高数据吞吐量变为可能。但是,这种方式也限制了用户对数据的操作,这是HDFS的一个鲜明的缺点。
日志结构文件系统(Log-Structured File System)最早由John K.Ousterhout和Fred Douglis在1988年提出。这种设计是为了提高写数据吞吐量,所有对数据和元数据的更新都是以日志的形式追加,形成一个线性的数据结构。日志结构文件系统(LFS)会不断的追加日志结构,日志中元数据的数据量有可能大于可用数据,每次更新都会产生元数据,那么存储空间就成为我们关注的核心问题,这么多的冗余数据应该如何处理。这就是日志结构文件系统的缺点。
虽然,中国专利CN201010624684.4公开了一种分布式文件系统的数据存储处理方法,其特征在于,包括:接收分布式文件系统客户端发送的访问请求;根据所述访问请求确定所述分布式文件系统客户端所要访问的存储单元以及所述存储单元对应的虚拟资源池状态,所述存储单元与其对应的虚拟资源池存储有相同的数据,所述虚拟资源池为根据具有相同活动周期的分布式文件系统客户端聚类生成;在确定所述存储单元对应的虚拟资源池处于上线状态时,向发起访问请求的分布式文件系统客户端返回包括客户端标识的访问响应消息,所述客户端标识所标识的分布式文件系统客户端为所述虚拟资源池中的一个,且根据所述访问请求确定。上述技术方案能够提高分布式文件系统的系统稳定性,但并没能进一步解决冗余数据问题。类似的专利技术还有很多,但都程度不同地存在着稳定性和实用性不佳的问题,尚有待于进一步改进完善。
发明内容
本发明的目的在于提供一种云存储文件系统,可以实现对数据的随机读写以及I/O效率的提高,从而解决上述问题。
为实现上述发明目的,本发明的技术方案是:一种云存储文件系统,包括:Hadoop分布式文件系统和日志结构块存储系统;所述Hadoop分布式文件系统,用于提供分布式的存储介质;所述日志结构块存储系统是基于日志结构文件系统理念而实现随机读写,它还包括快照单元,克隆单元,块压缩单元,缓存单元。
作为本发明的优选实施例,所述Hadoop分布式文件系统包括:接收分布式文件系统客户端发送的访问请求;根据所述访问请求确定所述分布式文件系统客户端所要访问的存储单元以及所述存储单元对应的虚拟资源池状态,所述存储单元与其对应的虚拟资源池存储有相同的数据,所述虚拟资源池为根据具有相同活动周期的分布式文件系统客户端聚类生成;在确定所述存储单元对应的虚拟资源池处于上线状态时,向发起访问请求的分布式文件系统客户端返回包括客户端标识的访问响应消息,所述客户端标识所标识的分布式文件系统客户端为所述虚拟资源池中的一个,且根据所述访问请求确定。
在本发明中,HLBS的磁盘数据格式与一般文件系统无多大差异,都是借助于data block、indirect block、inode等结构。所不同之处在于LBS会将磁盘(这里是HDFS的存储池)分割成有序的segment进行管理,当前活跃的segment只有一个(也就是日志的逻辑尾的segment)。这些segment逻辑上头尾相连组成线性logs,任何对文件的更新(data block、indirectblock、inode等等)都会以追加方式写入一个新的log——显然这么做的好处是保证了磁头的顺序移动,提高了吞吐量;而带来的麻烦是需要回收前期写入的旧数据(修改过的),否则磁盘迟早会写满。综上所述我们设计的基本思路是——利用HDFS为我们提供可靠的、分布式的存储介质;然后在其上实现LBS。
其中log是我们数据持久化的一个基本写入单位,对于写透需求来说,实际上每次写入动作都会产生一个新的log,而每次的log大小不尽相同。log的内容显然必须包含被写入的数据块,还需要包含对应的元数据(索引块等)信息,以及元数据的元信息(inode),这样才能完成对数据的索引。任何文件或者目录的修改,LBS都需要向log中写入如上几部分信息,而且要求严格“按照顺序写入(in-order semantics)”——其目的是为了崩溃时能尽可能恢复数据一致性。
读取文件最新数据时需要通过找到最新的inode map位置,再进而找到所需文件对应inode,再进而找到文件逻辑地址对应的数据块的物理地址(段号+offset),再进而读取数据。最新的Inode map位置理应记录在checkpoint文件中,HDFS初始化加载时读入;如果运行中则该inode map驻留于内存数据结构中。文件块大小是可变的(可配置),比如8k。对于不足一个块的修改,一定会伴随先读出完整块再修改,再追加这一过程。
具体来说,LBS是基于LFS的理念,但是又不同于LFS。LBS简化了LFS,通过LFS的设计理念设计并实现了块级别的日志存储系统,同时在LBS之上实现了快照(线性快照和树形快照),克隆,块压缩,缓存等技术。同时,对HDFS也进行了改进,实现了副本迁移,在无网络环境下,可以实现本地启动虚拟机等功能。
采用了上述技术方案,本发明的有益效果为:通过封装HDFS接口,实现HLBS的接口,在此基础上实现LBS,最终实现创新型Hadoop分布式日志结构块存储系统,HLBS吸取了HDFS和LBS的各自优点,同时弥补了各自的缺点,从而实现对数据的随机读写以及I/O效率的提高,同时包含快照,克隆等功能。
附图说明
图1为本发明HLBS实现原理图。
具体实施方式
下面结合实施例对本发明进一步说明。
实施例:一种云存储文件系统,包括:Hadoop分布式文件系统和日志结构块存储系统;所述Hadoop分布式文件系统,用于提供分布式的存储介质;所述日志结构块存储系统是基于日志结构文件系统而实现随机读写,还包括快照单元、克隆单元、块压缩单元和缓存单元。其中:所述Hadoop分布式文件系统包括:接收分布式文件系统客户端发送的访问请求;根据所述访问请求确定所述分布式文件系统客户端所要访问的存储单元以及所述存储单元对应的虚拟资源池状态,所述存储单元与其对应的虚拟资源池存储有相同的数据,所述虚拟资源池为根据具有相同活动周期的分布式文件系统客户端聚类生成;在确定所述存储单元对应的虚拟资源池处于上线状态时,向发起访问请求的分布式文件系统客户端返回包括客户端标识的访问响应消息,所述客户端标识所标识的分布式文件系统客户端为所述虚拟资源池中的一个,且根据所述访问请求确定。HLBS是一个在HDFS文件系统之上实现的LBS系统。但要注意它并非一个实现完整POSIX语义的文件系统(支持目录操作、link等),目前实现了单一文件的基本管理(open,write,read,close)的系统,所以把它称为存储系统(block-level)可能更加合适,HLBS已经支持了很多高级存储管理技术,比如,快照,克隆,块压缩,缓存等,同时,HLBS也已经支持了目前业内比较有名的系统,如XEN,QEMU/KVM,Libvirt,Openstack等。
HLBS快照技术的主要作用是能够进行在线数据备份与恢复。当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复到某个可用的时间点的状态。快照的另一个作用是为存储用户提供另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。HLFS快照技术包括线性快照和树形快照,树形快照应用场景更为广泛。
HLBS克隆技术主要作用是在一个HDFS之上的系统盘镜像,可以作为无数新系统的base系统,从而提高系统新系统生产速度和解决存储空间。同时,为了减少本网络传输压力,提高系统响应速度,可考虑利用本地文件系统作为Base数据宿主:比如一些场景中——我们可以将标准的镜像或某系统通用软件做到工具盘中,并置于到本地HLBS上,即local方式挂载的HLBS系统上,然后再在集群的HDFS上做一个新HLBS系统,并将其base系统放到本地的上述HLBS系统上。从而只有变化的增量数据需要途径网络I/O,这样很大程度上会提高系统性能。HLBS块压缩技术主要作用是通过压缩算法来重新组织数据,使存储空间得到最大利用。HLBS缓存技术主要作用是为了提高I/O效率。HLBS支持XEN虚拟机,在XEN虚拟机中可以创建HLBS卷,从而使XEN虚拟机具备了HLBS的所有优良特性。HLBS还支持QEMU/KVM虚拟机,在QEMU/KVM虚拟机中可以创建HLBS卷,进而对HLBS卷应用快照,克隆,块压缩,缓存等技术。HLBS支持XEN,QEMU/KVM虚拟机之后,使虚拟机的性能得到了极大的提高。Libvirt提供了一套标准的虚拟化接口,HLBS支持Libvirt,使用者可以通过Libvirt创建HLBS卷,进而应用HLBS所提供的一系列功能。Openstack是一个云基础软件,目前在业界非常有影响力,HLBS支持Openstack,可以通过Openstack创建HLBS卷,进而把HLBS的所有特性集成到Opesntack项目中,使Openstack更加强大。
综上所述,HLBS在HDFS之上实现LBS,从而达到随机读写,存储空间扩展等特性。HLBS还支持快照,克隆,块压缩等技术。目前,HLBS已经支持XEN,QEMU/KVM,Libvirt,Openstack等著名项目。HLBS的应用场景和范围越来越广泛。
本发明不局限于上述具体的实施方式,本领域的普通技术人员从上述构思出发,不经过创造性的劳动,所作出的种种变换,均落在本发明的保护范围之内。
Claims (2)
1.一种云存储文件系统,其特征在于,包括:Hadoop分布式文件系统和日志结构块存储系统;所述Hadoop分布式文件系统,用于提供分布式的存储介质;所述日志结构块存储系统包括随机读写单元、快照单元、克隆单元、块压缩单元和缓存单元。
2.根据权利要求1所述的一种云存储文件系统,其特征在于,所述Hadoop分布式文件系统包括:接收分布式文件系统客户端发送的访问请求;根据所述访问请求确定所述分布式文件系统客户端所要访问的存储单元以及所述存储单元对应的虚拟资源池状态,所述存储单元与其对应的虚拟资源池存储有相同的数据,所述虚拟资源池为根据具有相同活动周期的分布式文件系统客户端聚类生成;在确定所述存储单元对应的虚拟资源池处于上线状态时,向发起访问请求的分布式文件系统客户端返回包括客户端标识的访问响应消息,所述客户端标识所标识的分布式文件系统客户端为所述虚拟资源池中的一个,且根据所述访问请求确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102323544A CN103473258A (zh) | 2013-06-01 | 2013-06-01 | 云存储文件系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102323544A CN103473258A (zh) | 2013-06-01 | 2013-06-01 | 云存储文件系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103473258A true CN103473258A (zh) | 2013-12-25 |
Family
ID=49798106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102323544A Pending CN103473258A (zh) | 2013-06-01 | 2013-06-01 | 云存储文件系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103473258A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111878A (zh) * | 2014-02-20 | 2014-10-22 | 西安未来国际信息股份有限公司 | 基于虚拟机快照的hadoop集群自动化恢复技术 |
CN105260271A (zh) * | 2015-11-18 | 2016-01-20 | 浪潮(北京)电子信息产业有限公司 | 一种hdfs快照的实现方法及系统 |
CN105338118A (zh) * | 2015-11-30 | 2016-02-17 | 上海斐讯数据通信技术有限公司 | 分布式存储系统 |
CN105574104A (zh) * | 2015-12-11 | 2016-05-11 | 上海爱数信息技术股份有限公司 | 一种基于ObjectStore的LogStructure存储系统及其数据写入方法 |
WO2016095329A1 (zh) * | 2014-12-18 | 2016-06-23 | 中兴通讯股份有限公司 | 一种日志记录系统及日志记录操作方法 |
CN108255638A (zh) * | 2017-06-29 | 2018-07-06 | 新华三技术有限公司 | 一种快照回滚方法及装置 |
CN109254874A (zh) * | 2018-08-29 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种块存储数据快照类型的转化方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0850537A (ja) * | 1994-05-11 | 1996-02-20 | Internatl Business Mach Corp <Ibm> | データ記憶システム及び関連する方法 |
US5649152A (en) * | 1994-10-13 | 1997-07-15 | Vinca Corporation | Method and system for providing a static snapshot of data stored on a mass storage system |
CN102123167A (zh) * | 2010-12-31 | 2011-07-13 | 成都市华为赛门铁克科技有限公司 | 分布式文件系统及其数据存储处理方法和装置 |
CN103051673A (zh) * | 2012-11-21 | 2013-04-17 | 浪潮集团有限公司 | 一种基于Xen和Hadoop的云存储平台的构建方法 |
-
2013
- 2013-06-01 CN CN2013102323544A patent/CN103473258A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0850537A (ja) * | 1994-05-11 | 1996-02-20 | Internatl Business Mach Corp <Ibm> | データ記憶システム及び関連する方法 |
US5649152A (en) * | 1994-10-13 | 1997-07-15 | Vinca Corporation | Method and system for providing a static snapshot of data stored on a mass storage system |
CN102123167A (zh) * | 2010-12-31 | 2011-07-13 | 成都市华为赛门铁克科技有限公司 | 分布式文件系统及其数据存储处理方法和装置 |
CN103051673A (zh) * | 2012-11-21 | 2013-04-17 | 浪潮集团有限公司 | 一种基于Xen和Hadoop的云存储平台的构建方法 |
Non-Patent Citations (2)
Title |
---|
MENDEL ROSENBLUM ET AL.: ""The Design and Implementation of a Log-Structured File System"", 《ACM TRANSACTIONS ON COMPUTER SYSTEMS(TOXS)》 * |
康华: ""HlfsFAQ"", 《HTTPS://CODE.GOOGLE.COM/P/CLOUDXY/WIKI/HLFSFAQ》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111878A (zh) * | 2014-02-20 | 2014-10-22 | 西安未来国际信息股份有限公司 | 基于虚拟机快照的hadoop集群自动化恢复技术 |
WO2016095329A1 (zh) * | 2014-12-18 | 2016-06-23 | 中兴通讯股份有限公司 | 一种日志记录系统及日志记录操作方法 |
CN105260271A (zh) * | 2015-11-18 | 2016-01-20 | 浪潮(北京)电子信息产业有限公司 | 一种hdfs快照的实现方法及系统 |
CN105338118A (zh) * | 2015-11-30 | 2016-02-17 | 上海斐讯数据通信技术有限公司 | 分布式存储系统 |
CN105574104A (zh) * | 2015-12-11 | 2016-05-11 | 上海爱数信息技术股份有限公司 | 一种基于ObjectStore的LogStructure存储系统及其数据写入方法 |
CN105574104B (zh) * | 2015-12-11 | 2019-04-05 | 上海爱数信息技术股份有限公司 | 一种基于ObjectStore的LogStructure存储系统及其数据写入方法 |
CN108255638A (zh) * | 2017-06-29 | 2018-07-06 | 新华三技术有限公司 | 一种快照回滚方法及装置 |
CN109254874A (zh) * | 2018-08-29 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种块存储数据快照类型的转化方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10178174B2 (en) | Migrating data in response to changes in hardware or workloads at a data store | |
US10031675B1 (en) | Method and system for tiering data | |
CN101777016B (zh) | 一种连续数据保护系统的快照存储和数据恢复方法 | |
CN103473258A (zh) | 云存储文件系统 | |
CN102662992B (zh) | 一种海量小文件的存储、访问方法及装置 | |
CN101777017B (zh) | 一种连续数据保护系统的快速恢复方法 | |
US9715348B2 (en) | Systems, methods and devices for block sharing across volumes in data storage systems | |
US9996557B2 (en) | Database storage system based on optical disk and method using the system | |
CN107798130A (zh) | 一种分布式存储的快照方法 | |
CN102915278A (zh) | 重复数据删除方法 | |
CN105183839A (zh) | 一种基于Hadoop的小文件分级索引的存储优化方法 | |
CN103544045A (zh) | 一种基于hdfs的虚拟机镜像存储系统及其构建方法 | |
US9952797B2 (en) | Systems, methods and devices for addressing data blocks in mass storage filing systems | |
CN103455577A (zh) | 云主机镜像文件的多备份就近存储和读取方法及系统 | |
CN101582076A (zh) | 一种基于数据库的重复数据删除方法 | |
CN102779180A (zh) | 数据存储系统的操作处理方法,数据存储系统 | |
CN103034684A (zh) | 一种基于内容寻址存储的虚拟机镜像存储优化方法 | |
WO2014159390A1 (en) | Data storage volume having tiers of different storage traits | |
CN103501319A (zh) | 一种低延迟的面向小文件的分布式存储系统 | |
US11544007B2 (en) | Forwarding operations to bypass persistent memory | |
CN107885616A (zh) | 一种基于文件系统解析的海量小文件备份恢复方法 | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
CN103049224A (zh) | 将数据导入物理磁带的方法、装置和系统 | |
CN107798063A (zh) | 快照处理方法和快照处理装置 | |
CN103023996A (zh) | 一种云数据存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20131225 |