Linux中文件挂载有三种方法:
①手动挂载
mount 设备名 挂载点目录
②开机自动挂载
vim /etc/fstab
③ Autofs 自动挂载
前两种挂载方式不做细谈,今天主要谈谈autofs自动挂载方式
Autofs介绍:
1)mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;
2)但是光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。虽然光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载。
3)因此,autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统。免去我们手动挂载的麻烦。要实现光驱,软盘等的动态自动挂载,需要进行相关的配置。
Autofs特点:
1)Autofs与Mount/Umount的不同之处在于,它是一种看守程序。如果它检测到用户正试图访问一个尚未挂接的文件系统,它就会自动检测该文件系统,如果存在,那么Autofs会自动将其挂接。
2)另一方面,如果它检测到某个已挂接的文件系统在一段时间内没有被使用,那么Autofs会自动将其卸载。因此一旦运行了Autofs后,用户就不再需要手动完成文件系统的挂接和卸载。
Autofs常用配置:
Autofs需要从/etc/auto.master文件中读取配置信息。该文件中可以同时指定多个挂接点,由Autofs来挂接文件系统。文件中的每个挂接点单独用一行来定义,每一行可包括3个部分,分别用于指定挂接点位置,挂接时需使用的配置文件及所挂接文件系统在空闲多长时间后自动被卸载(可选)。例如在文件中包括了如下一行(亦或如图所示):
/auto /etc/auto.misc --timeout 60
其中第一部分指定一个安装点为/auto,第二部分指定该挂接点的配置文件为/etc/auto.misc,第三部分指定所挂接的文件系统在空闲60秒后自动被卸载。(可选)
文件/etc/auto.misc的示例如下:
cd -fstype=iSO9660,ro :/dev/cdrom
文件每一行都说明某一个文件系统如何被挂接。每一行的第一个值为触发条件,第二个值-fstype是一个可选项,用来表明所挂接的文件系统的类型和挂接选项,在mount命令中能使用的挂接选项同样适用于-fstype。第三个值中的:代表本机的目录中,如果是其他服务器或主机共享的文件,只需要在:前面写上服务器端的IP即可;
三步走配置
1、安装自动挂载软件包autofs
2、根据要求配置主配置文件/etc/auto.master,如:
/misc /etc/auto.misc (挂载点目录不需要创建,默认重启服务就会显示该目录)
3、进入创建的配置文件进行配置
cd -fstype=xfs ,ro,nosuid,nodev :/dev/cdrom
实战演练
题目要求:通过搭建NFS服务器,将/nfs/shared目录共享给客户端,客户端根据服务端所共享的文件目录,利用autofs自动挂载到自定义的目录上
①服务端准备将要共享的目录文件,并在客户端查看服务端共享过来的目录文件
②装包autofs
③主配置文件中的配置如下:
④配置自定义的文件
⑤重启服务autofs,并进入挂载点目录进行验证:
附加:部分挂接选项
auto - 在启动时或键入了 mount -a 命令时自动挂载。
noauto - 只在你的命令下被挂载。
exec - 允许执行此分区的二进制文件。
noexec - 不允许执行此文件系统上的二进制文件。
ro - 以只读模式挂载文件系统。
rw - 以读写模式挂载文件系统。
user - 允许任意用户挂载此文件系统,若无显示定义,隐含启用 noexec, nosuid, nodev 参数。
users - 允许所有 users 组中的用户挂载文件系统.
nouser - 只能被 root 挂载。
owner - 允许设备所有者挂载.
sync - I/O 同步进行。
async - I/O 异步进行。
dev - 解析文件系统上的块特殊设备。
nodev - 不解析文件系统上的块特殊设备。
suid - 允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限。
nosuid - 禁止 suid 操作和设定 sgid 位。
noatime - 不更新文件系统上 inode 访问记录,可以提升性能(参见 atime 参数)。
nodiratime - 不更新文件系统上的目录 inode 访问记录,可以提升性能(参见 atime 参数)。
relatime - 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能(参见 atime 参数)。
flush - vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失。
defaults - 使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async.
以上命令未免出现一些敲写上的失误,建议参考者多用tab键,若是vim中的配置,那就用自个金手指破解