Centos 7如何实现NFS共享服务

一、环境说明

主机名ipios角色
smart10.2.152.152centos-7.1(x86)client
arm-25110.2.152.251centos-7.4(aarch64)service

二、安装软件包

(1)服务器和客户机都要安装nfs 和 rpcbind 软件包

$:yum -y install nfs-utils  rpcbind

验证查看
$:rpm -qa|grep nfs 
$:rpm -qa|grep rpcbind 

三、配置服务器端

1. 在服务器上创建NFS共享目录:
$: mkdir /home/date
2. 设置共享目录的读写权限: 
 $:chmod 666 /home/date/
 3. 编辑export文件:
$:cat /etc/exports
/home/date 10.2.152.252(rw,no_root_squash,no_all_squash,sync)
 
注意地址和参数表之间没有空格。如果下面设置的mountd端口大于1024,需要在参数表里加入参数:insecure
注:配置文件说明: 

/home/data 为共享的目录,使用绝对路径。
10.2.152.252(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段(如:10.2.0.0/24),一个IP地址或者是一个域名,域名支持通配符,如:*.hpce.cn,地址与权限中间没有空格。
权限说明:
rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;由于我们的日志需要同步写,所有用sync选项。
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。 

4、使配置生效

$:exportfs  -r

5、启动服务rpcbind、nfs服务

$:service rpcbind  start
$:service nfs  start

6、服务器端防火墙设置(NFS开启防火墙配置):

修改/etc/services文件:

配置rpc,nfsd,rquotad,mountd使用的端口。配置之前先检查一下是否已经配置过了,已经配过的就不用配置了。没有配置的,要分配一个在此文件中未被使用的端口号。我的机器默认配置了:rpc、nfsd、rquotad 

mountd: 没有配置。手工加上: 

mountd          48620/tcp               #rpc.mountd   

mountd          48620/udp               #rpc.mountd   

如果mountd占用端口大于 1024,在文件 /etc/exports里需要加入参数insecure。如: 192.168.0.100(insecure,rw,async,root_squash,no_all_squash) 

 

重启NFS服务
$:service nfs restart

7、在防火墙配置文件里开放上面配置的端口:

打开文件:vim /etc/sysconfig/iptables 

加入红色部分的内容:  

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 

#rpc 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 121 -j ACCEPT 

-A INPUT -m state --state NEW -m udp -p udp --dport 121 -j ACCEPT 

  

#nfsd 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT 

-A INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT 

#rquotad 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT  

-A INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT 

#mountd 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 48620 -j ACCEPT 

-A INPUT -m state --state NEW -m udp -p udp --dport 48620 -j ACCEPT 

-A INPUT -j REJECT --reject-with icmp-host-prohibited 
客户端挂载:
创建挂载目录: mkdir /home/date 

查看服务器抛出的共享目录信息: 

showmount -e 10.2.152.251

Export list for 10.2.152.251: 

/home/date 10.2.152.251 

如果显示:rpc mount export: RPC: Unable to receive; errno = No route to host,则需要在服务端关闭防火墙。 

为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议: 

mount -t nfs 10.2.152.251:/home/date  /home/date  -o proto=tcp -o nolock 

挂载成功后即可访问共享的NFS文件系统了。 
卸载已挂在的NFS
$:umount /home/date 
查看挂载目录的信息: 

fuser -m -v /home/date 

rpcinfo –p  ip  /// 查看主机的rpc服务和端口 

showmount –e  ip /// 查看主机抛出的nfs列表 
nfs其它功能: 

1. service nfslock start 允许NFS客户端在服务器上对文件加锁.这个进程对应于nfslock服务 

参考:

https://www.cnblogs.com/yingsi/p/6221709.html <CentOS下搭建NFS服务器总结>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值