CN105138275B - 一种Lustre存储系统数据共享方法 - Google Patents
一种Lustre存储系统数据共享方法 Download PDFInfo
- Publication number
- CN105138275B CN105138275B CN201510390951.9A CN201510390951A CN105138275B CN 105138275 B CN105138275 B CN 105138275B CN 201510390951 A CN201510390951 A CN 201510390951A CN 105138275 B CN105138275 B CN 105138275B
- Authority
- CN
- China
- Prior art keywords
- dcache
- systems
- lustre
- file
- metadata
- 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.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种Lustre存储系统数据共享方法。本方法为:1)在lustre系统所在的服务器上增加一dCache系统,然后根据dCache系统与lustre系统的区别,扩展该dcache系统的元数据库;2)服务器读取该Lustre系统的元数据,并将其转换为dCache可识别的元数据结构,然后存入dCache系统的元数据库对应扩展字段中;3)当dCache系统接收到广域网上的用户数据传输请求后,根据该请求从dCache系统的元数据库中查询匹配的元数据,然后从lustre系统读取数据并缓存到dCache系统,返回查询结果给该用户。本发明提高了数据的安全性和可靠性,实现其它本地存储系统的远程共享。
Description
技术领域
本发明属于计算系统网络传输领域,具体涉及一种Lustre存储系统数据共享方法,可用于高能物理试验大批量数据的传输系统及传输方法。
背景技术
Lustre是由Peter Braam博士于1999年发起的开源项目,其目的是设计一个面向下一代的高性能、高扩展、高可用的基于对象存储的集群文件系统。Lustre同样采用了元数据和存储数据相分离的技术,可以充分分离计算和存储资源,使得客户端计算机可以专注于用户和应用程序的请求;存储服务器和元数据服务器专注于读、传输和写数据。Lustre使用了Sandia开放的Portals网络传输协议,支持多种网络,如GigE,QSW Elan,Myrinet,InfiniBand,TCP/IP等。它实现了分布式锁管理器,为文件访问提供细粒度的并发控制。基于分布式锁管理器,它还实现了客户端数据写回缓冲。Lustre通过failover机制以及自身的恢复协议,采用双服务器共享存储设备方式的容错机制来消除单点失效,并进行透明恢复,提高了系统的可用性。在Lustre文件系统中,客户端和服务器通过Lustre提供mount命令即可加入存储集群,可以方便的对Lustre集群进行快速配置部署,同时新增的存储容量可以自动合并到存储系统中,还提供数据存储服务器的对象分配的自动均衡技术和静态的数据迁移功能,具有很好的扩展性和易管理性。
dCache是由DESY IT(德国电子同步加速器计算中心)和FERMI(美国费米实验室)共同开发的一个分布式的存储系统。主要用于高能物理海量数据的传输和存储。dCache提供广域网访问的协议,支持Gridftp、http、xrootd、srm等数据传输协议。
高能物理实验的海量数据都存储在本地的数据中心,这些数据存储在Lustre并行文件系统上。随着高能物理实验设备的升级,加速器能量和亮度的增加,所产生的数据成爆炸式增长,本地的计算中心已经无法满足数据处理的需求,分布式计算已经广泛应用于高能物理实验数据的处理。但是Lustre存储系统只适合局域网内访问,由于lustre的文件传输协议对网络的稳定性和性能要求很高所以在广域网直接使用lustre不现实。原始的使用方法是把存储在Lustre上的数据人工手动传输到dCache系统然后共享给异地用户使用,这种方式需要额外的存储资源,和大量人力资源。因此研究一种可以使Lustre直接提供广域网访问的方法实现数据的异地传输来满足高能物理实验数据的分布式计算和处理。
发明内容
针对现有技术中Lustre存储系统无法提供广域网访问的问题,本发明提供了一种Lustre和dCache之间的访问接口,dCache系统可以实现广域网的数据传输,通过dCache实现Lustre数据的远程异地共享,从而使得广域网的用户可以通过dCache系统访问本地Lustre的文件系统,本地Lustre系统上存储的海量数据可以通过本发明共享到dCache系统,提供给广域网用户使用。
此方案的原理是通过扩展Lustre和dCache存储系统的底层元数据结构,建立两种元数据的对应关系,通过这种对应关系把Lustre元数据转换为dCache可以识别的元数据结构,并存入dCache的元数据数据库,使得dCache系统可以识别存储在Lustre上的数据,并对数据进行读写操作。
本发明的技术方案为:
一种Lustre存储系统数据共享方法,其步骤为:
1)在lustre系统所在的服务器上增加一dCache系统,然后根据dCache系统与lustre系统的区别,扩展该dcache系统的元数据库;
2)服务器读取该Lustre系统的元数据,并将其转换为dCache可识别的元数据结构,然后存入dCache系统的元数据库对应的扩展字段中;
3)当dCache系统接收到广域网上的用户数据传输请求后,根据该数据传输请求从dCache系统的元数据库中查询匹配的元数据信息,然后根据匹配的元数据信息从lustre系统读取数据并缓存到dCache系统,返回查询结果给该用户。
进一步的,扩展该dcache系统的元数据库的方法为:对该dcache系统的元数据库中每个文件的条目添加属性用来存储lustre系统中文件的目录信息和校验信息。
进一步的,对该dcache系统的元数据库中每个文件的条目添加一文件标示记号用于识别文件的缓存状态。
进一步的,当dCache系统接收到广域网上的用户数据传输请求后,首先读取dcache元数据的文件标识信息,判断请求的文件的缓存状态,如果没有缓存则从lustre系统读取该文件并缓存到dcache系统中。
进一步的,所述将其转换为dCache可识别的元数据结构的方法为:首先根据存储在lustre系统上的元数据信息读取lustre系统上的文件信息,生成一文件信息列表;然后把文件信息列表中的信息逐条转换成dcache数据的元数据信息。
进一步的,所述把文件信息列表中的信息逐条转换成dcache数据的元数据信息的方法为:首先在dcache系统中创建一个目录对应lustre系统的根目录;然后根据文件信息列表在该目录下为每一文件创建一文件唯一识别号pnfsid并在dcache系统元数据库中对应生成一pnfsid记录;然后根据文件信息列表为dcache系统元数据库中每一pnfsid记录相应的字段赋值,存入dcache系统的元数据库中。
进一步的,所述根据该数据传输请求从dCache系统的元数据库中查询匹配的元数据信息,然后根据匹配的元数据信息从lustre系统读取数据并缓存到dCache系统的方法为:首先根据该数据传输请求从dCache系统的元数据库中获取到所请求lustre文件的原始地址和该lustre文件的pnfsid记录,然后从lustre系统将该文件拷贝到dCache系统的缓存池中,并将文件名修改为该lustre文件的pnfsid。
进一步的,所述pnfsid记录的字段包括:权限信息、用户属性、组属性、改动时间、访问时间、修改时间、校验码、lustre目录信息、文件标识。
进一步的,所述文件信息列表包括:lustre目录信息、文件的改动时间、访问时间、修改时间、文件大小和文件属性。
与现有技术相比,本发明具有以下优点:
1、本发明不需要将真实的数据再存入dCache系统,即只对元数据进行操作,不用读写真实数据,用户通过dCache的协议直接访问存储在Lustre上的数据,提高了数据的安全性和可靠性。
2、本发明省去了内部数据的传输,可以显著的节省时间,网络带宽和电力消耗。
3、本发明对原系统的改动小,对建立在原系统的应用不会造成任何影响。
4、本发明可拓展性强,只需要对现有的系统的前端模块进行修改就可以实现其它本地存储系统的远程共享。
附图说明
图1为lustre元数据和dcache元数据差别展示图。
图2为元数据转换存储方法流程图。
图3为数据的访问方法流程图。
具体实施方式
本发明所述的具体实施方案如下:
步骤1,根据dCache和lustre两种文件系统区别,扩展dcache的元数据库。
如图1所示本发明的关键在于找到两种存储系统的元数据的不同之处,并设计好扩展的元数据使之相互兼容,这样可以通过dcache直接访问lustre数据。
dCache和lustre两种文件系统都有存储文件创建时间、修改时间、访问时间、文件大小、文件属性等元数据信息。不同之处是dCache的元数据存储于数据库中,数据库中每条文件记录都有一个pnfsid(文件唯一识别号)与之相对应,而且每个pnfsid都有父文件pnfsid,通过这种形式来定义文件目录结构。Lustre的元数据属于posix文件形式,通过文件inode来确定文件目录结构。本发明扩展了dcache的元数据库,对该元数据库中每个文件的条目添加属性用来存储lustre文件的目录信息和校验信息,并添加文件标示记号用于识别文件的缓存状态;扩展后的dcache系统把lustre的元数据信息注册到dcache的系统中,dcache系统的元数据展示的是lustre的元数据。
步骤2,读取Lustre元数据,并将其转换为dCache可以识别的元数据结构,并存入dCache的元数据数据库对应的扩展字段中。
图2所示是数据共享方法的核心模块,dcache-lustre之间数据共享通过同步元数据的形式实现。
首先需要读取存储在lustre系统上的元数据信息。生成文件信息列表,包括lustre目录信息、以及文件的改动时间ctime、访问时间atime、修改时间mtime、文件大小size、文件属性(owner、mask),文件路径信息。
然后把lustre元数据中每一个文件的元数据的信息,逐条转换成dcache数据的元数据信息:
首先在dcache系统中创建一个目录对应lustre文件系统的根目录,凡是在这个目录下进行的读写操作都对应到lustre文件系统。dcache可以对不同的目录设置不同的标识,在这个目录下添加标识,dcache会识别这个标识来调用用户指定的程序文件。本发明开发了dcache-lustre接口程序,这个目录下的文件的访问都需要调用dcache-lustre接口程序。
其次根据文件信息列表在所创建目录下按照元数据的目录结构为每一文件创建一个pnfsid。
根据文件信息列表修改dcache数据库给这条pnfsid记录相应的字段赋值,包括文件信息列表中的数据:改动时间ctime、访问时间atime、修改时间mtime、文件大小size、文件属性(owner、mask),文件路径,以及校验码、文件标识信息。文件路径,校验码、文件标识三个字段是扩转元数据字段。文件路径是lustre文件的路径信息,校验码通过第三方程序生成,文件标识信息表示表示文件的缓存状态,初始值是没有缓存。
把结果存入dcache系统的元数据库,完成元数据的转换。
步骤3,根据用户数据传输请求,从dCache文件系统的元数据库查询匹配的元数据信息,据此读取lustre文件系统的数据缓存到dCache文件系统。
当接收到用户传输lustre文件请求时,读取dcache元数据的文件标识信息,判断文件的缓存状态,如果没有缓存则需要把文件缓存到dcache的缓存池中。
这时需要调用本发明设计的dCache-Lustre接口程序,读取dCache元数据,获取到lustre文件的原始地址和文件的pnfsid,把lustre的数据拷贝到dCache的缓存池中,文件名修改为这个文件的pnfsid,然后通过dCache的协议提供用户访问数据。接口程序的工作如图3所示。
实施例:
Lustre的文件:/lustre/director/file
dCache目录:/dcache(这个是虚拟目录,是dcache系统通过nfs协议生成的可以直观查看和访问数据的目录结构信息)
dCache缓存目录:/storage/pool(dCache存放真实文件的磁盘目录)
1、在dcache系统创建lustre目录:mkdir/dcache/lustre。
2、在/dcache/lustre目录下设置目录的tag(目录标识)信息,tag信息指定dcache的缓存池。缓存池指定调用外部存储的程序(dcache-lustre接口程序)。
3、在/dcache/lustre目录下创建目路:mkdir/dcache/lustre/director。
4、读取lustre文件信息。通过linux命令stat读取文件信息包括该文件的改动时间ctime、访问时间atime、修改时间mtime、文件大小size、文件属性(owner、mask)。
5、创建文件。执行命令:touch/dcache/lustre/director/file。这条命令会在dcache系统里添加一条文件记录,在dcache元数据内部生成这个文件对应的pnfsid,并且根据dcache目录自动生成dcache内部的目录结构信息保存在dcache元数据库。
6、获取文件pnfsid。执行命令cat“.(id)(file)”,这条命令返回这个文件的pnfsid值。
7、给文件添加尺寸属性。执行命令:
touch/dcache/lustre/″.(fset)(file)(size)(${size})″。这条命令修改文件:/dcache/lustre/director/file的size属性。
8、写入文件信息和扩展元数据信息:通过数据库连接程序修改这条pnfsid对应的字段数值。
a)连接dcache元数据库。
b)通过pnfsid查找到这条记录,修改这条数据库记录的文件信息。包括文件的改动时间、访问时间、修改时间,文件属性。
c)在dcache元数据库中添加数据表t_extrainfo。根据文件的pnfsid存储文件的扩展元数据信息,扩展元数据包括原lusre文件路径,校验码、文件标识。
9、通过dCache访问lustre文件。
a)用户访问文件/dcache/lustre/directory/file。
b)dCache系统判断文件目录(/dcache/lustre/directory/)的tag信息,得到此目录下文件需要通过dcache-lustre接口程序来访问。调用dcache-lustre接口程序。
c)接口程序根据pnfsid信息查找到文件的扩展信息判断该文件的状态。
i.如果显示缓存状态为空,根据扩展信息中的文件路径信息从lustre文件系统把文件拷贝到/storage/pool/data/,文件名称修改为pnfsid的值,并根据校验信息验证文件拷贝是否正常。
ii.如果显示缓存正常直接到下一步。
d)接口程序执行完成,dcache使用内部的协议从缓存中把该文件传输给用户。
Claims (6)
1.一种Lustre存储系统数据共享方法,其步骤为:
1)在Lustre系统所在的服务器上增加一dCache系统,然后根据dCache系统与Lustre系统的区别,扩展该dCache系统的元数据库;
2)服务器读取该Lustre系统的元数据,根据存储在Lustre系统上的元数据信息读取Lustre系统上的文件信息,生成一文件信息列表;然后把文件信息列表中的信息逐条转换成dCache数据的元数据信息,然后存入dCache系统的元数据库对应的扩展字段中;其中,所述把文件信息列表中的信息逐条转换成dCache数据的元数据信息的方法为:首先在dCache系统中创建一个目录对应Lustre系统的根目录;然后根据文件信息列表在该根目录下为每一文件创建一文件唯一识别号pnfsid并在dCache系统元数据库中对应生成一pnfsid记录;然后根据文件信息列表为dCache系统元数据库中每一pnfsid记录相应的字段赋值,存入dCache系统的元数据库中;
3)当dCache系统接收到广域网上的用户数据传输请求后,根据该数据传输请求从dCache系统的元数据库中获取到所请求Lustre文件的原始地址和该Lustre文件的pnfsid记录,然后从Lustre系统将该Lustre文件拷贝到dCache系统的缓存池中,并将文件名修改为该Lustre文件的pnfsid;然后返回查询结果给该用户。
2.如权利要求1所述的方法,其特征在于,扩展该dCache系统的元数据库的方法为:对该dCache系统的元数据库中每个文件的条目添加属性用来存储Lustre系统中文件的目录信息和校验信息。
3.如权利要求2所述的方法,其特征在于,对该dCache系统的元数据库中每个文件的条目添加一文件标示记号用于识别文件的缓存状态。
4.如权利要求3所述的方法,其特征在于,当dCache系统接收到广域网上的用户数据传输请求后,首先读取dCache元数据的文件标识信息,判断请求的文件的缓存状态,如果没有缓存则从Lustre系统读取该文件并缓存到dCache系统中。
5.如权利要求1所述的方法,其特征在于,所述pnfsid记录的字段包括:权限信息、用户属性、组属性、改动时间、访问时间、修改时间、校验码、Lustre目录信息、文件标识。
6.如权利要求1所述的方法,其特征在于,所述文件信息列表包括:Lustre目录信息、文件的改动时间、访问时间、修改时间、文件大小和文件属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510390951.9A CN105138275B (zh) | 2015-07-06 | 2015-07-06 | 一种Lustre存储系统数据共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510390951.9A CN105138275B (zh) | 2015-07-06 | 2015-07-06 | 一种Lustre存储系统数据共享方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105138275A CN105138275A (zh) | 2015-12-09 |
CN105138275B true CN105138275B (zh) | 2018-03-20 |
Family
ID=54723636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510390951.9A Expired - Fee Related CN105138275B (zh) | 2015-07-06 | 2015-07-06 | 一种Lustre存储系统数据共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105138275B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599096B (zh) * | 2016-11-24 | 2020-09-15 | 上海交通大学 | 基于非易失性内存的高性能文件系统设计方法 |
CN107844592A (zh) * | 2017-11-17 | 2018-03-27 | 北京盛和大地数据科技有限公司 | 一种查询元数据的方法和装置 |
CN110569470B (zh) * | 2019-09-09 | 2022-03-11 | 北京字节跳动网络技术有限公司 | 用户匹配方法、装置、可读介质和电子设备 |
CN111243145B (zh) * | 2020-03-15 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 一种处理访客信息的方法、装置、介质及电子设备 |
CN112860752B (zh) * | 2021-04-23 | 2021-08-20 | 支付宝(杭州)信息技术有限公司 | 针对多方安全数据库的数据查询方法、装置及系统 |
CN114201545B (zh) * | 2022-02-16 | 2022-04-22 | 希维科技(广州)有限公司 | 数据处理方法、装置、终端设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458044A (zh) * | 2013-09-12 | 2013-12-18 | 北京航空航天大学 | 一种面向广域网环境下多存储集群的元数据共享管理方法 |
CN103853843A (zh) * | 2014-03-20 | 2014-06-11 | 浪潮集团山东通用软件有限公司 | 一种基于主数据映射实现跨安全域数据集中的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392263B2 (en) * | 2005-02-28 | 2008-06-24 | Microsoft Corporation | File system represented inside a database |
-
2015
- 2015-07-06 CN CN201510390951.9A patent/CN105138275B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458044A (zh) * | 2013-09-12 | 2013-12-18 | 北京航空航天大学 | 一种面向广域网环境下多存储集群的元数据共享管理方法 |
CN103853843A (zh) * | 2014-03-20 | 2014-06-11 | 浪潮集团山东通用软件有限公司 | 一种基于主数据映射实现跨安全域数据集中的方法 |
Non-Patent Citations (1)
Title |
---|
《可扩展的分布式元数据管理系统设计》;黄秋兰等;《计算机工程》;20150530;第41卷(第5期);第26-32页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105138275A (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105138275B (zh) | 一种Lustre存储系统数据共享方法 | |
US10929419B2 (en) | Object storage backed file system | |
US10013185B2 (en) | Mapping systems and methods of an accelerated application-oriented middleware layer | |
CN103353867B (zh) | 具有网络服务客户接口的分布式存储系统 | |
CN103858109B (zh) | 信息处理系统及使用该信息处理系统的文件恢复方法 | |
US9087066B2 (en) | Virtual disk from network shares and file servers | |
US9015123B1 (en) | Methods and systems for identifying changed data in an expandable storage volume | |
Thanh et al. | A taxonomy and survey on distributed file systems | |
US7934060B1 (en) | Lightweight coherency control protocol for clustered storage system | |
CN104618482B (zh) | 访问云数据的方法、服务器、传统存储设备、系统 | |
CN103812939B (zh) | 一种大数据存储系统 | |
US20170315882A1 (en) | Protected write-back cache transaction replication | |
CN106021381A (zh) | 一种云存储服务系统的数据访问/存储方法及装置 | |
US9367569B1 (en) | Recovery of directory information | |
US8977662B1 (en) | Storing data objects from a flat namespace in a hierarchical directory structured file system | |
CN103020315A (zh) | 一种基于主从分布式文件系统的海量小文件存储方法 | |
US20170091215A1 (en) | Write-back cache transaction replication to object-based storage | |
JP2012098934A (ja) | 文書管理システム、文書管理システムの制御方法、プログラム | |
US20170091262A1 (en) | Object storage backed file system cache | |
US9020994B1 (en) | Client-based migrating of data from content-addressed storage to file-based storage | |
CN109101580A (zh) | 一种基于Redis的热点数据缓存方法和装置 | |
WO2014133494A1 (en) | Multiple collections of user-defined metadata for self-describing objects | |
Salunkhe et al. | In search of a scalable file system state-of-the-art file systems review and map view of new Scalable File system | |
CN110008197A (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
US10387384B1 (en) | Method and system for semantic metadata compression in a two-tier storage system using copy-on-write |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180320 Termination date: 20200706 |
|
CF01 | Termination of patent right due to non-payment of annual fee |