欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程

程序员文章站 2022-06-22 08:28:16
目录一、nfs-ganesha的简介二、nfs-ganesha的配置三、nfs-ganesha容器的使用3.1 nfs-ganesha的服务端搭建3.2 nfs-ganesha的客户端使用nfs-ga...

nfs-ganesha3镜像的说明及使用

一、nfs-ganesha的简介

​ 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的配置

· ganesha_logfile: log file location

· ganesha_configfile: location of ganesha.conf

· ganesha_options: command line options to pass to ganesha

· ganesha_epoch: ganesha epoch value

· ganesha_export_id: ganesha unique export id

· ganesha_export: export location

· ganesha_access: export access acl list

· ganesha_root_access: export root access acl list

· ganesha_nfs_protocols: nfs protocols to support

· ganesha_transports: nfs transports to support

· ganesha_bootstrap_config: write fresh config file on start

· startup_script: location of a shell script to execute on start


三、nfs-ganesha容器的使用

3.1 nfs-ganesha的服务端搭建

1. 若主机存在nfs服务,首先要关闭主机本机的nfs服务

systemctl stop nfs
systemctl disable nfs 及rpc相关服务
或者
直接 yum remove nfs-utils

2.运行容器

docker run -d --net=host --privileged=true --restart=always --name=nfs_server -v /data/k8s:/export elimuzi/nfs-ganesha

run 运行容器

-d 表示后台运行

–net=host 表示共用主机ip

–privileged=true 使用该参数,container内的root拥有真正的root权限

–name=nfs_server 将容器名命名为nfs_server

-v /data/k8s:/export 建立磁盘映射,/data/k8s为本机需要作为nfs需要共享的目录,/export为容器的目录,配置文件中固定

elimuzi/nfs-ganesha 为镜像名

–restart=always 表示开机自启动

3.可选:若要修改默认配置

配置文件可以使用默认的,但是若要修改默认配置,ganesha镜像中,nfs-ganesha的启动脚本为/start.sh,若需要对其进行修改,可以先将这个文件拷贝出来

docker cp nfs_server:/start.sh .

修改完后再重新复制回容器之中

docker cp start.sh nfs_server:/start.sh
docker restart nfs_server # 重启容器

3.2 nfs-ganesha的客户端使用

查看服务端的主机ip地址

使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程

查看客户机的ip地址

使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程

3.showmount查看

showmount -e 192.168.18.143

使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程

4.nfs3的挂载

mount命令默认使用的是nfs3

mount 192.168.18.143:/export /mnt

使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程

mount #查看挂载

使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程

5.nfs4的挂载

mount.nfs4 192.168.18.143:/ /mnt #nfs4使用的是/,而不是/export

使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程

四、参考资料

nfs-ganesha的源码地址: https://github.com/nfs-ganesha/nfs-ganesha
nfs-ganesha2.5的容器源码地址: https://github.com/apnar/docker-image-nfs-ganesha
nfs-ganesha3的容器源码地址: https://github.com/jihetuxing/docker-image-nfs-ganesha
nfs-ganesha2.5的容器地址: https://hub.docker.com/r/apnar/nfs-ganesha
nfs-ganesha3的容器地址:https://hub.docker.com/r/elimuzi/nfs-ganesha

到此这篇关于使用docker的nfs-ganesha镜像搭建nfs服务器的文章就介绍到这了,更多相关docker搭建nfs服务器内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!