一、autofs簡介linux
mount是用來掛載文件系統的,能夠在系統啓動的時候掛載也能夠在系統啓動後掛載。對於本地固定設備,如硬盤可使用mount掛載;而光盤、軟盤、NFS、SMB等文件系統具備動態性,即有須要的時候纔有必要掛載。光驅和軟盤咱們通常知道何時須要掛載,但NFS和SMB共享等就不必定知道了,即咱們通常不能及時知道NFS共享和SMB何時能夠掛載。而autofs服務就提供這種功能,好像windows中的光驅自動打開功能,可以及時掛載動態加載的文件系統。免去咱們手動掛載的麻煩。要實現光驅,軟盤等的動態自動掛載,須要進行相關的配置。vim
特色:
windows
Autofs與Mount/Umount的不一樣之處在於,它是一種看守程序。若是它檢測到用戶正試圖訪問一個還沒有掛接的文件系統,它就會自動檢測該文件系統,若是存在,那麼Autofs會自動將其掛接。另外一方面,若是它檢測到某個已掛接的文件系統在一段時間內沒有被使用,那麼Autofs會自動將其卸載。所以一旦運行了Autofs後,用戶就再也不須要手動完成文件系統的掛接和卸載。bash
二、autofs安裝及配置tcp
系統環境:
ide
[root@vms001 /]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.1 (Maipo) [root@vms001 /]# uname -r 3.10.0-229.el7.x86_64
1)安裝及啓動autofs服務
測試
[root@vms001 /]# yum -y install autofs #安裝autofs服務 [root@vms001 /]# systemctl start autofs #啓動autofs服務 [root@vms001 /]# systemctl enable autofs #設置開機自啓動autofs服務
2)autofs的配置文件
spa
/etc/auto.master #主配置文件,(指定要掛載的父目錄以及指定子配置文件) /etc/auto.misc #子配置文件(文件名能夠自定義,子配置文件由主配置文件決定)
3)autofs自動掛載的兩種格式配置rest
① 相對路徑掛載(會把父目錄的源文件覆蓋掉)orm
本測試是掛載本地設備cdrom
##############建立父目錄及文件############ [root@vms001 /]# mkdir /autofs #建立父目錄 [root@vms001 /]# touch /autofs/aa-{0..5} #建立文件,測試當設置了自動掛載後 文件是否被覆蓋 [root@vms001 /]# ls /autofs/ aa-0 aa-1 aa-2 aa-3 aa-4 aa-5 ###############編輯主配置文件############ [root@vms001 /]# vim /etc/auto.master #添加如下內容 /autofs /etc/auto.aa #/autofs是指定掛載點的父目錄;/etc/auto.aa是指定的子配置文件路徑 ###############編輯子配置文件############ [root@vms001 /]# cp /etc/auto.misc /etc/auto.aa [root@vms001 /]# vim /etc/auto.aa # 添加如下內容 #xx是掛載點,當訪問這個目錄的時候會自動掛載;-fstype是文件系統類型;:/dev/cdrom 是所要掛載的設備 xx -fstype=iso9660,ro :/dev/cdrom ###############測試############ [root@vms001 /]# systemctl restart autofs #重啓autofs服務 [root@vms001 /]# [root@vms001 /]# mount | grep xx #發現xx沒有被掛載 [root@vms001 /]# [root@vms001 /]# ls /autofs/ #查看父目錄爲空,說明父目錄的源文件被覆蓋了 [root@vms001 /]# [root@vms001 /]# ls /autofs/xx #查看xx掛載點,發現它自動掛載 addons GPL LiveOS release-notes RPM-GPG-KEY-redhat-release EFI images media.repo repodata TRANS.TBL EULA isolinux Packages RPM-GPG-KEY-redhat-beta [root@vms001 /]# [root@vms001 /]# mount | grep xx #當訪問xx掛載點後,xx已掛載 /dev/sr0 on /autofs/xx type iso9660 (ro,relatime)
總結:相對路徑掛載會把父目錄的源文件覆蓋掉。/etc/auto.master主配置文件指定掛載點的父目錄以及子配置文件的路徑(子配置文件能夠自定義,但格式必須是auto.xxx);/etc/auto.aa子配置文件指定 掛載點、文件系統類型、所要掛載的設備;
② 絕對路徑掛載(父目錄的源文件不會改變,會在父目錄中建立掛載點目錄)
本測試是掛載遠程nfs設備
###############建立父目錄及文件############# [root@vms001 /]# mkdir data [root@vms001 /]# touch /data/data-{0..5} [root@vms001 /]# ls /data/ data-0 data-1 data-2 data-3 data-4 data-5 ###############編輯主配置文件############ [root@vms001 /]# vim /etc/auto.master #添加如下內容 /- /etc/auto.bb #/-固定格式;/etc/auto.bb指定子配置文件的路徑 ###############編輯子配置文件############ [root@vms001 /]# cp /etc/auto.misc /etc/auto.bb [root@vms001 /]# [root@vms001 /]# vim /etc/auto.bb #添加如下內容 /data/zz -fstype=nfs,vers=3,rw vms002:/data #掛載點是絕對路徑;文件系統類型是nfs;掛載設備是nfs ###############測試############ [root@vms001 /]# systemctl restart autofs #重啓autofs服務 [root@vms001 /]# [root@vms001 /]# mount | grep nfs #vms002(nfs)沒有被掛載 sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) nfsd on /proc/fs/nfsd type nfsd (rw,relatime) [root@vms001 /]# [root@vms001 /]# ls /data/ #查看父目錄,發現源文件還在。 data-0 data-1 data-2 data-3 data-4 data-5 zz [root@vms001 /]# [root@vms001 /]# ls /data/zz #查看掛載點 oldboy-0 oldboy-1 oldboy-2 oldboy-3 oldboy-4 oldboy-5 [root@vms001 /]# [root@vms001 /]# mount | grep nfs #vms002(nfs)已被掛載 sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) nfsd on /proc/fs/nfsd type nfsd (rw,relatime) vms002:/data on /data/zz type nfs (rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.26.102,mountvers=3,mountport=20048,mountproto=udp,local_lock=none,addr=192.168.26.102)
總結:絕對路徑掛載不會改變父目錄的源文件。/etc/auto.master主配置文件:/-爲固定格式,子配置文件的路徑(子配置文件能夠自定義,但格式必須是auto.xxx);/etc/auto.bb子配置文件指定 掛載點(必須是絕對路徑)、文件系統類型、所要掛載的設備;
三、總結
1)自動掛載的服務爲:autofs;
2)autofs配置文件:主配置文件(/etc/autofs.master);子配置文件(/etc/auto.misc);
3)相對路徑掛載:會覆蓋父目錄的源文件;
4)絕對路徑掛載:父目錄的源文件不會改變;
5)autofs服務是一個守護進程。當咱們訪問掛載點的時候,它會自動檢測該文件系統,若是存在,autofs會將其自動掛載;autofs還會檢測已掛載的文件系統,若是長時間未被訪問,則autofs會將其卸載。