【ceph】什么是NFS-Ganesha和fuse

NFS-Ganesha是一个用户态的NFS服务器,支持NFSv3/v4协议,为Unix/Linux提供FUSE接口。它通过FSAL抽象层对接不同后端存储,如Ceph RGW,提供高性能和可移植性。FUSE(Filesystem in Userspace)允许在用户空间实现文件系统,NFS-Ganesha利用FUSE实现了对用户空间文件系统的支持,无需内核帮助即可挂载NFS。
摘要由CSDN通过智能技术生成

目录

一、简略

二、说明

1、什么是NFS-Ganesha

2、NFS-Ganesha的优点

3、NFS Ganesha对接Ceph RGW实例

4、什么是FUSE

5、 nfs-ganesha and CephFS

三、详细说明

NFSv4 简要概述

NFS-Ganesha 的四大优势

NFS-Ganesha 框架浅析

NFS Ganesha 对接 Ceph RGW 实例


一、简略

什么是NFS-Ganesha?

  • 用户态的支持NFS协议(NFSv3/NFSv4,NFSv4.1)的文件服务器。
  • 它的客户是Unix和类Unix的操作系统。为
  • Unix和类Unix的操作系统提供了FUSE(Filesystem in Userspace)兼容的接口FSAL。
  • Unix和类Unix的操作系统通过NFS Client可以访问存储设备(本地or分布式集群)。

什么是FUSE?

Filesystem in Userspace,用户空间实现文件系统。NFS-Ganesha就是实现FUSE的一种方式。

FUSE和Ganesha的关系是什么?

NFS-Ganesha就是实现FUSE的一种方式。

二、说明

1、什么是NFS-Ganesha

“Ganesha是一个全新的程序,可能对比kernel版本的NFSv4” 根据这句话,Ganesha应该是一个第三方文件系统,对标kernel的NFSv4这些系统。

NFS-Ganesha 通过FSAL((File System Abstraction Layer文件系统抽象层)将一个后端存储抽象成一个统一的API,提供给Ganesha服务端,然后通过NFS协议将其挂载到客户端。在客户端上对挂出来的空间进行操作。

NFS-Ganesha是一个用户态的支持NFS协议(NFSv3/NFSv4,NFSv4.1)的文件服务器,它为Unix和类Unix的操作系统提供了FUSE(Filesystem in Userspace)兼容的接口FSAL(File System Abstraction Layer) 。这样用户通过NFS Client可以访问自己的存储设备。NFS-Ganesha 服务允许用户通过FSAL在用户态访问数据而不需要和内核频繁的交互,大大的减少了数据读取的响应时间。

NFS Ganesha 分层架构图

   摘抄或节选自:NFS-Ganesha框架学习_u012114090的博客-CSDN博客_nfs-ganesha

2、NFS-Ganesha的优点


Ganesha是一个全新的程序,可能对比kernel版本的NFSv4,Ganesha的性能有所欠缺,但是基于user-space的方法会带来更多有意思的功能。

  • 灵活的内存分配——只需要4GB来可以实现百万级别的数据缓存
  • 更强的可移植性——如果NFS Ganesha是kernel-space的话,那样NFS Ganesha的内部结构只能适应一款特定的OS,而很难移植到别的OS上.Ganesha设计初衷是成为一个NFSv4通用服务器,可以实现NFSv4的所有功能,因此也需要适配各种文件系统。
  • 更便捷的访问机制——内核中的NFSv4访问用户空间中的服务不是那么方便,因此其引入了rpc_pipefs机制, 用于解决用户空间服务的桥梁,并且 使用kerberos5管理安全性或idmapd守护程序来进行用户名转换。然而Ganesha不需要这些,它使用常规API来对外提供服务。
  • 对接FUSE——由于NFS Ganesha是一个运行在用户空间的程序,因此它还提供了对一些用户空间文件系统(FUSE,Filesystem in Userspace))的支持,可以让我们直接把FUSE挂载在NFS上而不需要内核的帮助。

3、NFS Ganesha对接Ceph RGW实例

640?wx_fmt=jpeg

 
                                                   NFS Ganesha workflow
 摘抄或节选自:NFS-Ganesha框架学习_u012114090的博客-CSDN博客_nfs-ganesha

4、什么是FUSE

(本章部分摘自:https://zhuanlan.zhihu.com/p/106719192)

fuse是什么?

FUSE,implementing filesystems in user space,在用户空间实现文件系统。简单讲,用户可通过fuse在用户空间来定制实现自己的文件系统。

为什么要有fuse?

现存文件系统难以满足用户的特别需求,内核下定制开发文件系统难度较高,在用户空间可定制实现文件系统是有需求的。并且,用户空间下调试工具丰富,出问题不会导致系统崩溃,开发难度相对较低,开发周期较短。

fuse工作原理

完整的fuse功能包括a)用户态customize文件系统b)用户态fuse库(libfuse)c)内核支持(fs/fuse/*),共3层结构协作完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值