您好,登錄后才能下訂單哦!
目錄:
(一)了解什么是自動掛載
(二)配置autofs
(三)autofs自動掛載NFS服務器
(四)結合LDAP實現“漫游用戶”
(一)了解什么是自動掛載
(1.1)mount是用來掛載文件系統的,可以在系統啟動的時候掛載,也可以在系統啟動后掛載。對于本地固定設備,如硬盤可以使用mount掛載;而光盤、軟盤、NFS、SMB等文件系統具有動態性,即需要的時候才有必要掛載。光驅和軟盤我們一般知道什么時候需要掛載,但NFS和SMB共享等就不一定知道了,即我們一般不能及時知道NFS和SMB共享什么時候可以掛載。而autofs服務就提供這種功能,就像windows中的光驅自動打開功能,能夠及時掛載動態加載的文件系統。免去我們手動掛載的麻煩。
(1.2)autofs與mount/umount的不同之處在于,它是一種守護程序。如果它檢測到用戶正試圖訪問一個尚未掛載的文件系統,它就會自動檢測該文件系統,如果存在,那么autofs會自動將其掛載。另一方面,如果它檢測到某個已掛載的文件系統在一段時間內沒有使用,那么autofs會自動將其卸載。因此一旦運行了autofs后,用戶就不再需要手動完成文件系統的掛載和卸載了。
(1.3)假設,在我們系統中存在這樣的規則:把某設備/dev/cdrom和某個目錄/mnt/cdromx聯系在一起,不管現在是否掛載了,反正只要我們訪問/mnt/cdromx的時候,那么系統就認為我現在是要訪問/dev/cdrom了,此時不管這個目錄和設備是否有掛載在一起,都會將其自動掛載起來提供服務。
(二)配置autofs
(2.1)我們在vms002主機上配置自動掛載,我們首先保證在vms002主機上沒有掛載/dev/cdrom的光盤鏡像,然后我們在vms002主機上安裝autofs軟件包。
(2.2)我們希望把光盤/dev/cdrom自動關聯到/mnt/cdromx目錄下,我們在/mnt目錄下創建了相關的文件,并且確認了沒有cdromx目錄,接著我們編輯/etc/auto.master文件,我們指定/mnt目錄和/etc/auto.aa文件進行關聯(圖2-3)。
# vim /etc/auto.master
(2.3)接著我們使用一個模板文件來構建auto.aa文件,我們在auto.aa文件中指定cdromx,并指定掛載的文件系統類型和讀寫類型,同時第三段中表示冒號左邊指的是遠端的主機(一般用IP地址表示),冒號右邊指的是本地的設備名。此時我們便實現了將/mnt/cdromx和/dev/cdrom兩個目錄產生了聯系的需求。接著我們將autofs服務重啟并設置為開機自動啟動(圖2-6)。
# systemctl restart autofs
# systemctl enable autofs
(2.4)此時我們使用mount命令查看發現系統并沒有掛載cdrom的相關條目,我們發現在/mnt目錄下也沒有產生任何的文件,但是我們使用進入cdromx的命令時,發現是可以正常的進入cdromx目錄,并且能夠查詢到目錄下的文件,而此時使用mount命令發現便可以正常的查詢到cdrom掛載的相關條目了。
(2.5)需要注意的是,我們在auto.master里指定了父目錄,所以此時我們父目錄里原有的文件都會被隱藏,所以我們發現進入到/mnt目錄下后原先圖2-2中創建的aa.txt、bb.txt、cc.txt、dd.txt文件都看不到了。如果我們不希望將父目錄中的文件被隱藏,則可以在/etc/auto.master文件中將父目錄修改為“/-”,同時在/etc/auto.aa文件中修改關聯的目錄為/mnt/cdromx(圖2-9)。此時我們將autofs服務重啟后,發現/mnt目錄下之前創建的aa.txt等文件都是存在的,并沒有被隱藏,且系統目前沒有產生任何關于光盤鏡像的掛載信息,而當我們查詢完/mnt/cdromx目錄中的文件后發現此時系統已經自動產生了光盤鏡像的掛載信息了(圖2-10)。
(三)autofs自動掛載NFS服務器
(3.1)首先我們快速在vms001主機上搭建一個NFS服務器,默認情況下NFS服務器在系統中是安裝好了的,我們直接啟動就可以了。我們在vms001主機創建一個/zz目錄,并且將/etc/hosts文件拷貝到/zz目錄下。
# cp /etc/hosts .
# systemctl start nfs-server
# systemctl enable nfs-server
# vim /etc/exports
(3.2)接著我們在/etc/exports文件中寫上如下一行條目,將/zz目錄共享出去,且可讀可寫、異步傳輸,然后將NFS文件中的條目重新生效。
(3.3)然后我們在vms002主機上嘗試自動掛載vms001主機的NFS服務器端目錄,我們在vms002主機的/etc/auto.aa配置文件中設置設置本地的掛載目錄為/mnt/nfs,掛載的數據源為vms001主機提供的/zz目錄(圖2-14)。
# showmount -e vms001
# mount | grep 'zz'
# vim /etc/auto.aa
(3.4)接著我們將autofs服務重啟一下,我們發現開始vms002主機上并沒有掛載vms001主機上的任何目錄信息,當我們查詢“# ls /mnt/nfs/”后,此時便可以發現vms002主機上已經自動掛載了vms001主機上使用NFS服務共享的/zz目錄了(圖2-15)。
注意:我們也是可以在/etc/auto.master文件中定義多個掛載文件名,然后分類每個文件名對應不同的掛載項(圖2-16)
(四)結合LDAP實現“漫游用戶”
(4.1)我們在vms001主機上使用install.sh創建兩臺KVM虛擬機host和station。
(4.2)然后我們可以按照《【我的Linux,我做主!】曝光:網絡用戶--部署LDAP目錄服務實戰》文章中的“(二)搭建實驗環境”和“(三)使用LDAP客戶端”的操作步驟進行操作,使得我們station虛擬機可以正常的查看到host虛擬機上的網絡用戶ldapuser1
注意:host虛擬機的IP為192.168.122.10,host虛擬機的主機名為:host.rhce.cc;station虛擬機的IP為192.168.122.100,host虛擬機的主機名為:station.rhce.cc
(4.3)但是我們發現如果直接從station虛擬機登錄式切換到網絡用戶ldapuser1時,由于本地沒有家目錄,所以無法正常的切換成功(圖2-20)。而在host虛擬機中所創建的網絡用戶所有的家目錄都是存放在/home/guests目錄中的,所有這些網絡用戶都是在服務器上創建的,且他們的家目錄都已經通過NFS共享出去了(圖2-21)。
(4.4)之前我們是通過在LDAP客戶端的本地創建網絡用戶的家目錄,從而使得在station虛擬機切換到ldapuser1網絡用戶時,能夠正常的登錄,但是這樣的操作十分的笨拙,當服務器的網絡用戶數量很大,且成員服務器的數量也很大時,此時通過人工創建網絡用戶的家目錄的方式基本是不可能實現的。針對這個問題,我們的解決方案是在station虛擬機上安裝autofs軟件包(圖2-22),然后我們在station虛擬機的/etc/auto.master中指明host虛擬機LDAP服務中網絡用戶的家目錄,還要指明當前主機配置autofs的文件名(圖2-23)。
(4.5)然后我們將模板文件/etc/auto.misc拷貝給/etc/auto.aa,同時我們需要在auto.aa文件中指定“客戶端用戶名,(文件系統類型、是否可讀可寫、版本),服務器端用戶名”,當然當用戶量很大時,我們可以使用通配符去進行用戶名替換,這樣可以大大的提高工作效率。
注意:“*”表示的是任意的字段,“&”表示的是不管任意的字段是什么,都保持和“*”字段一致
(4.6)此時我們將station虛擬機的autofs服務重新啟動一下,此時我們發現station主機切換到網絡用戶ldapuser4時,自動在本地創建了家目錄,所以才可以正常的登錄(圖2-25),同時這個時候我們也發現station虛擬機已經自動掛載了host虛擬機的guests目錄(圖2-26)。
注意:使用“# su - ldapuser4”時,我們加了橫杠,表示登錄式切換,會訪問網絡用戶ldapuser4的家目錄,而網絡用戶的家目錄我們已經通過NFS服務共享出來了,所以在本地會自動創建網絡用戶的家目錄
# systemctl restart autofs
# mount | grep -v auto | grep guests---查詢station虛擬機是否有掛載host虛擬機的文件目錄
(4.7)此時我們在station虛擬機上登錄切換到ldapuser3用戶,并使用ldapuser3用戶創建了一個文件,這個文件其實是寫到了host虛擬機上的,并且即使我們使用其他主機登錄ldapuser3賬戶也是可以看到我們之前創建的這個文件的,這樣我們在LDAP環境中便實現了“漫游用戶”的需求。
—————— 本文至此結束,感謝閱讀 ——————
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。