CentOs7.5安装配置NFS文件挂载

  NFS即网络文件系统,它允许网络中的计算机之间通过TCP/IP协议来共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。可以理解为把远端服务器上的文件挂载到本地客户端上,所以文件权限需要在远端服务器上进行配置。

  现在有2台服务器,server1(主):192.168.0.58, server2(从):192.168.0.119。

  一、服务端IP:192.168.0.58 ,共享文件路径:/usr/local/certs

  1,查看Linux系统信息:

cat /etc/redhat-release

  2,查看是否安装了nfs 和 rpcbind。提示:之所以截图会有显示,是因为系统已经安装了nfs 和 rpcbind。

rpm -aq | grep nfs  

rpm -aq | grep rpcbind

  rpcbind是一个RPC服务,主要是在nfs共享时负责通知客户端,服务器的nfs端口号

   3,如果没有安装则需要安装这 nfs 和 rpcbind 两个服务

yum install nfs-utils rpcbind

  4,增加nfs 配置

vi /etc/exports

  4.1 加入共享信息:/usr/local/certs 192.168.0.119(rw,sync,no_root_squash)

   4.2 重新加载 NFS 服务配置文件 :exportfs -rv 

  参数说明:

  /usr/local/certs:共享文件夹

  192.168.0.119:挂载服务端目录的客户端ip

共享参数说明:
# ro				目录可读
# rw				目录可读可写
# sync				将数据同步写入内存缓冲区与磁盘中
# async				将数据先写入内存缓冲区,有必要时才写入磁盘
# all_squash		将远程访问用户及组全映射成默认用户或用户组nfsnobody(或nobody)
# no_all_squash		与all_squash配置相反
# root_squash		将root用户及所属组映射成默认用户或用户组
# no_root_squash	与root_squash配置相反
# anonuid			将远程访问用户映射成指定用户及ID的用户
# anongid			将远程访问用户组映射成指定用户组ID的用户组

  5,启动 nfs 和 rpcbind 服务

  必须先启动rpcbind,再启动nfs,才能让NFS在rpcbind上注册成功

service rpcbind start
service nfs start  

  查看启动状态:

service rpcbind status  

service nfs status

   6,查看共享的服务:

showmount -e

  

   7,查看rpc 服务注册状态:

rpcinfo -p 192.168.0.58

  NFS服务使用的111和2049端口是固定的,mountd端口是动态的,需要固定,然后在防火墙放行,也可以暴力的直接关闭防火墙。

  、客户端IP:192.168.0.119 ,挂载文件路径:/usr/local/certs

  1,客户端也需要安装 nfs 和 rpcbind 服务,先查看系统信息是否和服务端系统同属于CentOs7,如果系统版本一致,参考服务端安装、启动、查看启动状态。

yum install nfs-utils rpcbind
service rpcbind start
service nfs start  
service rpcbind status  
service nfs status 

  2,显示NFS 服务端共享文件列表:

showmount -e 192.168.0.58

     3,创建挂载目录:mkdir /usr/local/certs

  4,挂载服务端的共享目录: mount -t nfs4 nfs服务器IP:/data  /data

mount -t nfs -o nfs4 192.168.0.58:/usr/local/certs  /usr/local/certs

  查看挂载状态:

df -h

  至此,NFS 文件共享服务端 和客户端配置成功。

   三、设置客户端开机自动挂载

vi  /etc/fstab
# 加上
192.168.0.58:/usr/local/certs /usr/local/certs nfs defaults 0 0

  3.1 客户端挂载后,写文件时可能会报一个权限问题:Permission denied。

  解决这个问题可以修改nfs主服务器/etc/exports文件。

  方法一:较安全

  1),先查看uid:

id root

  2),修改/etc/exports文件:

/usr/local/certs  192.168.0.58(rw, sync ,fsid=0,anonuid=65534,anongid=65534)

  注:root用户的权限在尝试修改文件服务器上的文件时,文件系统将其识别为65534,匿名用户,限制了其写文件的权限。

    3),重新加载 NFS 服务配置文件 :exportfs  -rv , 可使用 exportfs  -v 查看配置。

  方法二:简单粗暴

   加了no_root_squash,也可以解决问题 , no_root_squash: 有root的权限,不建议使用

   直接修改/etc/exports为:

/usr/local/certs 192.168.0.119(rw,sync,no_root_squash)

  

  参考:https://blog.csdn.net/Duke147/article/details/87810417

       https://blog.csdn.net/weiguang1017/article/details/53541219?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

      https://www.bilibili.com/read/cv10536078/

      https://blog.csdn.net/weixin_42256397/article/details/97283989

      https://blog.csdn.net/d0_0b/article/details/8731957

 

原文地址:https://www.cnblogs.com/tooker/p/15017281.html