简介
autofs是一种看守程序。如果它检测到用户试图访问一个尚未挂载的文件系统,它就会自动检测该文件系统,如果存在,那么autofs就会自动将其挂载;如果它检测到某个已挂载的文件系统在一段时间内没有被使用,那么Autofs会自动将其卸载。因此一旦运行了Autofs后,用户就不再需要手动完成文件系统的挂接和卸载。
安装
yum -y install autofs.x86_64
帮助文档
man 5 autofs
主配置文件
/etc/auto.master
主配置文件格式
mount-point [map-type[,format]:]map [options]
mount-point:挂载点的上一级目录
map:挂载点对应的子映射文件的名称
map-type:系统支持的映射类型的一种;如file,program,yp,nisplus,hesiod,ldap或ldaps,multi,dir。
format:映射数据的格式,有sun,hesiod和amd。
options:应用于子映射中所有条目的选项。如下
选项 | 说明 |
---|---|
-strict | 将挂载文件系统时的错误视为致命错误。 当需要挂载多个文件系统时, 如果给出了这个选项,如果至少有一个文件系统不能被挂载,则根本不会挂载任何文件系统 |
[no]browse | 这是autofs的特定选项,使用这个选项会为间接映射预先创建挂载点目录。举个例子,如果挂载点是/disk/share,默认使用的是nobrowse,当访问目录/disk时,目录中不会有share目录,当使用browse选项后,访问/disk目录时,会出现share目录。另外,如果间接映射的文件量很大,使用browse会有性能问题 |
symlink | 使挂载使用符号链接而不是实际的绑定挂载。只可以在间接挂载中使用。 |
strictexpire | 为此挂载使用严格的过期策略。 |
slave或private | 此选项允许将绑定挂载的挂载传播设置为从属或私有。 当使用具有绑定到传播共享文件系统的绑定挂载的多挂载时,可能需要此选项。 这是因为绑定挂载将具有与其目标相同的属性,这会导致偏移挂载出现问题。 当发生这种情况时,不需要的偏移量安装会传播回目标文件系统,从而在尝试访问偏移量时导致死锁。此选项只能在主映射中使用。 默认情况下,绑定挂载将继承目标文件系统的挂载传播。 |
-r, –random-multimount-selection | 从复制服务器列表中选择主机时启用随机选择。 此选项仅应用于此挂载,覆盖可能在命令行上指定的全局设置。 |
-w, –use-weight-only | 如果在映射条目中指定了多个服务器,则仅对服务器选择使用指定的权重。 如果没有给出服务器权重,则将按列出的顺序尝试每个可用的服务器。 |
-t, –timeout <seconds> | 设置映射条目的过期超时。此选项可用于覆盖在命令行或配置中给出的全局默认值。 |
-n, –negative-timeout <seconds> | 设置缓存失败的密钥查找的超时时间。此选项可用于覆盖在命令行或配置中给出的全局默认值。 |
–mode <octal_mode> | 为 autofs 挂载点的基本位置设置目录模式。如果这个选项是给定的,autofs 将用这个模式 chmod 那个目录。 |
子配置文件格式
key [-options] location
key:对于间接挂载,这是挂载点末级文件夹。对于直接挂载,这是挂载点的全路径名。
options的选项 | 说明 |
---|---|
-fstype | 如果文件系统不是默认的NFS类型,则使用该选项指定文件类型。 |
-strict | 在挂载多个文件系统时使用,如果给出了这个选项,则当至少有一个文件系统不能被挂载时,所有的文件系统都不会被挂载。 |
use-weight-only | 当条目中存在多个服务器时,使用权重的方式选择服务器。 |
no-use-weight-only | 用户否定上述的权重方式。 |
location:指定了被挂载的文件系统的位置。通常情况是NFS卷,或是使用host:pathname的形式用于指示要挂载的远程文件系统和路径。如果要挂载的文件系统以/开头(例如/dev)则需要以:为前缀。自动挂载两种方式
准备环境
centos8-01为客户端,centos8-02为nfs服务器,关闭防火墙和selinux。
systemctl stop firewalld;systemctl disable firewalld;setenforce 0;sed -ir ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
间接挂载
客户端和nfs服务器都安装 nfs-utils ,启动服务并设置为开机自启
yum -y install nfs-utils
systemctl start nfs-server;systemctl enable nfs-server
客户端安装 autofs,启动服务并设置为开机自启
yum -y install autofs
systemctl start autofs;systemctl enable autofs
nfs服务器创建共享目录即测试文件001
mkdir -p /nfsserver/day01;touch /nfsserver/day01/001
nfs服务器修改nfs配置;all_squash使得客户端的用户访问共享目录时全部以匿名用户nobody
vim /etc/exports
/nfsserver/day01 192.168.174.0/24(rw,all_squash)
重新加载配制文件并查看
exportfs -r;exportfs -v
重启nfs-server服务
systemctl restart nfs-server
修改共享文件夹权限,使得客户端用户拥有创建修改删除共享目录内容的权限
chmod -R 757 /nfsserver/day01/
chown -R nobody:nobody /nfsserver/day01/
客户端创建nfs共享目录挂载点;挂载点至少是两级目录,一级目录用来监控,二级目录时挂载点
mkdir -p /client/test01
修改autofs配置文件
vim /etc/auto.master
vim /etc/auto.misc
重启autofs服务
systemctl restart autofs
验证autofs配置
mount | grep test01
直接挂载
主配置文件 /etc/auto.master 中挂载点固定为 /- ,表示使用绝对路径
子配置文件 /etc/auto.misc 中key为挂载点的绝对路径