CentOS-NFS服务

网络文件系统,英文Network File System(NFS),是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。

参考链接:CentOS7下NFS使用与配置(怀素真)

软件安装

nfs、rpcbind服务安装:

1
yum install nfs-utils rpcbind net-tools lsof

设置上述服务开启自启:

1
2
chkconfig rpcbind on
chkconfig nfs on

查询上述服务状态:

1
2
systemctl status rpcbind.service
systemctl status nfs.service

NFS服务端配置

在/etc目录中创建exports文件。
exports文件配置格式:

1
NFS共享的目录 NFS客户端地址1(参数1,参数2,...) 客户端地址2(参数1,参数2,...)

NFS共享目录说明:

1
要用绝对路径,可被nfsnobody读写。

NFS客户端地址说明:

1
2
3
4
5
指定IP: 192.168.0.1
指定子网所有主机: 192.168.0.0/24
指定域名的主机: test.com
指定域名所有主机: *.test.com
所有主机: *

参数说明:

1
2
3
4
5
6
7
8
9
10
ro:目录只读
rw:目录读写
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash:与all_squash取反(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
no_root_squash:与rootsquash取反
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户

例如:

1
/home/data/tmp 192.168.1.0/24(rw,sync,all_squash)

重新加载nfs配置:

1
exportfs -rv

查看nfs服务器挂载情况:

1
showmount -e localhost

由于NFS启动时会随机取用若干端口,可尝试暂时关闭CentOS防火墙:

1
systemctl stop firewalld.service

Windows挂载NFS目录

  1. Windows启动NFS服务,在控制面板-程序与功能-启动或关闭Windows功能-勾选NFS服务。
  2. 在文件管理器中映射网络启动器或者使用命令行挂载硬盘:
    1
    mount \\192.168.1.1\home\data\tmp x: