RHEL 8.3 autofs 未掛載 NFS 目錄
RHEL 8.3 64 位
autofs.x86_64 1:5.1.4-43.el8
我正在嘗試
autofs
為我的系統啟用。我已經按照教程進行了操作,雖然它們很有意義,但網路驅動器沒有安裝,並且在某些情況下會出現一些奇怪的行為。一、配置文件/etc/auto.master.d/mount.nfs:
/home/me/ /etc/auto.me.nfs
/etc/auto.me.nfs:
nas -fstype=nfs4 nas:/data/directory
現在當我執行時:
service autofs start
它應該掛載
nas:/data/directory
->/home/me/nas
,對嗎?將發生以下兩種情況之一:
- 沒有什麼。該目錄
/home/me/nas
包含所有本地內容,並且df -h
沒有顯示任何安裝到該位置的內容。- 我的主目錄將只包含
nas
. 它顯示在 df -h 中,並且可以訪問遠端文件。然而,其他一切都消失了。一個ls -l
on/home/
顯示我的主目錄由root.root
命令:
mount nas:/data/directory /home/me/nas
工作得很好,從 NFS 目錄繼承所有權和權限。我錯過了什麼?是否有日誌可以查看 autofs 正在嘗試做什麼?
經典的 autofs
情況1)可能是由於您
/etc/auto.master.d/mount.nfs
沒有被命名/etc/auto.master.d/mount.autofs
:根據auto.master(5)
手冊頁和配置文件中的註釋,其中的/etc/auto.master
任何文件都auto.master.d
必須具有*.autofs
後綴才能工作。您的情況 2) 基本上
autofs
與您目前配置的經典樣式完全一樣。使用您目前的配置,該
/home/me/
目錄將成為一個autofs 映射掛載點:一個特殊的虛擬目錄,當有人試圖訪問它時它會感應到。如果您嘗試列出 autofs 掛載點的內容,它會將映射的內容列為子目錄(在您的情況下,只是nas
子目錄),並且當您實際嘗試訪問這些子目錄時,autofs
將自動在允許訪問發生之前將它們安裝為所需的 NFS 共享,並且可以在不再使用每個共享時自動解除安裝它。間接映射(如您目前的配置)實際上是為像
/home/
autofs 映射安裝點這樣的情況設計的:使用者主目錄將是間接映射中的單個 NFS 共享,可以在使用者登錄和註銷時安裝和解除安裝。由於對間接映射的更新會立即生效,因此無需重新啟動服務即可創建新使用者並刪除舊使用者autofs
。如果要掛載 NFS 共享而沒有中間目錄,可以通過在以下位置定義直接映射來實現
auto.master.d/
:rm /etc/auto.master.d/mount.nfs echo "/- /etc/auto.me.nfs" >/etc/auto.master.d/mount.autofs
然後將內容更改
/etc/auto.me.nfs
為:/home/me/nas -fstype=nfs4 nas:/data/directory
最後重新啟動 autofs 服務:
systemctl restart autofs
mount nas:/data/directory /home/me/nas
這應該在您訪問時準確複製命令的效果/home/me/nas
,並允許在沒有程序訪問它時解除安裝它。但是,與間接映射不同,對直接映射配置的任何更改都需要重新啟動 autofs 服務。systemd 的替代解決方案
但是,使用
systemd
,有另一種方法可以設置單個自動掛載目錄,甚至不需要單獨的autofs
服務。只需像這樣寫一個條目/etc/fstab
:nas:/data/directory /home/me/nas nfs nfsvers=4,nofail,x-systemd.automount 0 0
要立即啟動此條目,您需要兩個命令:
systemctl daemon-reload #triggers systemd-fstab-generator to re-make *.mount and *.automount units systemctl start home-me-nas.automount #starts the newly created automount unit
否則,它將在下次重新啟動時自動啟動。
有關更多詳細資訊和配置選項,請閱讀
man systemd.mount
。