服务端创建共享目录, 客户端实现自动挂载
第一步 : 客户端,服务端 均关闭安全软件
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@node1 ~]# setenforce 0
[root@node1 ~]# systemctl stop firewalld
第二步 : 安装软件
[root@server ~]# yum nfs-utils -y
[root@server ~]# yum install rpcbind -y
[root@node1 ~]# yum install nfs-utils -y
[root@node1 ~]# yum install rpcbind -y
[root@node1 ~]# yum install autofs -y
注 : 客户端增加一个 自动安装软件 autofs
第三步 : 服务端操作, 编辑配置文件
[root@server ~]# vim /etc/exports # 打开配置文件,添加下示内容
/data *(ro)
比如我们将 共享目录放到 根目录下的data : /data
然后 设为 * 即 任意主机都可访问 ,
第四步 : 服务端操作, 建立共享目录并设置权限
[root@server ~]# mkdir /data
[root@server ~]#
[root@server ~]# chmod -Rf 777 /data
[root@server ~]#
[root@server ~]# echo " this is test " > /data/file.txt
定位到服务端, 创建共享目录 /data , 设置权限为 777 ( 就是给个权限,并不是非要 777 )
不设置权限也行,按照默认的权限也可以 ~!!
我们再添加一句话来显示实验最后做成功能有个 标志 。
第五步 : 服务端操作, 重启服务, 必须先启动 rpcbind ( 注 意这个次序 )
[root@server ~]# systemctl start rpcbind
[root@server ~]#
[root@server ~]# systemctl start nfs-server
[root@server ~]#
[root@server ~]# systemctl enable rpcbind
[root@server ~]# systemctl enable nfs-server
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service ?/usr/lib/systemd/system/nfs-server.service.
[root@server ~]#
注意次序(启动的次序),并设置了 开机启动
第六步 : 客户端操作, 编辑自动挂载的主配置文件,若设计客户端挂载目录为: /nfs/testmnt
[root@node1 ~]# vim /etc/auto.master
.....................
/nfs /etc/auto.nfs # 在第八行添加内容
/nfs : 被挂载的父目录 ,不需要新建
auto.nfs 名称任意
客户端不是要访问到远程的文件 ( 即 访问 服务端的目录 /data ), 那客户端的本地也得有个挂
载目录的, 前面说过了,父和子,两级,我们得设计一下;
比如说,要挂到 /nfs/testmnt , /nfs 就为父目录, testmnt 即为子目录 。
第七步 : 客户端操作,查看共享信息,编写 autofs 的子配置文件
[root@node1 ~]# showmount -e 192.168.229.130
Export list for 192.168.229.130:
/data *
上面的 IP 就是服务端的IP ( 即 谁共享,就写谁的IP )
就可以看到这台服务器( 192.168.229.130 ) 共享的就是 /data 。共享的方式是 * (任意)
[root@node1 ~]# vim /etc/auto.nfs
testmnt 192.168.229.130:/data
编写自动挂载的子配置文件, 别忘了,我们之前在主配置文件已经声明了 存储路径和名称
/etc/auto.nfs ( 这个文件目前还没存在,所以我们得创建 vim 即可)
在子配置文件里,再进行编辑 ( 被挂载的子目录 即 testmnt, 和 被挂载的服务器的IP 及目录
/data )
第八步 : 客户端操作,启动服务,测试触发自动挂载
[root@node1 ~]# systemctl start autofs
[root@node1 ~]# ls /
afs dev lib misc nfs proc sbin tmp
bin etc lib64 mnt nfsfile_khd root srv usr
boot home media net opt run sys var
[root@node1 ~]#
我们使用 ls / 展示出来的 便有一个 是 nfs
而 nfs 这个目录 ,我们上面有进行 mkdir 创建嘛 ????
===>>>
没有~!!!! 我们并没有主动创建 nfs 这个目录
那为什么会显示出来 有 nfs 这个目录呢 ???
===>>>
注意,前面也讲过,只要重启 auto自动挂载服务,父目录则会自动创建~!!!
现在用 df -h 这个命令 查看下
===>>>
我们并没有找到 /data 这个目录, 那就说明没有挂载上 ~!!!
那关键问题就来了, 怎样触发 自动挂载呢 ??
===>>>
只有一个方式,就是 进入子目录( cd 子目录) 只要 cd 进去,那就自动挂载上了 ~!!!
===>>>
[root@node1 ~]# cd /nfs # 进父目录
[root@node1 nfs]# ls # 看父目录里有啥
[root@node1 nfs]# # 啥都没有
[root@node1 nfs]#
[root@node1 nfs]# cd testmnt # 进入子目录
[root@node1 testmnt]# ls # 显示有文件,说明 自动挂载成功
file.txt
[root@node1 testmnt]# cat file.txt
this is test
[root@node1 testmnt]# cd
我们先进了父目录, 浏览下,里面啥都没有, 然后,便是关键一步, 我们在父目录里进入子目录
( testmnt ) ,再浏览下,便显示出 file.txt ,我们查看 file.txt 便显示了我们最前面讲的,验证自动
挂载成功的标志的那句话 ~!!
这就充分说明了 自动挂载成功 ~!!!!( 就在 cd 子目录 那一刻便成功了 )
cd 子目录,自动挂载成功,其实 cd 进去的不是客户端上的目录, 而是远程服务端的 /data 目录
上示最后一行的 cd 命令 是表示 : 只要 执行了 cd 命令 随便切换到其它什么目录,那么自动挂载就会在五分钟后卸载掉 ~!!!