Autofs自动挂载服务
Autofs自动挂载服务
Autofs简介
mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载。而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统。免去我们手动挂载的麻烦。要实现光驱,软盘等的动态自动挂载,需要进行相关的配置
Autofs特点
-
优点
autofs是一个守护进程,它会在后台检测用户是否要访问某一个还未挂载的文件系统,autofs会自动检测该文件系统是否存在,如果存在则进行挂载,如果用户过了一段时间还没有使用该文件系统,autofs自动将其卸载,节省人力维护的成本,以及节省服务器资源
-
缺点
当用户请求时候才挂载文件系统,如果高并发的业务场景,大量的用户并发访问文件系统,autofs突然进行大量挂载,会给服务器造成很大的压力,一次一些高并发场景下,宁愿保持持续挂载,也不用
安装Autofs服务
[root@localhost ~]# yum -y install autofs
Updating Subscription Management repositories.
Last metadata expiration check: 0:09:58 ago on Sun 14 Mar 2021 08:41:40 PM CST.
Dependencies resolved.
====================================================================================
Package Architecture Version Repository Size
====================================================================================
Installing:
autofs x86_64 1:5.1.4-43.el8 base 781 k
====================================================================================
Install 1 Package
Total download size: 781 k
Installed size: 3.6 M
Downloading Packages:
autofs-5.1.4-43.el8.x86_64.rpm 1.8 MB/s | 781 kB 00:00
------------------------------------------------------------------------------------
Total 1.8 MB/s | 781 kB 00:00
Running transaction check
Running transaction
Preparing : 1/1
Installing : autofs-1:5.1.4-43.el8.x86_64 1/1
Installed products updated.
Installed:
autofs-1:5.1.4-43.el8.x86_64
Complete!
//设置开机自启
[root@localhost ~]# systemctl start autofs
[root@localhost ~]# systemctl enable autofs
Created symlink /etc/systemd/system/multi-user.target.wants/autofs.service → /usr/lib/systemd/system/autofs.service.
修改配置文件(主配置+子配置)
autofs服务程序的主配置文件中需要按照挂载目录 子配置文件的格式写入参数。挂载目录是设备要挂载位置的上一级目录
设备一般是挂载到/media/cdrom目录中的,那么此处就应该写成/media即可,而对应的子配置文件则是对这个目录内挂载设备信息的进一步说明,配置文件是需要用户自行定义的
定义主配置文件
[root@localhost ~]# vim /etc/auto.master
#
# Sample auto.master file
# This is a 'master' automounter map and it has the following format:
# mount-point [map-type[,format]:]map [options]
# For details of the format look at auto.master(5).
#
/misc /etc/auto.misc
/media /etc/cdrom.misc #添加这行配置
定义子配置文件
子配置文件中应按照“挂载目录 挂载文件类型及权限 :设备名称”的格式写入参数
把设备挂载到/media/cdrom目录中,则此时写iso即可,而-fstype为文件系统格式参数,iso9660为光盘系统设备格式,ro、nosuid及nodev为光盘设备具体的权限参数,最终/dev/cdrom则是定义要挂载的设备名称
[root@localhost ~]# vim /etc/cdrom.misc
cdrom -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
//重启autofs
[root@localhost ~]# systemctl restart autofs
测试
//查看挂载情况
#cdrom没有被挂载
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 883M 0 883M 0% /dev
tmpfs 901M 0 901M 0% /dev/shm
tmpfs 901M 17M 884M 2% /run
tmpfs 901M 0 901M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 47G 1.9G 46G 4% /
/dev/sda1 1014M 179M 836M 18% /boot
tmpfs 181M 0 181M 0% /run/user/0
//进入media/cdrom触发挂载
[root@localhost ~]# cd /media/cdrom
[root@localhost cdrom]# ls
AppStream EULA images RPM-GPG-KEY-redhat-beta
BaseOS extra_files.json isolinux RPM-GPG-KEY-redhat-release
EFI GPL media.repo TRANS.TBL
#可以看到cdrom被挂载
[root@localhost cdrom]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 883M 0 883M 0% /dev
tmpfs 901M 0 901M 0% /dev/shm
tmpfs 901M 17M 884M 2% /run
tmpfs 901M 0 901M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 47G 1.9G 46G 4% /
/dev/sda1 1014M 179M 836M 18% /boot
tmpfs 181M 0 181M 0% /run/user/0
/dev/sr0 7.9G 7.9G 0 100% /media/cdro