autofs自动挂载

autofs可以实现自动挂载,需要定义挂载的规则,实现当用户访问需要挂载的文件时自动挂载,挂载的规则需要定在配置文件中。

autofs的配置文件

要实验自动挂载依赖于autofs包,查看autofs相关的配置文件

[wang@111 ~]$ rpm -ql autofs
/etc/auto.master        #定义挂载规则的配置文件
/etc/auto.master.d
/etc/auto.misc          #定义挂载规则的配置文件

autofs的挂载路径有两种格式

相对路径挂载

在/etc/auto.master中写入挂载路径的dirname和子配置文件路径

dirname         /path/to/subconf

在子配置文件中写入挂载点的basename、文件系统类型、所要挂载的设备

basename      FSTYPE       MOUNT_DEVICE

实现自动挂载

访问本机的/data/nfs1时自动挂载192.168.73.110:/data/nfs1

服务器设置

创建共享目录,修改配置文件并生效

[root@localhost ~]# mkdir /data/nfs1
[root@localhost ~]# vim /etc/exports
/data/nfs1 192.168.73.111(rw,async,no_root_squash)
[root@localhost ~]# exportfs -r
[root@localhost ~]# exportfs -v
/data/nfs1      192.168.73.111(async,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

客户端挂载

1.修改配置文件定义父目录

/data   /etc/auto.misc

2.修改子配置文件定义basename和挂载设备

[root@111 ~]# vim /etc/auto.misc 
nfs1    -fstype=nfs     192.168.73.110:/data/nfs1

3.重启服务

[root@111 ~]# systemctl restart autofs

4.测试

[root@111 nfs1]# cd /data/nfs1
[root@111 nfs1]# ls
123  aaa  wang
[root@111 nfs1]# ll
total 0
-rw-r--r-- 1       998       996 0 May 19 06:08 123
-rw-r--r-- 1 nfsnobody nfsnobody 0 May 19 05:59 aaa
-rw-rw-r-- 1 wang      wang      0 May 19 05:29 wang

autofs在配置文件中自定义了nfs的挂载规则,所以无需自己定义也可以直接访问
查看配置文件

[root@111 nfs1]# vim /etc/auto.master
/net    -hosts

使用方法

#查看远程主机时候有共享目录
[root@111 nfs1]# showmount -e 192.168.73.110
Export list for 192.168.73.110:
/data/wanghome *
/data/nfs1     192.168.73.111
#直接使用
[root@111 net]# ls /net/192.168.73.110
data

绝对路径挂载

由于相对相对路径挂载时在定义挂载的主配置文件中定义了dirname,所以dirname所在的目录下所有的目录都归autofs管理,从而产生了无法看到dirname目录下除挂载目录外其他目录的情况,解决方法使用绝对路径。
绝对路径的使用方法
在主配置文件中使用/-和子配置文件目录

/-          /dir/to/subconf

在子配置文件中写入完整的挂载路径、文件系统类型和所要挂载的设备

FULL_PATH      FSTYPE       MOUNT_DEVICE

自动挂载实现

服务器端的wanghome挂载到本机的home

服务器端配置

1.创建wanghome目录,并复制模板文件至家目录

[root@localhost nfs1]# mkdir /data/wanghome
[root@localhost ~]# cp -r /etc/skel/. /data/wanghome/
[root@localhost ~]# chown -R wang.wang /data/wanghome/
[root@localhost ~]# touch /data/wanghome/test   #创建一个测试文件

2.修改配置文件

[root@localhost nfs1]# vim /etc/exports.d/wang.exports
/data/wanghome *(rw)
[root@localhost nfs1]# exportfs -r
[root@localhost nfs1]# exportfs -v
/data/wanghome  (sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

客户端配置

1.修改主配置文件

[root@111 home]# vim /etc/auto.master
/-      /etc/auto.misc

2.修改子配置文件

[root@111 home]# vim /etc/auto.misc 
/home/wang      -fstype=nfs     192.168.73.110:/data/wanghome

3.重启服务测试

[root@111 wang]# systemctl restart autofs
[root@111 wang]# ls
test        #已经挂载
#查看父目录
[root@111 wang]# cd ..
[root@111 home]# ls
masuri  wang        #父目录下的用户全都存在