Centos7 配置NFS
一. NFS服务端安装
1.安装软件包
yum -y install nfs-utils rpcbind
2.配置
# 把要共享的文件夹权限改成 nfsbody,如:
chown nfsnobody.nfsnobody /logs
vi /etc/exports
/data/logs 192.168.2.1(rw,sync,no_root_squash)
/logs *(ro)
参数:
ro 只读
rw 读写
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
sync 同时将数据写入到内存与硬盘中,保证不丢失数据
async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
3.启动nfs服务
先为rpcbind和nfs做开机启动:(必须先启动rpcbind服务)
systemctl enable rpcbind.service
systemctl enable nfs-server.service
然后分别启动rpcbind和nfs服务(单步执行):
systemctl start rpcbind.service
systemctl start nfs-server.service
停服务(单步执行):
systemctl stop rpcbind.socket
systemctl stop rpcbind.service
systemctl stop nfs-server.socket
systemctl stop nfs-server.service
查看NFS使用的端口:
rpcinfo -p
3. 使配置生效
exportfs
重新挂载 /etc/exports中的设置, 同步 /var/lib/nfs/xtab
exportfs -r
卸载某一目录
exportfs -u
查看有哪些共享目录
exportfs -v
#可以查看到已经ok
/home/nfs 192.168.248.0
参考:
https://blog.51cto.com/sf1314/2087206
二. 在其它linux主机上安装 NFS 客户端
首先是安裝nfs,同上,然后启动rpcbind服务
先为rpcbind做开机启动:
systemctl enable rpcbind.service
然后启动rpcbind服务:
systemctl start rpcbind.service
注:客户端不需要启动nfs服务
检查 NFS 服务器端是否有目录共享:showmount -e nfs服务器的IP
showmount -e 192.168.248.208
Export list for 192.168.248.208:
/home/nfs 192.168.248.0/24
在从机上使用 mount 挂载服务器端的目录/home/nfs到客户端某个目录下:
cd /home && mkdir /nfs
mount -t nfs 192.168.248.208:/home/nfs /home/nfs
df -h 查看是否挂载成功。
三. NFS服务端如果使用防火墙配置如下
-----------------------------
配置firewalld 开放端口:
1.首先打开111和2049端口
firewall-cmd --permanent --add-port=111/tcp
firewall-cmd --permanent --add-port=111/udp
firewall-cmd --permanent --add-port=2049/tcp
firewall-cmd --permanent --add-port=2049/udp
2.编辑/etc/sysconfig/nfs文件
添加:
RQUOTAD_PORT=1001
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
注:因为开启防火墙,不添加客户机挂载nfs时会报以下错:
rpc mount export: RPC: Unable to receive; errno = No route to host
3.打开1001,32803,32769,892端口
firewall-cmd --permanent --add-port 1001/tcp
firewall-cmd --permanent --add-port 1001/udp
firewall-cmd --permanent --add-port 32803/tcp
firewall-cmd --permanent --add-port 32769/udp
firewall-cmd --permanent --add-port 892/tcp
firewall-cmd --permanent --add-port 892/udp
可以直接编辑 /etc/firewalld/zone/public.xml 文件 添加:
<description> NFS </description>
<port protocol="udp" port="111"/>
<port protocol="tcp" port="111"/>
<port protocol="tcp" port="2049"/>
<port protocol="udp" port="2049"/>
<port protocol="tcp" port="1001"/>
<port protocol="udp" port="1001"/>
<port protocol="tcp" port="32803"/>
<port protocol="udp" port="32769"/>
<port protocol="tcp" port="892"/>
<port protocol="udp" port="892"/>
<description> NFS-END </description>
4. 重启NFS服务,重启防火墙,然后执行"rpcinfo -p"命令,发现端口都改了过来
# rpcinfo -p
客户机挂载测试,成功。

浙公网安备 33010602011771号