CN106709056B - 一种nfs挂载目录导出方法及装置 - Google Patents

一种nfs挂载目录导出方法及装置 Download PDF

Info

Publication number
CN106709056B
CN106709056B CN201710012890.1A CN201710012890A CN106709056B CN 106709056 B CN106709056 B CN 106709056B CN 201710012890 A CN201710012890 A CN 201710012890A CN 106709056 B CN106709056 B CN 106709056B
Authority
CN
China
Prior art keywords
directory
nfs
exporting
lib
fuse
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
CN201710012890.1A
Other languages
English (en)
Other versions
CN106709056A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201710012890.1A priority Critical patent/CN106709056B/zh
Publication of CN106709056A publication Critical patent/CN106709056A/zh
Application granted granted Critical
Publication of CN106709056B publication Critical patent/CN106709056B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File 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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种nfs挂载目录导出方法,包括:接收后端节点导出的分布式文件系统集群根目录;将集群根目录挂载至本节点的第一目录;利用hello程序将第一目录导出至lib‑fuse库,生成第二目录;通过本节点的nfs server,将第二目录导出;可见,在本方案中,通过使用fuse用户态文件系统机制作中转,可将网关节点的nfs目录通过nfs server二次导出,客户端便可通过nfs协议挂载第二目录至本机,从而可以正常使用分布式文件系统,实现了节点的解耦合统一管理、多种分布式文件系统的共用,以及分布式文件系统的平稳升级;本发明还公开了一种nfs挂载目录导出装置,同样能实现上述技术效果。

Description

一种nfs挂载目录导出方法及装置
技术领域
本发明涉及分布式文件系统领域,更具体地说,涉及一种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 (8)

1.一种nfs挂载目录导出方法,其特征在于,包括:
接收后端节点导出的分布式文件系统集群根目录;
将所述集群根目录挂载至本节点的第一目录;
利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录;
通过本节点的nfs server,将所述第二目录导出;
其中,所述接收后端节点导出的分布式文件系统集群根目录,包括:
接收后端节点通过启动nfs server,导出的分布式文件系统的集群根目录。
2.根据权利要求1所述的nfs挂载目录导出方法,其特征在于,所述将所述集群根目录挂载至本节点的第一目录,包括:
将所述集群根目录挂载至本节点的/mnt/nfs目录。
3.根据权利要求1或2所述的nfs挂载目录导出方法,其特征在于,若所述lib-fuse库位于用户态,则所述利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录,包括:
启动hello程序,通过所述hello程序调用lib-fuse库;
调用POSIX接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
4.根据权利要求1或2所述的nfs挂载目录导出方法,其特征在于,若所述lib-fuse库位于内核态,则所述利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录,包括:
启动hello程序,通过所述hello程序调用lib-fuse库;
调用VFS层的接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
5.一种nfs挂载目录导出装置,其特征在于,包括:
接收模块,用于接收后端节点导出的分布式文件系统集群根目录;
挂载模块,用于将所述集群根目录挂载至本节点的第一目录;
第一导出模块,用于利用hello程序将所述第一目录导出至lib-fuse库,生成第二目录;
第二导出模块,用于通过本节点的nfs server,将所述第二目录导出;
其中,所述接收模块具体用于,接收后端节点通过启动nfs server,导出的分布式文件系统的集群根目录。
6.根据权利要求5所述的nfs挂载目录导出装置,其特征在于,
所述挂载模块将所述集群根目录挂载至本节点的/mnt/nfs目录。
7.根据权利要求5或6所述的nfs挂载目录导出装置,其特征在于,所述第一导出模块,包括:
第一调用单元,用于通过hello程序调用lib-fuse库,并调用POSIX接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
8.根据权利要求5或6所述的nfs挂载目录导出装置,其特征在于,所述第一导出模块,包括:
第二调用单元,用于通过hello程序调用lib-fuse库,并调用VFS层的接口读取/mnt/nfs目录,导出至lib-fuse库,生成/tmp/fuse目录。
CN201710012890.1A 2017-01-09 2017-01-09 一种nfs挂载目录导出方法及装置 Active CN106709056B (zh)

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 CN106709056A (zh) 2017-05-24
CN106709056B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491551B (zh) * 2017-08-30 2021-04-06 郑州云海信息技术有限公司 一种分布式文件系统实现客户端访问的方法及装置
CN108920215A (zh) * 2018-07-18 2018-11-30 郑州云海信息技术有限公司 一种通过initramfs收集系统日志的方法
CN110944026B (zh) * 2018-09-21 2022-07-26 北京国双科技有限公司 网络文件系统替换方法、集群配置文件共享方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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的数据灾备系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161074B2 (en) * 2009-09-15 2012-04-17 Oracle International Corporation Operationally complete hierarchical repository in a relational database
CN103218227B (zh) * 2013-04-10 2016-01-06 广东欧珀移动通信有限公司 一种安卓设备内置硬盘上兼容多种文件系统的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (1)

* Cited by examiner, † Cited by third party
Title
FUSE使用心得;HGtz2222;《https://www.cnblogs.com/HGtz2222/archive/2012/05/03/2481279.html》;20120503;全文 *

Also Published As

Publication number Publication date
CN106709056A (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
CN108809722B (zh) 一种部署Kubernetes集群的方法、装置和存储介质
CN106713493B (zh) 一种在计算机集群环境中构建分布式文件系统及方法
TWI549080B (zh) The method, system and device for sending information of category information
CN109376197B (zh) 一种数据同步方法、服务器及计算机存储介质
CN106709056B (zh) 一种nfs挂载目录导出方法及装置
EP3125501A1 (en) File synchronization method, server, and terminal
CN112636992B (zh) 一种动态路由方法、装置、设备及存储介质
CN111064626B (zh) 配置更新方法、装置、服务器及可读存储介质
CN107888666A (zh) 一种跨地域数据存储系统以及数据同步方法和装置
CN107172214B (zh) 一种具有负载均衡的服务节点发现方法及装置
CN102664922A (zh) 一种基于Linux系统的高速网络启动方法
CN106686117B (zh) 一种分布式计算集群的数据存储处理系统及方法
CN105262793B (zh) 智能音箱播放存储设备中的音频文件的方法和系统
CN104735041A (zh) 离线资源获取方法及装置
CN104063377A (zh) 信息处理方法和使用其的电子设备
CN107623705B (zh) 基于视频云存储系统的存储模式升级方法、装置和系统
CN116010111B (zh) 一种跨集群资源调度方法、系统及终端设备
KR20130038734A (ko) 단말의 응용프로그램을 관리하는 방법 및 장치, 단말에서 응용프로그램을 관리하는 방법 및 장치
CN116627925A (zh) 一种基于k8s环境的业务日志数据处理方法及装置
CN104463619A (zh) 基于ldap的互联网产品目录销售系统及控制方法
CN110798358A (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN107491551B (zh) 一种分布式文件系统实现客户端访问的方法及装置
CN111400271B (zh) 一种在hdfs插件中集成nfs的方法
CN115134373A (zh) 数据同步方法、装置、存储介质及电子设备
CN103793239B (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
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.

GR01 Patent grant
GR01 Patent grant