Linux nfs服务介绍

  • 2019 年 11 月 6 日
  • 筆記

nfs服务介绍

  1. nfs(Network File System) 网络文件系统,能使用户访问服务器的文件系统,就像访问自己的本机的文件系统一样,并且多个
    客户端共享访问该文件系统。
  2. 目前nfs服务,较为流行的两个nfs的组件为:nfsd,nfs-ganesha。前者linux为系统自带的内核态的文件系统,后者是开源的用户空间的文件
    系统。因为nfs-ganesha运行在用户态,nfsd运行在内核态,所以nfs-ganesha具有内存分配灵活,可移植性更好,更方便扩展等优势。
    缺点是nfs-ganesha目前的稳定性还不如nfsd。

如何搭建nfsd和nfs-ganesha服务

机器环境为centos7,由于两者都使用2049端口,因此一台服务器上,只能跑其中之一.

  1. 搭建nfsd服务
    A. 检查是否安装rpcbind和nfs-utils软件
    rpm -qa | grep rpcbind nfs-utils

    B. 如果上面两个软件没有安装,需要安装这两个软件
    yum install -y rpcbind nfs-utils

    C. 启动B中安装的软件
    systemctl start rpcbind && systemctl enable rpcbind
    systemctl start nfs && systemctl enable nfs

    D. 配置nfs权限文件
    配置权限可以直接修改/etc/exports文件,也可以在/etc/exports.d目录下,添加*.exports文件。
    文件内容格式为:目录 IP/IP网段(nfs选项)
    文件内容每一个权限的占用一行,选项一般使用较多的搭配项为,rw/ro,sync,no_root_squash,rw表示读写,ro表示只读
    sync,表示数据写入到内存和硬盘,保证数据不会丢失,当客户端用root身份挂载时候,nfs服务器将其映射为root用户.

    E. 执行权限的加载 命令,exportfs -rav 执行这个命令,并不需要去重启nfs服务。

    F. 客户端使用如下命令去挂载,172.16.0.1表示服务器的ip地址,vers 代表协议类型,支持3,4,4.1等,/mnt表示服务器的
    共享目录,/tmp为本地目录
    mount -t nfs 172.16.0.1:/mnt /tmp -o vers=4

    G. 挂载成功后,使用df命令,nfs4所在的哪一行为挂载的nfs文件系统

    然后就可以,cd /tmp,对这个目录下进行读写文件等操作了,
    至此nfsd服务全部搭建完毕。

    H. 查看nfs的日志,在系统日志/var/log/messages中,可以用vim打开,搜索nfs关键字。

  2. nfs-ganesha搭建(明天继续些哈)