RedHat 7的NFS服务虽配置文件和RedHat 6一样,但服务名称已发生了较大改变,本文将介绍配置过程。

本文原始出处:江健龙的技术博客 http://jiangjianlong.blog.51cto.com/3735273/1791261


首先在/data下创建两个目录作为共享目录,一个名称为/data/nfsshare,将配置为可以读写,一个名称为/data/nfspublic,将配置为只读。

wKioL1dom7XQx0ZaAAAHDyVIymA295.png


将nfsshare目录授予777权限

RedHat 7配置NFS服务_第1张图片


 编辑NFS配置文件:vi /etc/exports,填写以下内容(其中*代表所有客户端都可以访问,rw是读写,ro是只读)

wKiom1dom7WyRB9-AAAGBs0yOfM658.png

【当不指定参数时,nfs将使用默认选项。默认的共享选项是sync,ro,root_squash,no_delay。当主机名或IP地址为空时,则代表共享给任意客户机提供服务。当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:

[共享的目录]  [主机名1IP1(参数1,参数2)]  [主机名2IP2(参数3,参数4)]

root@linux~]# vi /etc/exports

/tmp          *(rw,no_root_squash,sync)

/home/public  192.168.0.0/24(rw,sync)    *(ro,sync)

/home/test    192.168.0.100(rw,sync)

该段内容搜集自互联网,尚未测试


RedHat 7的NFS服务:主要涉及rpcbind、nfs-server、nfs-idmap三个服务

查看rpcbind服务服务已启动:systemctl status rpcbind,如未启动则将其启动

RedHat 7配置NFS服务_第2张图片

设置nfs-server服务开机自动启动:systemctl enable nfs-server

启动nfs-server服务:systemctl start nfs-server

查看rpcbind服务服务已启动:systemctl status nfs-idmap,如未启动则将其启动

RedHat 7配置NFS服务_第3张图片


查看已共享出来的目录:showmount -e 192.168.10.14

wKioL1dom7jAkzrKAAAP-AAjDHk268.png


重新加载配置文件:exportfs

wKiom1dom7jyV1IpAAAMIO1uROs705.png


Linux客户端测试挂载共享目录:

创建一个客户端挂载点目录:mkdir /tmp/nfs

将服务器上的nfsshare挂载到/tmp/nfs:mount 192.168.10.14:/data/nfsshare /tmp/nfs

查看挂载结果:df- h

RedHat 7配置NFS服务_第4张图片

测试写入:touch /tmp/nfs/nfstest02.txt,写入成功,在/data/nfsshare目录可以看到该文件

wKiom1dom7rCn7maAAAPICUXCcw445.png


创建第二个客户端挂载点目录:mkdir /tmp/nfspublic

将服务器上的nfspublic挂载到/tmp/nfspublic:

mount 192.168.10.14:/data/nfspublic /tmp/nfspublic

wKioL1dom7vAIUoAAAAIEsmrRJg254.png

查看已挂载的共享目录

wKiom1dom7uyGsx0AAAS9I4Xo-8971.png

也将服务器的nfspublic目录授予777权限,以测试nfs配置文件的只读设置是否有效,可以看到写入文件时失败,提示Read-only file system

RedHat 7配置NFS服务_第5张图片


如果要求客户端开机自动挂载nfs共享目录,那么需要在客户端的/etc/fstab文件写入挂载信息,如下图

RedHat 7配置NFS服务_第6张图片