autofs自动挂载

 配置所需清单:

  1. rehl9虚拟机 ip: 192.168.96.101 【Client】
  2. 准备好本地yum源仓库

普通autofs挂载

autofs是什么?最简单的描述:我什么时候想用,什么时候挂载,我不用的时候,自动取消挂载,不占用系统资源

配置软件仓库 【注意保证镜像文件处于已连接的状态下】
[root@Client ~]# df  【由此可得,我们的镜像文件并没有挂载上去】
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs         1414992       0   1414992   0% /dev
tmpfs            1447688       0   1447688   0% /dev/shm
tmpfs             579076    8812    570264   2% /run
/dev/nvme0n1p3 102197500 6650956  95546544   7% /
/dev/nvme0n1p1    506528  270960    235568  54% /boot
tmpfs             289536     104    289432   1% /run/user/0
[root@Client ~]# echo "/dev/cdrom /mnt/cdrom auto defaults 0 0">> /etc/fstab 
【直接将挂载写入永久配置】
[root@Client ~]# mkdir /mnt/cdrom
[root@Client ~]# mount -a 
mount: /mnt/cdrom: WARNING: source write-protected, mounted read-only.
得到只读信息后,可通过df再次查看
[root@Client ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs         1414992       0   1414992   0% /dev
tmpfs            1447688       0   1447688   0% /dev/shm
tmpfs             579076    8812    570264   2% /run
/dev/nvme0n1p3 102197500 6650936  95546564   7% /
/dev/nvme0n1p1    506528  270960    235568  54% /boot
tmpfs             289536     104    289432   1% /run/user/0
/dev/sr0         8377364 8377364         0 100% /mnt/cdrom

由此可以看到,镜像文件已经被我们挂载在/mnt/cdrom目录上了
此时可以进入到/etc/yum.repos.d/下编写.repo结尾的仓库文件
[root@Client ~]# vim /etc/yum.repos.d/dvd.repo
[Baseos]
name=BaseOS
baseurl=file:///mnt/cdrom/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///mnt/cdrom/AppStream
enabled=1
gpgcheck=0 
【此处密钥校验若想开启,只需在/mnt/cdrom/下找到密钥文件即可
RPM-GPG-KEY-redhat-beta
RPM-GPG-KEY-redhat-release
添加时,只需使用一个即可,推荐使用RPM-GPG-KEY-redhat-release
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release】

准备工作就绪后,便可以开始安装autofs的安装包,他和nfs一样,不仅是一个安装包也是一个服务,可以根据规则自动挂载和卸载

[root@Client ~]# dnf install autofs -y
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

Last metadata expiration check: 0:34:41 ago on Mon 08 Jul 2024 01:24:05 PM CST.
Dependencies resolved.
=================================================================================================================================================================
 Package                                  Architecture                      Version                                      Repository                         Size
=================================================================================================================================================================
Installing:
 autofs                                   x86_64                            1:5.1.7-27.el9                               BaseOS                            387 k
Installing dependencies:
 libsss_autofs                            x86_64                            2.6.2-2.el9                                  BaseOS                             39 k

Transaction Summary
=================================================================================================================================================================
Install  2 Packages

Total size: 426 k
Installed size: 1.1 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                         1/1 
  Installing       : libsss_autofs-2.6.2-2.el9.x86_64                                                                                                        1/2 
  Installing       : autofs-1:5.1.7-27.el9.x86_64                                                                                                            2/2 
  Running scriptlet: autofs-1:5.1.7-27.el9.x86_64                                                                                                            2/2 
  Verifying        : autofs-1:5.1.7-27.el9.x86_64                                                                                                            1/2 
  Verifying        : libsss_autofs-2.6.2-2.el9.x86_64                                                                                                        2/2 
Installed products updated.

Installed:
  autofs-1:5.1.7-27.el9.x86_64                                                  libsss_autofs-2.6.2-2.el9.x86_64                                                 

Complete!
[root@Client etc]# systemctl enable --now autofs.service【配置开机自启,并且现在启动】

安装完成后,在我们的/etc/目录下,我们可以看到autofs的配置文件-auto.master

[root@Client etc]# ll auto*
-rw-r--r--. 1 root root 15712 Jan  9  2022 autofs.conf
-rw-------. 1 root root   232 Jan  9  2022 autofs_ldap_auth.conf
-rw-r--r--. 1 root root  1290 Jul  8 14:07 auto.master
-rw-r--r--. 1 root root   519 Jan  9  2022 auto.misc
-rwxr-xr-x. 1 root root   901 Jan  9  2022 auto.net
-rwxr-xr-x. 1 root root  2087 Jan  9  2022 auto.smb

现在,我们开始正式的配置autofs,【以挂载镜像文件为例】主要分为以下几步:

1、先取消当前镜像文件的挂载,并删除/etc/fstab文件中的配置

2、编写auto.master配置文件中所需配置

3、创建autofs的触发配置文件

4、测试是否挂载成功

第一步

[root@Client etc]# umount /mnt/cdrom
[root@Client etc]# vim /etc/fstab 

第二步

[root@Client etc]# vim /etc/auto.master
/mnt    /etc/auto.iso
/mnt 是要挂载目录的父级目录,比如:我要挂载/mnt/cdrom,此处就写/mnt即可
/etc/auto.iso 是autofs的触发配置文件【文件的路径和名字可以自己定义】

第三步

[root@Client etc]# vim /etc/auto.iso
cdrom -fstype=iso9660  :/dev/sr0
cdrom 需要挂载的目录
-fstype 需要挂载的文件类型【注意:不要忘记fs,否则挂载必定不成功】
:/dev/sr0 冒号后面接需要挂载的设备文件

第四步

[root@Client etc]# df 【检查当前sr0是否挂载】
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs         1863332       0   1863332   0% /dev
tmpfs            1892788       0   1892788   0% /dev/shm
tmpfs             757116   13908    743208   2% /run
/dev/nvme0n1p3 102197500 4700348  97497152   5% /
/dev/nvme0n1p1    506528  250928    255600  50% /boot
tmpfs             378556     132    378424   1% /run/user/0
/dev/sr0         8377364 8377364         0 100% /run/media/root/RHEL-9-0-0-BaseOS-x86_64
[root@Client etc]# ls /mnt/cdrom/ 【发现并没有查看到文件,开始排错】
[root@Client etc]# systemctl status autofs.service  【状态是开启的,重启一下,因为我们刚修改配置文件】
● autofs.service - Automounts filesystems on demand
     Loaded: loaded (/usr/lib/systemd/system/autofs.service; enabled; vendor preset: disabled)
     Active: active (running) since Mon 2024-07-08 14:02:45 CST; 28min ago
   Main PID: 44647 (automount)
      Tasks: 5 (limit: 23291)
     Memory: 1.7M
        CPU: 119ms
     CGroup: /system.slice/autofs.service
             └─44647 /usr/sbin/automount --systemd-service --dont-check-daemon

Jul 08 14:02:45 Client systemd[1]: Starting Automounts filesystems on demand...
Jul 08 14:02:45 Client systemd[1]: Started Automounts filesystems on demand.
[root@Client etc]# systemctl restart autofs.service 
[root@Client etc]# ls /mnt/cdrom/  【重启后,便可以看到我们的配置文件了】
AppStream  BaseOS  EFI  EULA  extra_files.json  GPL  images  isolinux  media.repo  RPM-GPG-KEY-redhat-beta  RPM-GPG-KEY-redhat-release

既然autofs这么神奇,那么是否可以连带着nfs一起自动挂载使用呢?

我们来试试。

【了解nfs共享存储的搭建可以参考NFS共享存储的搭建

nfs与autofs的联合使用

配置清单

  1. rehl9虚拟机 ip: 192.168.96.100 【Server】
  2. rehl9虚拟机 ip: 192.168.96.101 【Client】
  3. 准备好本地yum源仓库

由于刚刚我们已经做好了准备工作,此时便不再重复操作,我们直接进入实验

[root@Client etc]# vim /etc/auto.master
/nfs    /etc/auto.nfs
[root@Client etc]# vim /etc/auto.nfs
share -rw 192.168.96.100:/rehl9_Server
[root@Client ~]# systemctl restart  autofs.service 【重启服务后生效】
[root@Client ~]# ls /nfs/share 【测试是否自动挂载】
dir1  file1
[root@Client ~]# df
Filesystem                   1K-blocks    Used Available Use% Mounted on
devtmpfs                       1863332       0   1863332   0% /dev
tmpfs                          1892788       0   1892788   0% /dev/shm
tmpfs                           757116    9692    747424   2% /run
/dev/nvme0n1p3               102197500 4700716  97496784   5% /
/dev/nvme0n1p1                  506528  250928    255600  50% /boot
tmpfs                           378556      52    378504   1% /run/user/42
tmpfs                           378556      36    378520   1% /run/user/0
192.168.96.100:/rehl9_Server 102197760 6596096  95601664   7% /nfs/share


注意:服务端的nfs服务一定要开启

进阶-实现多个目录的共享

我们已经完成了普通autofs和结合nfs的搭建,现在我们来尝试一下将多个目录自动挂载

服务端配置

[root@Server ~]# vim /etc/exports
/home/ladp1_S  *(rw)
/home/ladp2_S  *(rw)
/home/ladp3_S  *(rw)
/home/ladp4_S  *(rw)
[root@Server ~]# mkdir /home/ladp1_S
[root@Server ~]# mkdir /home/ladp2_S
[root@Server ~]# mkdir /home/ladp3_S
[root@Server ~]# mkdir /home/ladp4_S
[root@Server ~]# chmod o+w /home/ladp1_S
[root@Server ~]# chmod o+w /home/ladp2_S
[root@Server ~]# chmod o+w /home/ladp3_S
[root@Server ~]# chmod o+w /home/ladp4_S
[root@Server ~]# systemctl restart nfs-server.service 

 【NFS的具体配置,请参考NFS共享存储搭建

客户端配置

[root@Client ~]# vim /etc/auto.master
/home  /etc/auto.ladp
[root@Client ~]# vim /etc/auto.ladp 
 * -rw 192.168.96.100:/home/&
*和&其实表示的是同一个,比如*是ladp1_S,那么&也是ladp1_S
同样因为创建的是用户,所以我们可以用这种方式节省时间

[root@Client ~]# systemctl start autofs.service 
[root@Client ~]# useradd ladp1_S
useradd: warning: the home directory /home/ladp1_S already exists.
useradd: Not copying any file from skel directory into it.
[root@Client ~]# useradd ladp2_S
useradd: warning: the home directory /home/ladp2_S already exists.
useradd: Not copying any file from skel directory into it.
[root@Client ~]# useradd ladp3_S
useradd: warning: the home directory /home/ladp3_S already exists.
useradd: Not copying any file from skel directory into it.
[root@Client ~]# useradd ladp4_S
useradd: warning: the home directory /home/ladp4_S already exists.
useradd: Not copying any file from skel directory into it.
如上显示已经存在,那么,我们可以去服务端验证一下,是否可以正常使用


验证

服务端
[root@Server ladp1_S]# cd
[root@Server ~]# systemctl stop nfs-server.service 
[root@Server ~]# systemctl start nfs-server.service 
[root@Server ~]# cd /home/ladp1_S/
[root@Server ladp1_S]# touch file1
[root@Server ladp1_S]# ll
total 0
-rw-r--r--. 1 root root 0 Jul  8 15:38 file1
[root@Server ladp1_S]# echo "hello" >> file1 
[root@Server ladp1_S]# cat file1 
hello

客户端
[root@Client ~]# su - ladp1_S
[ladp1_S@Client ~]$ ls
file1
[ladp1_S@Client ~]$ cat file1 
hello

到此,autofs自动挂载已经结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值