CN106709056A - 一种nfs挂载目录导出方法及装置 - Google Patents
一种nfs挂载目录导出方法及装置 Download PDFInfo
- Publication number
- CN106709056A CN106709056A CN201710012890.1A CN201710012890A CN106709056A CN 106709056 A CN106709056 A CN 106709056A CN 201710012890 A CN201710012890 A CN 201710012890A CN 106709056 A CN106709056 A CN 106709056A
- Authority
- CN
- China
- Prior art keywords
- nfs
- fuse
- lib
- catalogue
- derived
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000007246 mechanism Effects 0.000 abstract description 6
- 238000012546 transfer Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 abstract description 3
- 238000009795 derivation Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种nfs挂载目录导出方法,包括:接收后端节点导出的分布式文件系统集群根目录;将集群根目录挂载至本节点的第一目录;利用hello程序将第一目录导出至lib‑fuse库,生成第二目录;通过本节点的nfs server,将第二目录导出;可见,在本方案中,通过使用fuse用户态文件系统机制作中转,可将网关节点的nfs目录通过nfs server二次导出,客户端便可通过nfs协议挂载第二目录至本机,从而可以正常使用分布式文件系统,实现了节点的解耦合统一管理、多种分布式文件系统的共用,以及分布式文件系统的平稳升级;本发明还公开了一种nfs挂载目录导出装置,同样能实现上述技术效果。
Description
技术领域
本发明涉及分布式文件系统领域,更具体地说,涉及一种nfs挂载目录导出方法及装置。
背景技术
云计算时代来临,分布式文件系统是目前各大云计算厂商研发的重点之一。在与客户沟通中发现,通常客户已经有在生产环境使用的分布式系统,为了保证产品的稳定,在产品升级换代的周期内,他们希望同时运行两种以上的文件系统,以保证线上环境的稳定性和无缝切换。经分析,需要在Linux系统上把后端的不同文件系统通过标准nfs协议导出,在一台节点挂载后端多个文件系统,然后在该节点启动nfs server,导出本机的nfs挂载目录。通常,我们称该节点为网关节点。这样,用户可以在任意节点挂载使用文件系统了。但是,因为nfs挂载目录不是一个完备的文件系统,没有超级块等信息,所以目前的nfsserver不支持将nfs挂载目录导出。
因此,如何解决网关节点nfs目录的二次导出,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种nfs挂载目录导出方法及装置,以实现网关节点nfs目录的二次导出。
为实现上述目的,本发明实施例提供了如下技术方案:
一种nfs挂载目录导出方法,包括:
接收后端节点导出的分布式文件系统集群根目录;
将所述集群根目录挂载至本节点的第一目录;
利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录;
通过本节点的nfs server,将所述第二目录导出。
其中,所述接收后端节点导出的分布式文件系统集群根目录,包括:
接收后端节点通过启动nfs server,导出的分布式文件系统的集群根目录导出。
其中,所述将所述集群根目录挂载至本节点的第一目录,包括:
将所述集群根目录挂载至本节点的/mnt/nfs目录。
其中,若所述lib-fuse库位于用户态,则所述利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录,包括:
启动hello程序,通过所述hello程序调用lib-fuse库;
调用POSIX接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
其中,若所述lib-fuse库位于内核态,则所述利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录,包括:
启动hello程序,通过所述hello程序调用lib-fuse库;
调用VFS层的接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
一种nfs挂载目录导出装置,包括:
接收模块,用于接收后端节点导出的分布式文件系统集群根目录;
挂载模块,用于将所述集群根目录挂载至本节点的第一目录;
第一导出模块,用于利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录;
第二导出模块,用于通过本节点的nfs server,将所述第二目录导出。
其中,所述接收模块具体用于,接收后端节点通过启动nfs server,导出的分布式文件系统的集群根目录导出。
其中,所述挂载模块将所述集群根目录挂载至本节点的/mnt/nfs目录。
其中,所述第一导出模块,包括:
第一调用单元,用于通过hello程序调用lib-fuse库,并调用POSIX接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
其中,所述第一导出模块,包括:
第二调用单元,用于通过hello程序调用lib-fuse库,并调用VFS层的接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
通过以上方案可知,本发明实施例提供的一种nfs挂载目录导出方法,包括:接收后端节点导出的分布式文件系统集群根目录;将所述集群根目录挂载至本节点的第一目录;利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录;通过本节点的nfsserver,将所述第二目录导出;
可见,在本方案中,通过使用fuse用户态文件系统机制作中转,可将网关节点的nfs目录通过nfs server二次导出,客户端便可通过nfs协议挂载第二目录至本机,从而可以正常使用分布式文件系统,实现了节点的解耦合统一管理、多种分布式文件系统的共用,以及分布式文件系统的平稳升级;本发明还公开了一种nfs挂载目录导出装置,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种nfs挂载目录导出方法流程示意图;
图2为本发明实施例公开的一种nfs挂载目录导出装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种nfs挂载目录导出方法及装置,以实现网关节点nfs目录的二次导出。
参见图1,本发明实施例提供的一种nfs挂载目录导出方法,包括:
S101、接收后端节点导出的分布式文件系统集群根目录;
其中,所述接收后端节点导出的分布式文件系统集群根目录,包括:
接收后端节点通过启动nfs server,导出的分布式文件系统的集群根目录导出。
具体的,在本方案中,需要一部署分布式文件系统的节点作为文件存储的后端节点,通过在该节点上启动nfs server,导出集群根目录,并发送至网关节点,也就是网关节点接收后端节点导出的分布式文件系统集群根节点。
S102、将所述集群根目录挂载至本节点的第一目录;
其中,所述将所述集群根目录挂载至本节点的第一目录,包括:将所述集群根目录挂载至本节点的/mnt/nfs目录。
S103、利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录;
S104、通过本节点的nfs server,将所述第二目录导出。
具体的,在本实施例中,网关节点通过nfs协议挂载后端节点发送的分布式文件系统的根目录到本机的/mnt/nfs目录。同时,启动程序hello,该程序调用lib-fuse库,并调用标准Linux POSIX接口读取/mnt/nfs目录,然后导出到/tmp/fuse。最后,在该节点启动nfsserver,便可将/tmp/fuse目录通过nfs协议导出。客户端节点通过nfs协议挂载/tmp/fuse目录到本机的任意目录,便可正常使用分布式文件系统了。
其中,若所述lib-fuse库位于用户态,则所述利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录,包括:
启动hello程序,通过所述hello程序调用lib-fuse库;调用POSIX接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
相应的,若所述lib-fuse库位于内核态,调用VFS层的接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
具体的,在本方案中,采用fuse机制时,需要把数据从内核态和用户态来回拷贝,这样导致采用本方案进行读写性能很低。因此,可将fsue机制集成到nfs server中,并且,若lib-fuse库位于内核态,则将POSIX接口换为VFS层的接口,可提升性能。可见,在本方案中提供的一种基于nfs协议和fuse实现文件服务器的方案,通过使用fuse用户态文件系统机制作中转,这样中转后就成了完备的文件系统,就可以通过nfs server导出了。
下面对本发明实施例提供的nfs挂载目录导出装置进行介绍,下文描述的nfs挂载目录导出装置与上文描述的nfs挂载目录导出方法可以相互参照。
参见图2,本发明实施例提供的一种nfs挂载目录导出装置,包括:
接收模块100,用于接收后端节点导出的分布式文件系统集群根目录;
挂载模块200,用于将所述集群根目录挂载至本节点的第一目录;
第一导出模块300,用于利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录;
第二导出模块400,用于通过本节点的nfs server,将所述第二目录导出。
基于上述实施例,所述接收模块具体用于,接收后端节点通过启动nfs server,导出的分布式文件系统的集群根目录导出。
其中,所述挂载模块将所述集群根目录挂载至本节点的/mnt/nfs目录。
基于上述实施例,所述第一导出模块,包括:
第一调用单元,用于通过hello程序调用lib-fuse库,并调用POSIX接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
基于上述实施例,所述第一导出模块,包括:
第二调用单元,用于通过hello程序调用lib-fuse库,并调用VFS层的接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
本发明实施例提供的一种nfs挂载目录导出方法,包括:接收后端节点导出的分布式文件系统集群根目录;将所述集群根目录挂载至本节点的第一目录;利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录;通过本节点的nfs server,将所述第二目录导出;
可见,在本方案中,通过使用fuse用户态文件系统机制作中转,可将网关节点的nfs目录通过nfs server二次导出,客户端便可通过nfs协议挂载第二目录至本机,从而可以正常使用分布式文件系统,实现了节点的解耦合统一管理、多种分布式文件系统的共用,以及分布式文件系统的平稳升级;本发明还公开了一种nfs挂载目录导出装置,同样能实现上述技术效果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易 见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种nfs挂载目录导出方法,其特征在于,包括:
接收后端节点导出的分布式文件系统集群根目录;
将所述集群根目录挂载至本节点的第一目录;
利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录;
通过本节点的nfs server,将所述第二目录导出。
2.根据权利要求1所述的nfs挂载目录导出方法,其特征在于,所述接收后端节点导出的分布式文件系统集群根目录,包括:
接收后端节点通过启动nfs server,导出的分布式文件系统的集群根目录导出。
3.根据权利要求2所述的nfs挂载目录导出方法,其特征在于,所述将所述集群根目录挂载至本节点的第一目录,包括:
将所述集群根目录挂载至本节点的/mnt/nfs目录。
4.根据权利要求1-3中任意一项所述的nfs挂载目录导出方法,其特征在于,若所述lib-fuse库位于用户态,则所述利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录,包括:
启动hello程序,通过所述hello程序调用lib-fuse库;
调用POSIX接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
5.根据权利要求1-3中任意一项所述的nfs挂载目录导出方法,其特征在于,若所述lib-fuse库位于内核态,则所述利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录,包括:
启动hello程序,通过所述hello程序调用lib-fuse库;
调用VFS层的接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
6.一种nfs挂载目录导出装置,其特征在于,包括:
接收模块,用于接收后端节点导出的分布式文件系统集群根目录;
挂载模块,用于将所述集群根目录挂载至本节点的第一目录;
第一导出模块,用于利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录;
第二导出模块,用于通过本节点的nfs server,将所述第二目录导出。
7.根据权利要求6所述的nfs挂载目录导出装置,其特征在于,所述接收模块具体用于,接收后端节点通过启动nfs server,导出的分布式文件系统的集群根目录导出。
8.根据权利要求7所述的nfs挂载目录导出装置,其特征在于,
所述挂载模块将所述集群根目录挂载至本节点的/mnt/nfs目录。
9.根据权利要求6-8中任意一项所述的nfs挂载目录导出装置,其特征在于,所述第一导出模块,包括:
第一调用单元,用于通过hello程序调用lib-fuse库,并调用POSIX接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
10.根据权利要求6-8中任意一项所述的nfs挂载目录导出装置,其特征在于,所述第一导出模块,包括:
第二调用单元,用于通过hello程序调用lib-fuse库,并调用VFS层的接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710012890.1A CN106709056B (zh) | 2017-01-09 | 2017-01-09 | 一种nfs挂载目录导出方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710012890.1A CN106709056B (zh) | 2017-01-09 | 2017-01-09 | 一种nfs挂载目录导出方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106709056A true CN106709056A (zh) | 2017-05-24 |
CN106709056B CN106709056B (zh) | 2020-11-20 |
Family
ID=58908102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710012890.1A Active CN106709056B (zh) | 2017-01-09 | 2017-01-09 | 一种nfs挂载目录导出方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106709056B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491551A (zh) * | 2017-08-30 | 2017-12-19 | 郑州云海信息技术有限公司 | 一种分布式文件系统实现客户端访问的方法及装置 |
CN108920215A (zh) * | 2018-07-18 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种通过initramfs收集系统日志的方法 |
CN110944026A (zh) * | 2018-09-21 | 2020-03-31 | 北京国双科技有限公司 | 网络文件系统替换方法、集群配置文件共享方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120066271A1 (en) * | 2009-09-15 | 2012-03-15 | Sivasankaran Chandrasekar | Operationally Complete Hierarchical Repository In A Relational Database |
CN103218227A (zh) * | 2013-04-10 | 2013-07-24 | 广东欧珀移动通信有限公司 | 一种安卓设备内置硬盘上兼容多种文件系统的方法及装置 |
CN103944958A (zh) * | 2014-03-14 | 2014-07-23 | 中国科学院计算技术研究所 | 一种广域文件系统及实现方法 |
CN104301442A (zh) * | 2014-11-17 | 2015-01-21 | 浪潮电子信息产业股份有限公司 | 一种基于fuse的访问对象存储集群的客户端的实现方法 |
CN104639658A (zh) * | 2015-03-12 | 2015-05-20 | 浪潮集团有限公司 | 一种以文件系统挂载访问对象存储的实现方法 |
CN105468476A (zh) * | 2015-11-18 | 2016-04-06 | 盛趣信息技术(上海)有限公司 | 基于hdfs的数据灾备系统 |
-
2017
- 2017-01-09 CN CN201710012890.1A patent/CN106709056B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120066271A1 (en) * | 2009-09-15 | 2012-03-15 | Sivasankaran Chandrasekar | Operationally Complete Hierarchical Repository In A Relational Database |
CN103218227A (zh) * | 2013-04-10 | 2013-07-24 | 广东欧珀移动通信有限公司 | 一种安卓设备内置硬盘上兼容多种文件系统的方法及装置 |
CN103944958A (zh) * | 2014-03-14 | 2014-07-23 | 中国科学院计算技术研究所 | 一种广域文件系统及实现方法 |
CN104301442A (zh) * | 2014-11-17 | 2015-01-21 | 浪潮电子信息产业股份有限公司 | 一种基于fuse的访问对象存储集群的客户端的实现方法 |
CN104639658A (zh) * | 2015-03-12 | 2015-05-20 | 浪潮集团有限公司 | 一种以文件系统挂载访问对象存储的实现方法 |
CN105468476A (zh) * | 2015-11-18 | 2016-04-06 | 盛趣信息技术(上海)有限公司 | 基于hdfs的数据灾备系统 |
Non-Patent Citations (2)
Title |
---|
HGTZ2222: "FUSE使用心得", 《HTTPS://WWW.CNBLOGS.COM/HGTZ2222/ARCHIVE/2012/05/03/2481279.HTML》 * |
王彩虹: "《数字电视网络制播技术》", 31 October 2016 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491551A (zh) * | 2017-08-30 | 2017-12-19 | 郑州云海信息技术有限公司 | 一种分布式文件系统实现客户端访问的方法及装置 |
CN108920215A (zh) * | 2018-07-18 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种通过initramfs收集系统日志的方法 |
CN110944026A (zh) * | 2018-09-21 | 2020-03-31 | 北京国双科技有限公司 | 网络文件系统替换方法、集群配置文件共享方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106709056B (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704144B2 (en) | Creating virtual machine groups based on request | |
US10467241B2 (en) | Dynamically provisioning instances of a single-tenant application for multi-tenant use | |
TWI549080B (zh) | The method, system and device for sending information of category information | |
CN111124277B (zh) | 一种深度学习数据集缓存方法、系统、终端及存储介质 | |
US9077613B2 (en) | System and method for graph based K-redundant resiliency for IT cloud | |
CN102882985A (zh) | 基于云存储的文件共享方法 | |
BRPI0806606A2 (pt) | estrutura de sincronização para aplicativos ocasionalmente conectados | |
CN105205143B (zh) | 一种文件存储及处理方法、设备和系统 | |
CN103209223A (zh) | 分布式应用会话信息共享方法、系统和应用服务器 | |
CN103116655B (zh) | 集群数据查询方法、客户端及系统 | |
CN106953910A (zh) | 一种Hadoop计算存储分离方法 | |
CN106817388B (zh) | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 | |
JP2017525040A (ja) | コンテンツ管理システムを用いた非管理コンテンツの共有 | |
CN102983996A (zh) | 一种高可用集群资源管理的动态配置方法与系统 | |
CN110928912A (zh) | 一种生成唯一标识的方法和装置 | |
CN106709056A (zh) | 一种nfs挂载目录导出方法及装置 | |
WO2015035774A1 (zh) | 一种基于用户空间文件系统的移动终端定制化方法及系统 | |
CN105516284A (zh) | 一种集群数据库分布式存储的方法和装置 | |
CN102664922A (zh) | 一种基于Linux系统的高速网络启动方法 | |
CN105573672B (zh) | 一种基于nfs的虚拟化存储方法和系统 | |
CN109324908A (zh) | Netlink资源的容器隔离方法及装置 | |
CN110019539A (zh) | 一种数据仓库的数据同步的方法和装置 | |
CN109525590A (zh) | 数据包的传输方法及装置 | |
CN102664952A (zh) | 一种对嵌入式设备集群管理及监控的方法 | |
CN110798358B (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201103 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: 450018 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |