W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
無論是Samba服務(wù)還是NFS服務(wù),都要把掛載信息寫入到/etc/fstab中,這樣遠(yuǎn)程共享資源就會自動隨服務(wù)器開機而進行掛載。雖然這很方便,但是如果掛載的遠(yuǎn)程資源太多,則會給網(wǎng)絡(luò)帶寬和服務(wù)器的硬件資源帶來很大負(fù)載。如果在資源掛載后長期不使用,也會造成服務(wù)器硬件資源的浪費??赡軙凶x者說,“可以在每次使用之前執(zhí)行mount命令進行手動掛載”。這是一個不錯的選擇,但是每次都需要先掛載再使用,您不覺得麻煩嗎?
autofs自動掛載服務(wù)可以幫我們解決這一問題。與mount命令不同,autofs服務(wù)程序是一種Linux系統(tǒng)守護進程,當(dāng)檢測到用戶試圖訪問一個尚未掛載的文件系統(tǒng)時,將自動掛載該文件系統(tǒng)。換句話說,我們將掛載信息填入/etc/fstab文件后,系統(tǒng)在每次開機時都自動將其掛載,而autofs服務(wù)程序則是在用戶需要使用該文件系統(tǒng)時才去動態(tài)掛載,從而節(jié)約了網(wǎng)絡(luò)資源和服務(wù)器的硬件資源。
[root@linuxprobe ~]# yum 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.
rhel | 4.1 kB 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 rhel 550 k
Installing for dependencies:
hesiod x86_64 3.2.1-3.el7 rhel 30 k
Transaction Summary
================================================================================
Install 1 Package (+1 Dependent package)
Total download size: 579 k
Installed size: 3.6 M
Is this ok [y/d/N]: y
Downloading packages:
--------------------------------------------------------------------------------
Total 9.4 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
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!
處于生產(chǎn)環(huán)境中的Linux服務(wù)器,一般會同時管理許多設(shè)備的掛載操作。如果把這些設(shè)備掛載信息都寫入到autofs服務(wù)的主配置文件中,無疑會讓主配置文件臃腫不堪,不利于服務(wù)執(zhí)行效率,也不利于日后修改里面的配置內(nèi)容,因此在autofs服務(wù)程序的主配置文件中需要按照“掛載目錄 子配置文件”的格式進行填寫。掛載目錄是設(shè)備掛載位置的上一級目錄。例如,光盤設(shè)備一般掛載到/media/cdrom目錄中,那么掛載目錄寫成/media即可。對應(yīng)的子配置文件則是對這個掛載目錄內(nèi)的掛載設(shè)備信息作進一步的說明。子配置文件需要用戶自行定義,文件名字沒有嚴(yán)格要求,但后綴建議以.misc結(jié)束。具體的配置參數(shù)如第7行的加粗字所示。
[root@linuxprobe ~]# vim /etc/auto.master
#
# Sample auto.master file
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# For details of the format look at autofs(5).
#
/media /etc/iso.misc
/misc /etc/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
# "nosuid" and "nodev" options unless the "suid" and "dev"
# options are explicitly given.
#
/net -hosts
#
# Include /etc/auto.master.d/*.autofs
#
+dir:/etc/auto.master.d
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
+auto.master
在子配置文件中,應(yīng)按照“掛載目錄 掛載文件類型及權(quán)限 :設(shè)備名稱”的格式進行填寫。例如,要把光盤設(shè)備掛載到/media/iso目錄中,可將掛載目錄寫為iso,而-fstype為文件系統(tǒng)格式參數(shù),iso9660為光盤設(shè)備格式,ro、nosuid及nodev為光盤設(shè)備具體的權(quán)限參數(shù),/dev/cdrom則是定義要掛載的設(shè)備名稱。配置完成后再順手將autofs服務(wù)程序啟動并加入到系統(tǒng)啟動項中:
[root@linuxprobe ~]# vim /etc/iso.misc
iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
[root@linuxprobe ~]# systemctl start autofs
[root@linuxprobe ~]# systemctl enable autofs
ln -s '/usr/lib/systemd/system/autofs.service' '/etc/systemd/system/multi-user.target.wants/autofs.service'
接下來將發(fā)生一件非常有趣的事情。我們先查看當(dāng)前的光盤設(shè)備掛載情況,確認(rèn)光盤設(shè)備沒有被掛載上,而且/media目錄中根本就沒有iso子目錄。但是,我們卻可以使用cd命令切換到這個iso子目錄中,而且光盤設(shè)備會被立即自動掛載上。我們也就能順利查看光盤內(nèi)的內(nèi)容了。
[root@linuxprobe ~]# 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@linuxprobe ~]# cd /media
[root@linuxprobe media]# ls
[root@linuxprobe media]# cd iso
[root@linuxprobe iso]# 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@linuxprobe ~]# 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/iso
/dev/sda1 497M 119M 379M 24% /boot
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: