环境说明:

主机名
操作系统版本
IP地址
说明
centos7
centos7
172.27.9.181NFS服务器
web
centos7
172.27.9.17客户端
ubuntuUbuntu 14.04.5
172.27.9.227客户端
ubuntu02
Ubuntu 16.04.5172.27.34.37客户端


服务端配置

1.关闭防火墙

[root@centos7 ~]# systemctl stop firewalld.service [root@centos7 ~]# systemctl disable firewalld.service [root@centos7 ~]# firewall-cmd --state not running


2.关闭selinux

临时关闭

[root@centos7 ~]# setenforce 0

永久关闭

[root@centos7 ~]# sed -i 's/^ *SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

重启后配置生效

[root@centos7 ~]# sestatus  SELinux status:                 disabled


3.服务端安装NFS软件

[root@centos7 /]# yum -y install  nfs-utils


4.编辑参数exports

[root@centos7 /]# view /etc/exports /backup 172.27.34.0/24(rw,sync,no_root_squash) /backup 172.27.9.0/24(rw,sync,no_root_squash)

表示允许172.27.34.0和172.27.9.0两个网段的服务器访问,若对所有ip地址都可以访问则可设置为*:

/backup  *(rw,sync,no_root_squash)

若要指定特定ip,配置如下:

/backup  172.27.9.17(rw,sync,no_root_squash) 172.27.9.227(rw,sync,no_root_squash) 172.27.34.37(rw,sync,no_root_squash)


典型参数说明

ro:共享目录只读 rw:共享目录可读可写 all_squash:所有访问用户都映射为匿名用户或用户组 no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组 root_squash(默认):将来访的root用户映射为匿名用户或用户组 no_root_squash:来访的root用户保持root帐号权限 secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器 insecure:允许客户端从大于1024的tcp/ip端口连接服务器 sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性 async:将数据先保存在内存缓冲区中,必要时才写入磁盘 wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率 no_wdelay:若有写操作则立即执行,应与sync配合使用 subtree_check :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限 no_subtree_check(默认) :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率

no_all_squash和root_squash为默认设置,前者表示客户端访问用户先与服务器端本机用户匹配,匹配失败后再映射为匿名用户或用户组,后者表示root用户也映射为匿名用户或用户组。


5.新建共享目录并修改权限

[root@centos7 backup]# mkdir /backup [root@centos7 backup]# chmod -R 777 /backup/


6.启动服务并设置为开机启动

[root@centos7 /]# systemctl enable rpcbind.service [root@centos7 /]# systemctl enable nfs-server.service [root@centos7 /]# systemctl start rpcbind.service [root@centos7 /]# systemctl start nfs-server.service


7.加载并查看配置

加载配置

[root@centos7 ~]# exportfs -r

查看

[root@centos7 /]# exportfs  /backup         172.27.34.0/24 /backup         172.27.9.0/24 [root@centos7 /]# exportfs -v /backup         172.27.34.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash) /backup         172.27.9.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)



客服端配置

1.安装nfs软件包
centos:

[root@web /]# yum -y install nfs-utils

ubuntu:

root@ubuntu:/# apt-get install nfs-common -y


2.新建挂载点

[root@web /]# mkdir /nfs


3.检查共享目录

[root@web nfs]# showmount -e 172.27.9.181 Export list for 172.27.9.181: /backup 172.27.9.0/24,172.27.34.0/24


4.挂载共享目录

[root@web nfs]# mount -t nfs 172.27.9.181:/backup /nfs

s


5.开启自动挂载

centos和ubuntu配置相同

[root@web ~]# view /etc/rc.local mount -t nfs 172.27.9.181:/backup /nfs [root@web ~]# chmod 755 /etc/rc.local


测试

查看、新建和删除文件



NFS服务器搭建完成,测试正常。