首先准备两台机器
机器一 服务端 IP:xxx.xxx.xx.100
机器二 客户端 IP:xxx.xxx.xx.111
机器一 服务端 IP:xxx.xxx.xx.100  配置
yum -y install nfs-utils		  装NFS的软件包
mkdir -p /home/abc				  任意创建一个共享目录
chmod 777 /home/abc				  给个权限(755也行)
echo hello > /home/abc/1.txt 	  新建1.txt文件 并写入hello
vim /etc/exports 				  修改NFS配置文件(默认是空的)加入 如下方图一所示(ip后的括号不要与ip有间隔)
加入的内容: /home/abc 192.168.44.111(rw,sync,all_squash,anonuid=1000,anongid=1000)   

systemctl start rpcbind   		  启动服务(启动NFS服务之前先启动 rpcbind 因为 NFS依赖 rpcbind)
systemctl enable --now rpcbind	  设置开机自启动
systemctl start nfs-server		  启动nfs服务(正常情况下 启动nfs时会自动启动rpcbind服务)
systemctl enable --now nfs-server 设置开机自启动 
firewall-cmd --set-default-zone=trusted 设置防火墙信任所有或者关闭防火墙
systemctl stop firewalld		  关闭防火墙
机器二 客户端 IP:xxx.xxx.xx.111
yum -y install nfs-utils		  装NFS的软件包
systemctl stop firewalld		  关闭防火墙
showmount -e 192.168.44.100       测试是否能连通  如图二
mkdir 123 						  创建任意目录
mount -t nfs 192.168.44.100:/home/abc /123 
表示将192.168.44.100(服务端)下的/home/abc 挂载到我本地的(客户端) /123目录下 -t表示指定是什么类型的共享  
如图二 挂载到/mnt下

image.png

image.png

图一的nfs 配置选项介绍
sync            同步模式,内存数据实时写入磁盘
async           非同步模式
no_root_squash  客户端挂载nfs共享目录之后,root用户不受约束 权限很大
root_squash     客户端root 用户受到约束,被限定成为某个普通用户
all_squash      客户端上所有用户在使用nfs共享目录时都被限定成为一个普通用户
anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid
设置开启自动挂载
vim /etc/fstab      打开配置文件 加入下方一行内容
192.168.44.100:/home/abc /mnt nfs defaults 0 0 


验证:
[root@localhost ~]# umount /mnt    取消挂载
[root@localhost ~]# mount -a
[root@localhost ~]# df -h     

exportfs

在服务端使用
在服务端上使用
exportfs -a 全部挂载或者全部卸载
 		 -r 重新挂载
 		 -u 卸载某一个目录
 		 -v 显示共享目录
 		 
vim  /etc/exports     可以重新挂载一个目录 如
/usr/ 192.168.44.0/24(rw,async,no_root_squash)
exportfs -arv         使用这个不用重启nfs服务也可以直接加载出来改过的配置文件



在客户端使用
-o  		(字母o) 挂载时指定新选项
如:
mount -t nfs -oro ip:/root/123.txt   /mnt    使用-o 指定挂载时新加的配置 
  • 用上面的mount 挂载设备或者网络共享,立刻生效,不管你是否适用共享,mount都会挂载共享, autofs 也可以挂载设备或者网络共享,不同的是它仅在你使用共享的一瞬间连接共享(比如你进去的一瞬间开始共享)
autofs 自动挂载 (正题开始)
  • 不使用不挂载,使用时立刻自动挂载
  • 服务器2作为客户端,使用autofs自动访问服务器1的NFS共享(在服务器2上操作)
  1. yum -y install autofs 安装autofs软件包
  2. vim /etc/auto.master 修改主配置文件
  3. /home /etc/123.txt 在任意行添加这个内容 比如我想访问服务器1的NFS共享,把服务器1的共享目录挂载到我的/home目录下 就是访问/etc/123.txt下的文件 将它挂载到我的 /home目录下 服务器1的信息,IP,共享目录都会出现在上面弄的/etc/123.txt里面
  4. vim /etc/123.txt 新建一个上面在autofs配置文件中添加的文件
  5. 1234 -type=nfs 172.25.0.25:/123/123 加入该行保存退出 这里的type 跟fstype 意思一样 表示访问 172.25.0.25:/123/123挂载到 我们的/home/1234下。而home下的/etc/123.txt文件写入的内容就是需要访问的服务器1的设置过的NFS共享目录(格式就是服务器1的ip和设置的共享目录172.25.0.25:/123/123) 1234 -type=nfs 172.25.0.25:/123/123 等于 mount -t nfs 172.25.0.25:/123/123 /123
  6. systemctl enable autofs --now 立即启动服务
  7. 验证 ls /home 是空的 cd /home/1234 能进去表示是对的 进去之后ls可查看
  • 总的来说就是我想访问的在/etc/123.txt 文件里面 (是根据要求指定的)而里面写入的共享地址在文件中按格式写的指定挂载到了 home下的 1234 目录下 而1234目录 是这里的来的1234 -type=nfs 172.25.0.25:/123/123(文件的各种中创建得来的)