Linux实现自动挂载autofs的方法详解

更新时间:2022-10-11 10:17:11

实现自动挂载-autofs

autofs 服务实现自动挂载外围设备,NFS共享目录等,并在空闲5分钟后后自动卸载

相关包和文件 :

软件包:autofs

服务文件:/usr/lib/systemd/system/autofs.service

配置文件:/etc/auto.master

autofs工具简单使用

#安装autofs工具
[root@rhel82 ~]# yum install -y autofs

#启动autofs服务
[root@rhel82 ~]# systemctl start autofs
 
#autofs服务启动后会有/misc/cd目录,设置虚拟机连接光盘,实现自动挂载系统光盘
[root@rhel82 ~]# ll /misc/
总用量 0

[root@rhel82 ~]# cd /misc/cd
[root@rhel82 cd]# df -h
文件系统容量  已用  可用 已用% 挂载点
devtmpfs1.9G 0  1.9G0% /dev
tmpfs   2.0G 0  2.0G0% /dev/shm
tmpfs   2.0G   10M  2.0G1% /run
tmpfs   2.0G 0  2.0G0% /sys/fs/cgroup
/dev/nvme0n1p5   25G  4.4G   21G   18% /
/dev/nvme0n1p2 1014M  208M  807M   21% /boot
tmpfs   392M  1.2M  391M1% /run/user/42
tmpfs   392M  4.6M  387M2% /run/user/0
/dev/sr07.9G  7.9G 0  100% /misc/cd

[root@rhel82 ~]# rpm -ql autofs
[root@rhel82 ~]# rpm -qc autofs

autofs配置详细说明

参看帮助:man 5 autofs

自动挂载资源有两种格式

相对路径挂载法

将mount point 挂载点路径分成 dirname 和 basename 分别配置,可能会影响现有的目录结构

# 比如挂载挂载光盘: mount /dec/sr0 /mnt/sr0 , 其中 /mnt目录为dirname, /mnt/sr0为basename 等价于 /mnt/sr0 = /dirname/basename

autofs主配置文件/etc/atuo.master格式

挂载点的dirname   指定目录的配置文件路径,如:/etc/test.auto

指定子配置文件格式/etc/test.auto

挂载点的basename   挂载选项   选项设备

注意:autofs配置的dirname目录和basename目录不需要手动创建,会覆盖已存在挂载点的dirname目录下原数据

autof默认提供挂载光盘范例

[root@centos8 ~ ]# cat /etc/auto.master
/misc   /etc/auto.misc

[root@centos8 ~ ]# cat /etc/auto.misc
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

#特殊写法:  挂载点dataname和挂载目录dataname相同,即: mount 10.0.0.18:/data/www /misc/www
*	-fstype=nfg		10.0.0.18:/data/&

范例:利用autofs自动挂载nfs

#服务端和客户端安装nfs-utils工具包
[root@server ~]# yum install -y nfs-utils
[root@client ~]# yum install -y nfs-utils
[root@server ~]# mkdir /nfs
[root@server ~]# cp /etc/passwd /nfs/

#centos6系统nfs服务叫做nfs.service
#centos7系统上nfs.service 和 nfs-server.service同一个服务
#centos8只有nfs-server.service服务

[root@server ~]# systemctl start nfs

#centos7系统可以解决服务之间依赖关系,并且nfs服务启动会自动启动rpcbind.service
[root@server ~]# systemctl status rpcbind

[root@server ~]# vim /etc/exports
/nfs  *(rw)

[root@server ~]# exportfs -r
[root@server ~]# exportfs -v
/nfs  	<world>(sync,wdelay,hide,no_subtree_check,sec=sys,rw,root_squash,no_all_squash)

[root@server ~]# systemctl restart nfs
[root@server ~]# showmount -e 192.168.192.128
Export list for 192.168.192.128:
/nfs *

[root@client ~]# showmount -e 192.168.192.128
Export list for 192.168.192.128:
/nfs *

[root@client ~]# mkdir /opt/nfs
[root@client ~]# mount 192.168.192.128:/nfs /opt/nfs/
[root@client ~]# df -h | grep nfs
192.168.192.128:/nfs   62G  1.7G   61G3% /opt/nfs

#编写autofs主配置文件
[root@client ~]# vim /etc/auto.master
/opt /etc/auto.master.d/auto.nfs

#编写子配置文件
[root@client ~]# vim /etc/auto.master.d/auto.nfs
nfs -fstype=nfs   192.168.192.128:/nfs

#挂载点/dirname是/目录,查看autofs配置未生效,/目录数据
[root@client ~]# cp /root/anaconda-ks.cfg  /opt/
[root@client ~]# ll /opt/
总用量 4
-rw-------. 1 root root 1453 12月  5 04:03 anaconda-ks.cfg

#如果修改主配置文件需要重启服务
[root@client ~]# systemctl restart autofs

#一旦重启atuofs服务,挂载dirname目录属于autofs服务管理,源数据不存在
[root@centos8 ~ ]# ll /opt/
total 0

#cd进入指定挂载点,autofs就会自动挂载
[root@client ~]# ls /opt/
[root@client ~]# cd /opt/nfs
[root@client nfs]# ls
passwd

[root@client nfs]# df -h | grep nfs
192.168.192.128:/nfs   62G  1.7G   61G3% /opt/nfs

绝对路径挂载法

直接匹配全部的绝对路径名称,都写入到指定的配置文件里,不会影响本地目录结构

autofs主配置文件/etc/atuo.master格式

/-  指定目录的配置文件路径(使用 /- 表示使用绝对目录)

指定子配置文件格式/etc/test.auto

挂载点绝对路径  挂载选项   选项设备

范例

[root@client ~]# vim /etc/auto.master
/- /etc/auto.master.d/auto.nfs

[root@client ~]# vim /etc/auto.master.d/auto.nfs
/opt/nfs -fstype=nfs   192.168.192.128:/nfs

#autofs服务使用绝对路径自动挂载,不会覆盖原数据
[root@client ~]# systemctl start autofs
[root@client ~]# ll /opt/
总用量 4
-rw-------. 1 root root 1453 12月  5 04:03 anaconda-ks.cfg
drwxr-xr-x. 2 root root   20 12月  4 19:39 nfs

[root@client ~]# cd /opt/nfs/
[root@client nfs]# ls
passwd

优化 Linux 系统性能

使用tuned-adm命令优化Linux系统性能。作为系统管理员,能够通过调整各种设置来优化Linux系统的性能,以适合当前用例工作负载,帮助优化Linux的性能。

可以调整到的可用配置文件:

  • balanced:非常适合在节能和性能之间寻求折衷的系统。

  • desktop:源自平衡配置文件,提供交互式应用程序的更快响应。

  • throughput-performance:调整系统以获得最大吞吐量。

  • latency-performance:对于要求低延迟,以功耗为代价的服务器系统的理想选择。

  • network-latency:源自延迟性能配置文件,它启用其他网络调整参数以提供较低的网络延迟。

  • network-throughput:从吞吐量性能概要文件得出,附加的网络调整参数适用于最大的网络吞吐量。

  • powersave:调整系统以最大程度地节省电力。

  • oracle:基于吞吐量性能概要文件针对Oracle数据库负载进行了优化。

  • virtual-guest:优化以在虚拟访客中运行。

  • virtual-host:如果用于运行KVM guest虚拟机,请调整系统以获得最佳性能。

安装 Tuned

[root@rhel82 ~]# yum install tuned -y

[root@rhel82 ~]# systemctl status tuned

选择调整配置文件

调整的配置文件包含性能提升配置文件,性能提升配置文件包括侧重于:存储和网络的低延迟、高吞吐量的存储和网络、虚拟主机性能、虚拟机性能的配置文件。

我们将使用tuned-adm命令来更改已调整守护程序的设置。

检查当前活动的调优配置文件:

[root@rhel82 ~]# tuned-adm active
Current active profile: virtual-guest

可以使用更多配置文件,如下:

[root@rhel82 ~]# tuned-adm list
Available profiles:
- accelerator-performance - Throughput performance based tuning with disabled higher latency STOP states
- balanced- General non-specialized tuned profile
- desktop - Optimize for the desktop use-case
- hpc-compute - Optimize for HPC compute workloads
- intel-sst   - Configure for Intel Speed Select Base Frequency
- latency-performance - Optimize for deterministic performance at the cost of increased power consumption
- network-latency - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
- network-throughput  - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks
- optimize-serial-console - Optimize for serial console use.
- powersave   - Optimize for low power consumption
- throughput-performance  - Broadly applicable tuning that provides excellent performance across a variety of common server workloads
- virtual-guest   - Optimize for running inside a virtual guest
- virtual-host- Optimize for running KVM guests
Current active profile: virtual-guest

tuned-adm配置文件命令用于将活动配置文件切换到其他配置文件,此示例将调整我们的系统以实现最大吞吐量:

[root@rhel82 ~]# tuned-adm profile throughput-performance

确认当前配置文件:

[root@rhel82 ~]# tuned-adm active
Current active profile: throughput-performance

检查系统推荐的调整配置文件

tuned-adm命令还可以建议系统的调整配置文件,这基于各种系统特征,包括系统是否为虚拟机以及在系统安装期间选择的其他预定义类别:

[root@rhel82 ~]# tuned-adm recommend
virtual-guest

然后,可以将个人资料设置为推荐值:

[root@rhel82 ~]# tuned-adm profile virtual-guest

查看配置文件详细信息,请运行:

[root@rhel82 ~]# tuned-adm profile_info virtual-guest
Profile name:
virtual-guest

Profile summary:
Optimize for running inside a virtual guest

Profile description:

关闭已调优的调整活动:

[root@rhel82 ~]# tuned-adm off

[root@rhel82 ~]# tuned-adm active
No current active profile.

Linux