自动挂载服务 autofs
autofs是一种看守程序。它能够根据配置文件自动挂载和卸载文件系统。
- 挂载文件系统:如果它检测到用户正在访问一个尚未挂载的文件系统时,它就会自动检测该文件系统,如果存在,那么autofs会自动将其挂载。
- 卸载文件系统:如果它检测到某个已经挂载的文件系统在一段时间内没有被使用,那么它会自动将其卸载。
autofs相比mount/umount,不需要用户手动完成文件系统的挂载和卸载。
直接开始操作
首先安装autofs包
yum install autofs -y
然后得到我们需要的包
[root@server155 ~]# rpm -ql autofs
/etc/auto.master
/etc/auto.master.d
/etc/auto.misc
/etc/auto.net
/etc/auto.smb
/etc/autofs.conf
/etc/autofs_ldap_auth.conf
/etc/sysconfig/autofs
创建等下需要测试的目录
[root@server155 ~]# mkdir /test
[root@server155 ~]# ls /test/
然后编写auto.master配置文件,在空白出加入/test /etc/auto.misc
/test是挂载的目录的上一级目录,必须要存在,所以记得提前创建
/etc/auto.misc是指定的挂载目录的配置文件,也可以指定其它文件,指定哪个文件就在哪个文件填写配置信息
[root@server155 ~]# vim /etc/auto.master
/test /etc/auto.misc
可以用blkid命令查看自己有哪些可以挂载的磁盘
[root@server155 ~]# blkid
/dev/sr0: UUID="2020-11-04-11-36-43-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda1: UUID="c41789ad-aff1-4f7e-a7b8-029d237798c3" TYPE="xfs"
/dev/sda2: UUID="8GF8qs-fpKv-jb9y-vmB3-NFuQ-m1Y7-px4hbp" TYPE="LVM2_member"
/dev/sdb: UUID="VROdkF-0f3D-gmnL-i0ml-jYyQ-IRtJ-HezASV" TYPE="LVM2_member"
/dev/mapper/centos-root: UUID="150c47f7-da85-4e1d-aa58-0d4d241d2898" TYPE="xfs"
/dev/sdc: UUID="WKf792-KpBw-pRqe-pZ11-4PbB-tMNg-p6SBdj" TYPE="LVM2_member"
/dev/mapper/centos-swap: UUID="8a159998-5b97-44cd-9a71-9947083c122e" TYPE="swap"
/dev/mapper/myvg-lv_mysql: UUID="8961a7de-1f5e-4f74-9c74-cc402aaf1eaa" TYPE="xfs"
/dev/mapper/myvg-lv_web: UUID="d513618c-ec8a-485b-b711-8c8b6da917c3" TYPE="ext4"
/dev/mapper/myvg-lv_other: UUID="94E8-F8A3" TYPE="vfat"
然后编写/etc/auto.misc文件,这里我要挂载xfs类型磁盘分区的/dev/mapper/myvg-lv_mysql
在空白处加入配置文件
mysql是我们要挂载的目录,-fstype=xfs是磁盘的类型,/dev/mapper/myvg-lv_mysql是磁盘的位置
:前面可以填ip,就是说可以远程挂载,不填就是默认本机的目录地址
[root@server155 ~]# vim /etc/auto.misc
mysql -fstype=xfs :/dev/mapper/myvg-lv_mysql
#game -fstype=nfs4 192.168.121.161:/mount/game
然后重启就可以了
下面测试一下
[root@server155 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 485824 0 485824 0% /dev
tmpfs 497744 0 497744 0% /dev/shm
tmpfs 497744 51476 446268 11% /run
tmpfs 497744 0 497744 0% /sys/fs/cgroup
/dev/mapper/centos-root 49893580 7569440 42324140 16% /
/dev/sda1 406180 147428 258752 37% /boot
tmpfs 99552 0 99552 0% /run/user/0
/dev/sr0 4600876 4600876 0 100% /var/www/pxe/iso/centos7
[root@server155 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 51M 436M 11% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root 48G 7.3G 41G 16% /
/dev/sda1 397M 144M 253M 37% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 4.4G 4.4G 0 100% /var/www/pxe/iso/centos7
[root@server155 ~]# ls /test
[root@server155 ~]# systemctl restart autofs.service
[root@server155 ~]# cd /test/mysql
[root@server155 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 51M 436M 11% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root 48G 7.3G 41G 16% /
/dev/sda1 397M 144M 253M 37% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 4.4G 4.4G 0 100% /var/www/pxe/iso/centos7
/dev/mapper/myvg-lv_mysql 12G 46M 12G 1% /test/mysql
[root@server155 mysql]# ls /test
mysql
从测试可以看出来,只要访问到那个目录,那个目录就会自动被挂载上去
默认五分钟没有访问的时候就又会自动取消挂载
这样就配置好了