NFS服务搭建与配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NFS服务搭建与配置相关的知识,希望对你有一定的参考价值。

NFS服务搭建与配置:

NFS介绍

     NFS是Network File System的缩写;NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发;

     NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。

     NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致

     NFS原理图:

        技术分享图片

NFS服务器安装配置

    yum install -y nfs-utils rpcbind

    vim /etc/exports //加入如下内容

    /home/nnfsshare 192.168.159.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

    保存配置文件后,执行如下准备操作

    mkdir /home/nfsshare    //创建上面设置的共享目录

    chmod 777 /home/nfsshare    //修改权限

    systemctl start rpcbind     //启动rpcbind服务

    systemctl start nfs        //启动nfs,注意启动顺序别乱了,是先启动rpcbind服务,在启动nfs

    systemctl enable rpcbind     //把rpcbind服务设置开机启动

    systemctl enable nfs        //设置开机启动

NFS配置选项   

     rw 读写

     ro 只读

     sync 同步模式,内存数据实时写入磁盘

     async 非同步模式

     no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大

     root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户

     all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户

     anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid

NFS客户端使用:

     yum install -y nfs-utils

     showmount -e 192.168.159.131 //该ip为NFS服务端ip

    技术分享图片

    若出现上如的错误,排查思路:①在服务端执行showmount -e看看,有没有显示共享的目录;如果没有,可能可能是你启动rpcbind和nfs顺序错了;②检查服务端和客户端的iptables,最简单的是临时使用iptables -F 清空规则就可。

     mount -t nfs 192.168.159.131:/home/nfsshare /mnt

     df -h

     touch /mnt/linux.txt

     ls -l /mnt/linux.txt //可以看到文件的属主和属组都为1000

    技术分享图片

exportfs命令:实现不重启nfs动态更新

   常用选项

     -a 全部挂载或者全部卸载

     -r 重新挂载

     -u 卸载某一个目录

     -v 显示共享目录

   以下操作在服务端上:

     vim /etc/exports //增加

     /tmp/ 192.168.159.0/24(rw,sync,no_root_squash)

     exportfs -arv //不用重启nfs服务,配置文件就会生效

  以下操作在客户端:

     mkdir test

     mount -t nfs -onolock 192.168.133.130:/tmp test

     touch /test/1.txt

     ls -l !$

    技术分享图片

NFS客户端问题   

     NFS 4版本会有该问题

     客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody

     客户端挂载时加上 -o nfsvers=3

     客户端和服务端都需要

     vim /etc/idmapd.conf //

     把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务

    

以上是关于NFS服务搭建与配置的主要内容,如果未能解决你的问题,请参考以下文章

NFS服务搭建与配置

NFS服务器搭建与配置

NFS服务搭建与配置

[转帖]NFS服务搭建与配置

NFS服务搭建与配置

NFS服务搭建与配置