「Ceph」- CephFS 转 NFS(通过 NFS 访问 CephFS 存储)

问题描述

NFS-Ganesha 是个 NFS Server 的实现,它运行在用户态空间,它具有的一个功能是:支持 CephFS FSAL(File System Abstraction Layer,文件系统抽象层)特性,其利用 libcephfs 库,将 CephFS 重新导出为 NFS 服务;

NFS 是类 UNIX 系统中最流行的网络共享文件系统之一,如此即使是不支持 CephFS 文件系统的类 UNIX 系统,也可以通过 NFS 来访问 Ceph 文件系统;

解决方案

for Debian 11 (bullseye)

apt-get install -y nfs-ganesha nfs-ganesha-ceph

systemctl enable rpcbind.service && systemctl start rpcbind.service 

cat > /etc/ganesha/ganesha.conf <<EOF
EXPORT {

	Export_ID = 1;
	Path = "/";
	Pseudo = "/";
	Access_Type = RW;
	NFS_Protocols = "3";
	Squash = No_Root_Squash;
	Transport_Protocols = TCP;
	SecType = "none";
	FSAL {
		Name = CEPH;
	}

}
EOF

systemctl restart nfs-ganesha.service
systemctl status nfs-ganesha.service

# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/ (everyone)

Q:为什么不需要在 NFS Ganesha 中进行与 Ceph 相关的配置?
A:演示目的,我们 NFS Ganesha 直接部署在 Ceph Node 中,所以 NFS Ganesha 能够找到 Ceph 默认配置信息;