细说AutoFs自动挂载服务

图片发自App

AutoFs服务程序与Mount命令不同之处在于它是一种守护进程,只有检测到用户试图访问一个尚未挂载的文件系统时才自动的检测并挂载该文件系统。

Autofs非常方便,主要有两点:
1、设置开机不一定要挂载的目录,当用的时候才实现自动挂载。
2、用户不使用自动挂载的目录一段的时间,会自动卸载。(默认时间为5分钟)

一、安装服务

[root@localhost ~]# yum -y install autofs
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel7                                                    | 4.1 kB     00:00     
(1/2): rhel7/group_gz                                      | 134 kB   00:00     
(2/2): rhel7/primary_db                                    | 3.4 MB   00:00     
Resolving Dependencies
--> Running transaction check
---> Package autofs.x86_64 1:5.0.7-40.el7 will be installed
--> Processing Dependency: libhesiod.so.0()(64bit) for package: 1:autofs-5.0.7-40.el7.x86_64
--> Running transaction check
---> Package hesiod.x86_64 0:3.2.1-3.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch            Version                   Repository      Size
================================================================================
Installing:
 autofs          x86_64          1:5.0.7-40.el7            rhel7          550 k
Installing for dependencies:
 hesiod          x86_64          3.2.1-3.el7               rhel7           30 k

Transaction Summary
================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 579 k
Installed size: 3.6 M
Downloading packages:
--------------------------------------------------------------------------------
Total                                              3.6 MB/s | 579 kB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : hesiod-3.2.1-3.el7.x86_64                                    1/2 
  Installing : 1:autofs-5.0.7-40.el7.x86_64                                 2/2 
rhel7/productid                                          | 1.6 kB     00:00     
  Verifying  : hesiod-3.2.1-3.el7.x86_64                                    1/2 
  Verifying  : 1:autofs-5.0.7-40.el7.x86_64                                 2/2 

Installed:
  autofs.x86_64 1:5.0.7-40.el7                                                  

Dependency Installed:
  hesiod.x86_64 0:3.2.1-3.el7                                                   

Complete!
[root@localhost Desktop]# 
图片发自App

二、修改配置文件(主配置+子配置)

autofs服务程序的主配置文件中需要按照“挂载目录 子配置文件”的格式写入参数。挂载目录是设备要挂载位置的上一级目录,例如咱们的光盘设备一般是挂载到/media/cdrom目录中的,那么此处就应该写成/media即可,而对应的子配置文件则是对这个目录内挂载设备信息的进一步说明,子配置文件是需要用户自行定义的,文件名字没有严格要求,具体的配置参数如第8行加粗字所示。

 [root@localhost ~]# vim /etc/auto.master
  1 #
  2 # Sample auto.master file
  3 # This is an automounter map and it has the following format
  4 # key [ -mount-options-separated-by-comma ] location
  5 # For details of the format look at autofs(5).
  6 #
  7 /misc   /etc/auto.misc
  8 /media /etc/cdrom.misc
--------省略部分输出------------

子配置文件中应按照“挂载目录 挂载文件类型及权限 :设备名称”的格式写入参数,例如想要把设备挂载到/media/cdrom目录中,则此时写iso即可,而-fstype为文件系统格式参数,iso9660为光盘系统设备格式,ro、nosuid及nodev为光盘设备具体的权限参数,最终/dev/cdrom则是定义要挂载的设备名称,配置完成后顺手再把autofs服务程序启动并加入到开机启动项中吧:

[root@localhost ~]# vim /etc/cdrom.misc
cdrom   -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
[root@localhost ~]# systemctl restart autofs
[root@localhost ~]# systemctl enable autofs
ln -s '/usr/lib/systemd/system/autofs.service' '/etc/systemd/system/multi-user.target.wants/autofs.service'
图片发自App

接下来会就要发生一幕非常有趣的事情了,先来查看下当前的设备挂载情况,确认光盘设备目前是没有被挂载使用的,而且在/media目录中根本就没有一个cdrom子目录,但却可以通过cd命令切换进去,同时光盘设备会被立即自动挂载上,咱们也就能顺利的查看到光盘内的所有内容了。

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 140K 914M 1% /dev/shm
tmpfs 914M 8.9M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sda1 497M 119M 379M 24% /boot
[root@localhost ~]# cd /media
[root@localhost media]# ls
[root@localhost media]# cd cdrom
[root@localhost cdrom]# ls -l
total 812
dr-xr-xr-x. 4 root root 2048 May 7 2017 addons
dr-xr-xr-x. 3 root root 2048 May 7 2017 EFI
-r--r--r--. 1 root root 8266 Apr 4 2017 EULA
-r--r--r--. 1 root root 18092 Mar 6 2012 GPL
dr-xr-xr-x. 3 root root 2048 May 7 2017 images
dr-xr-xr-x. 2 root root 2048 May 7 2017 isolinux
dr-xr-xr-x. 2 root root 2048 May 7 2017 LiveOS
-r--r--r--. 1 root root 108 May 7 2017 media.repo
dr-xr-xr-x. 2 root root 774144 May 7 2017 Packages
dr-xr-xr-x. 24 root root 6144 May 7 2017 release-notes
dr-xr-xr-x. 2 root root 4096 May 7 2017 repodata
-r--r--r--. 1 root root 3375 Apr 1 2017 RPM-GPG-KEY-redhat-beta
-r--r--r--. 1 root root 3211 Apr 1 2017 RPM-GPG-KEY-redhat-release
-r--r--r--. 1 root root 1568 May 7 2017 TRANS.TBL
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 140K 914M 1% /dev/shm
tmpfs 914M 8.9M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/cdrom 3.5G 3.5G 0 100% /media/cdrom
/dev/sda1 497M 119M 379M 24% /boot
  • 练习题
    环境:
    两台REHLL7 linux系统,客户端IP:172.16.24.1,服务器IP:172.16.24.3,
    实验步骤:
  1. 服务器配置NFS
  2. 客户端配置Autofs

配置 autofs
描述:本机 172.16.24.1 可自动挂载由主机 172.16.24.3 提供的家目录: /home/guests/ldapuser1。

配置步骤:
服务器配置

  1. 安装nfs-utlis包
  2. 修改配置文件/etc/exports,可以按照共享目录的路径 允许访问的NFS资源客户端(共享权限参数)的格式来写入参数,定义要共享的目录与相应的权限。
    客户端配置
  3. 安装autofs包
  4. 修改主配置文件和子配置文件

你可能感兴趣的:(细说AutoFs自动挂载服务)