autofs自動掛載

一、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會將其卸載。

相關文章
相關標籤/搜索