在一般NFS文件系统的使用过程中,如果客户端要使用服务端所提供的文件系统,可以在/etc/rc.d/rc.local中设置开机时自动挂载(/etc/rc.d/rc.local文件中写入的命令,在每次启动系统用户登录之前都会执行一次);也可以在登录系统后手动利用mount来挂载。

由于网络的问题,NFS服务器与客户端的连接不会一直存在,当我们挂载了NFS服务器之后,任何一方脱机都可能造成另外一方等待超时。为了解决这样的问题,就出现了下面的想法:

1、当客户端在有使用NFS文件系统的需求时才让系统自动挂载。

2、当NFS文件系统使用完毕后,让NFS自动卸载。

于是就产生了autofs这个服务。

autofs这个服务是在客户端的上面,它会持续的检测某个指定的目录,并预先设置当使用到该目录的某个子目录时,将会取得来自服务器端的NFS文件系统资源,并进行自动挂载的操作。

NFS服务端(192.168.9.131):

关闭防火墙和selinux:

[root@localhost data]# systemctl stop firewalld

[root@localhost data]# setenforce 0                                                          

 这里是搭建一个NFS服务器:

[root@localhost ~]# yum install rpcbind

[root@localhost ~]# yum install nfs-utils

[root@localhost ~]# vim /etc/exports

/data   *(ro)

[root@localhost ~]# mkdir /data

[root@localhost data]# echo this is ceshi > /data/ceshi

[root@localhost ~]# systemctl restart rpcbind                           //重启NFS服务

NFS[root@localhost ~]# systemctl restart nfs

客户端:

[root@client ~]# yum install autofs -y                                   //装包

1、在主配置文件里面指定被检测的特定目录为/nfs(该目录不需要事先存在,因为autofs会主动建立该目录),对应的数据文件是/etc/auto.nfs(该文件名可自定义) 

[root@localhost ~]# vim /etc/auto.master

/nfs    /etc/auto.nfs

2、建立数据对应文件内(/etc/auto.nfs)的挂载信息与服务器对应的资源,该文件是自己创建的。该文件的格式如下:

本地端子目录

[-挂载参数]

服务器所提供的目录

本地端子目录表示你要将服务器所提供的目录挂载在客户端的/nfs的目录名

挂载参数可不写

参数

参数功能

默认参数

fg

bg

当执行挂载时,该挂载行为会在前台(fg)还是后台(bg)执行,若在前台执行,则mount会持续尝试挂载,直到成功或time out为止;若为后台执行,则mount会在后台持续多次进行mount,而不会影响到前台的程序运行。

fg

soft

hard

hard表示当两者之间的任何一台主机脱机,则RPC会持续地呼叫,直到对方恢复连接为止。如果是soft的话,那RPC会在time out后重复呼叫,而非持续呼叫

hard

intr

当使用上面提到的hard方式挂载时,若加上intr这个参数,则当RPC持续呼叫时,该次的呼叫是可以被中断的

rsize

wsize

读出(rsize)与写入(wsize)的区块大小。这个设置值可以影响客户端与服务器端传输数据的缓冲记忆容量

rsize=1024(bytes)

wsize=1024(bytes)

[root@localhost ~]# vim /etc/auto.nfs

guazai  172.24.8.128:/data                                                 

 [root@localhost ~]# systemctl restart autofs

[root@localhost ~]# mount | grep /nfs 

/etc/auto.nfs on /nfs type autofs (rw,relatime,fd=12,pgrp=4598,timeout=300,minproto=5,maxproto=5,indirect)

3、触发自动挂载

[root@localhost ~]# cd /nfs/guazai/     //这个目录名即本地端子目录 ,不需要创建当访问它时会执行自动挂载操作

注:实验没有设置防火墙和selinux,如果实验不成功,务必检查关闭防火墙和selinux,还有重启服务。 

 

 

 

 posted on 2019-12-18 10:17  嚴∞帅  阅读(83)  评论(0编辑  收藏  举报