NFS服务搭建

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

  • 原理图
    这里写图片描述
    NFS不监听任何端口,监听端口实现TCP\IP通信的是rpcbind。它监听111端口。

NFS服务端安装配置

(1)在服务端机器上安装软件包nfs-utils,会将rpcbind一并安装上

yum  install -y  nfs-utils  

(2)在/etc/exports中添加需要共享的目录信息

/home/zcylinux
192.168.244/0(rw,sync,all_squash,anonuid=1001,anongiu=1001)

第一段是要共享出去的目录
第二段是指定与哪个(些)机器共享上面的目录,并设定它的选项

(3)保存退出后,给予共享目录777权限

chmod 777  /home/zcylinux

(4) 默认安装完nfs-utils,会默认开启rpcbind服务,在centos7中查看发现它监听111端口,后面为systemd,并无影响

tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd 

(5)启动NFS

systemctl start nfs 

启动nfs后,会自动开启一些rpc服务(rpcbind相关的一些服务。例如

root      11481  0.0  0.0  19320   400 ?        Ss   22:08   0:00 /usr/sbin/rpc.idmapd 
root      11487  0.0  0.0  42564   948 ?        Ss   22:08   0:00 /usr/sbin/rpc.mountd
rpcuser   11482  0.1  0.0  42376  1760 ?        Ss   22:08   0:00 /usr/sbin/rpc.statd

在客户端上没有这些相关服务的

(6)设置为开机启动

systemctl enable  nfs

(7)关于NFS挂载选项的解释
这里写图片描述

客户端挂载

(1)安装软件包

yum install -y nfs-utils

(2)查看本机是否对共享目录有权限

 [root@localhost ~]# showmount -e 192.168.244.139
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

该IP为服务端IP。这里提示错误网络不通,原因有二点:1. 对方服务为开启.
2 . 防火墙导致

(3)2台机器都关闭防火墙,并关闭selinux

systemctl stop firewalld

setenforce 0  //临时关闭selinux

这是就可以看到共享的目录了

(4)挂载共享目录

mount -t nfs   192.168.244.139:/home/zcylinx   /mnt/

再使用df -h就可以看到共享的目录。


exportfs命令

  1. 该命令是与nfs-utils软件包一起安装的,它的作用是当服务端进行比如新增共享目录后,不用重启nfs服务,配置文件生效,客户端不受影响。如果当客户端正在对共享目录进行读写时,关闭服务端的NFS服务,会造成客户端进程异常(僵尸进程)。nfs服务不能随便重启,如果服务端需要重启需要在客户端上卸载共享目录后,才可以进行重启。

  2. exportfs命令可以帮助我们解决多台客户端逐流卸载的繁琐。

  3. 常用选项
    (1 -a 全部挂载或全部卸载
    (2 -r 重新挂载
    (3 -u 卸载某一个目录
    (4 -v 显示共享目录
    常用方式
exportfs  -arv  /服务端执行

NFS客户端问题题

  1. 在centos6以及之前的版本中,可能会出现客户端文件属主属组nobody。该问题针对NFS 4版本
  2. 客户端挂载共享目录后,不管是谁创建的文件属主属组都是nobody
  3. 可以在客户端挂载时,使用-o选项来指定nfs服务的版本为3
mount -t nfs -o nfsvers=3    192.168.244.139:/home/zcylinux  /mnt/  //初次挂载
mount -t nfs -oremount,nfsvers=3 192.168.244.139:/home/zcylinux  /mnt/    //再次挂载

4 另一种方法是编辑/etc/idmapd.conf——2台机器都需要

#Domain = local.domain.edu修改为Domain = xxx.com(自定义)

然后再重启rpcbind服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值