如何使用 autofs 掛載 NFS 共享 | Linux 中國

2022-01-04 Linux中國

大多數 Linux 文件系統在引導時掛載,並在系統運行時保持掛載狀態。對於已在 fstab 中配置的任何遠程文件系統也是如此。但是,有時你可能希望僅按需掛載遠程文件系統。例如,通過減少網絡帶寬使用來提高性能,或出於安全原因隱藏或混淆某些目錄。autofs 軟體包提供此功能。在本文中,我將介紹如何配置基本的自動掛載。

首先做點假設:假設有臺 NFS 伺服器 tree.mydatacenter.net 已經啟動並運行。另外假設一個名為 ourfiles 的數據目錄還有供 Carl 和 Sarah 使用的用戶目錄,它們都由伺服器共享。

一些最佳實踐可以使工作更好:伺服器上的用戶和任何客戶端工作站上的帳號有相同的用戶 ID。此外,你的工作站和伺服器應有相同的域名。檢查相關配置文件應該確認。

alan@workstation1:~$ sudo getent passwd carl sarah[sudo] password for alan:carl:x:1020:1020:Carl,,,:/home/carl:/bin/bashsarah:x:1021:1021:Sarah,,,:/home/sarah:/bin/bashalan@workstation1:~$ sudo getent hosts127.0.1.1 workstation1.mydatacenter.net workstation110.10.1.5 tree.mydatacenter.net tree

如你所見,客戶端工作站和 NFS 伺服器都在 hosts 文件中配置。我假設這是一個基本的家庭甚至小型辦公室網絡,可能缺乏適合的內部域名服務(即 DNS)。

安裝軟體包

你只需要安裝兩個軟體包:用於 NFS 客戶端的 nfs-common 和提供自動掛載的 autofs。

alan@workstation1:~$ sudo apt-get install nfs-common autofs

你可以驗證 autofs 相關的文件是否已放在 /etc 目錄中:

alan@workstation1:~$ cd /etc; ll auto*-rw-r--r-- 1 root root 12596 Nov 19 2015 autofs.conf-rw-r--r-- 1 root root 857 Mar 10 2017 auto.master-rw-r--r-- 1 root root 708 Jul 6 2017 auto.misc-rwxr-xr-x 1 root root 1039 Nov 19 2015 auto.net*-rwxr-xr-x 1 root root 2191 Nov 19 2015 auto.smb*

配置 autofs

現在你需要編輯其中幾個文件並添加 auto.home 文件。首先,將以下兩行添加到文件 auto.master 中:

/mnt/tree  /etc/auto.misc/home/tree  /etc/auto.home

每行以掛載 NFS 共享的目錄開頭。繼續創建這些目錄:

alan@workstation1:/etc$ sudo mkdir /mnt/tree /home/tree

接下來,將以下行添加到文件 auto.misc:

ourfiles        -fstype=nfs     tree:/share/ourfiles

該行表示 autofs 將掛載 auto.master 文件中匹配 auto.misc 的 ourfiles 共享。如上所示,這些文件將在 /mnt/tree/ourfiles 目錄中。

第三步,使用以下行創建文件 auto.home:

*               -fstype=nfs     tree:/home/&

該行表示 autofs 將掛載 auto.master 文件中匹配 auto.home 的用戶共享。在這種情況下,Carl 和 Sarah 的文件將分別在目錄 /home/tree/carl 或 /home/tree/sarah中。星號 *(稱為通配符)使每個用戶的共享可以在登錄時自動掛載。& 符號也可以作為表示伺服器端用戶目錄的通配符。它們的主目錄會相應地根據 passwd 文件映射。如果你更喜歡本地主目錄,則無需執行此操作。相反,用戶可以將其用作特定文件的簡單遠程存儲。

最後,重啟 autofs 守護進程,以便識別並加載這些配置的更改。

alan@workstation1:/etc$ sudo service autofs restart

測試 autofs

如果更改文件 auto.master 中的列出目錄,並運行 ls 命令,那麼不會立即看到任何內容。例如,切換到目錄 /mnt/tree。首先,ls 的輸出不會顯示任何內容,但在運行 cd ourfiles 之後,將自動掛載 ourfiles 共享目錄。 cd 命令也將被執行,你將進入新掛載的目錄中。

carl@workstation1:~$ cd /mnt/treecarl@workstation1:/mnt/tree$ lscarl@workstation1:/mnt/tree$ cd ourfilescarl@workstation1:/mnt/tree/ourfiles$

為了進一步確認正常工作,mount 命令會顯示已掛載共享的細節。

carl@workstation1:~$ mounttree:/mnt/share/ourfiles on /mnt/tree/ourfiles type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.1.22,local_lock=none,addr=10.10.1.5)

對於 Carl 和 Sarah,/home/tree 目錄工作方式相同。

我發現在我的文件管理器中添加這些目錄的書籤很有用,可以用來快速訪問。

via: https://opensource.com/article/18/6/using-autofs-mount-nfs-shares

作者:Alan Formy-Duval 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關焦點

  • NFS客戶端mount掛載優化
    NFS客戶端mount掛載優化NFS作用NFS服務可以讓不同的客戶端掛載使用同一個上目錄
  • NFS文件共享伺服器
    NFS客戶端可以將NFS伺服器共享的目錄掛載在本地的文件系統中,訪問目錄就如同訪問自己本地目錄一樣。b、配置客戶端搜索共享文件showmount -e 192.168.80.25創建掛載目錄mkdir /mnt/nfs掛載mount -t nfs 192.168.80.25:/data/bijs /mnt/nfs# 推薦使用mount -t nfs -o soft,timeo=
  • Windows上面掛載NFS共享
    導讀眾所周知,nfs和smb是Linux伺服器上的文件共享協議,smb使用的是samba協議和windows的文件共享使用的是一種協議,也就是說smb是跨平臺的文件共享協議,而NFS個人認為是Linux系統或者類uinx系統的文件共享協議。
  • Linux 系統安裝 AutoFs 掛載服務
    點擊下方「民工哥技術之路」,選擇「設為星標」
  • 關於 Linux中NFS的一些筆記
    ——中島敦《山月記》NFSNFS(Network File System, 網絡文件系統),用來為客戶機提供共享使用的文件夾;將NFS伺服器分享的目錄,掛載到本地機器當中,本地NFS的客戶端應用可以讀寫位於遠端NFS伺服器上的文件,在客戶端端看起來,就像訪問本地文件一樣。
  • linux NFS 遠程伺服器共享目錄
    一、NFS伺服器的安裝檢查linux系統中是否安裝了nfs-utils和portmap兩個軟體包(RHEL4系統默認已經安裝了這兩個軟體包)命令#rpm –q nfs-utils portmap二、查看NFS伺服器是否啟動命令#service nfs starus
  • Windows Server掛載NFS共享
    主要功能:通過網絡(區域網)讓不同的主機系統之間可以共享文件或目錄。主要用途:NFS網絡文件系統一般被用來存儲共享視頻,圖片,附件等靜態資源文件。關於埠使用說明:1.通過網絡來進行數據傳輸,因此會使用一些埠來傳輸數據。2.NFS在傳輸數據的時候使用的埠會隨機選擇。通過RPC(遠程過程調用)協議/服務來實現。
  • K8S如何掛載NFS
    大家好,這篇文章記錄一下如何在k8s上掛載NFS。1.
  • Linux網絡文件系統NFS
    NFS網絡文件系統類似windows系統的網絡共享、安全功能、網絡驅動器映射,這也和linux系統裡的samba服務類似。應用於網際網路中小型集群架構後端作為數據共享,如果是大型網站,那麼有可能還會用到更複雜的分布式文件系統,例如Moosefs(mfs)、glusterfs、FastDFS。
  • Hi3516通過NFS掛載方式與Windows共享文件
    今天我們來學習一下搭建 NFS 實現 Hi3516 開發板與 Windows 之間共享文件,藉助 NFS 可以使得向 Hi3516 拷貝 hap 等文件更加方便。NFS(Network File System,網絡文件系統)是當前主流異構平臺共享文件系統之一,主要應用在 UNIX 環境下。
  • 樹莓派自建 NAS 雲盤之——樹莓派搭建網絡存儲盤 | Linux 中國
    我將在接下來的這三篇文章中講述如何搭建一個簡便、實用的 NAS 雲盤系統。我在這個中心化的存儲系統中存儲數據,並且讓它每晚都會自動的備份增量數據。本系列文章將利用 NFS 文件系統將磁碟掛載到同一網絡下的不同設備上,使用 Nextcloud[1] 來離線訪問數據、分享數據。本文主要講述將數據盤掛載到遠程設備上的軟硬體步驟。
  • linux | NFS的簡單使用
    NFS掛載原理當我們在NFS伺服器設置好一個共享目錄後,其他的有權訪問NFS伺服器的NFS客戶端就可以將這個目錄掛載到自己文件系統的某個掛載點,並且可以在本地能夠看到服務端共享目錄的所有數據。NFS是通過網絡來進行伺服器端和客戶端之間的數據傳輸,默認埠開在2049。
  • 【教程】NFS掛載那些事
    但是NFS的特殊之處在於,它可以通過網絡來掛載,而不用燒寫到設備上。這就跟網吧裡使用PXE啟動來搭建無盤系統一樣:每臺電腦並沒有安裝硬碟,而是直接通過PXE啟動伺服器上的系統,看起來每臺電腦都有硬碟,其實都是掛載伺服器上的硬碟。NFS怎麼用?前邊已經介紹過,NFS是C/S架構,也就是說,使用NFS需要搭建伺服器和客戶端。
  • centos7配置nfs共享存儲服務
    id,驗證用戶名,並且只能在類unix os上進行文件共享服務,由於它的脆弱的驗證機制,所以不適宜在internet上工作,在內網使用是非常可行的。=mountdfirewall-cmd --reloadfirewall-cmd --list-all #查看firewalld方向的資源showmount -e nfs_server_ip: 查看nfs服務端的可用掛載點mount -t nfs nfs_server:/var/www/html /bendikongmulu
  • 如何解決 「mount.nfs: Stale file handle」錯誤 | Linux 中國
    當你在你的環境中使用網絡文件系統時,你一定不時看到 mount.nfs:Stale file handle 錯誤。此錯誤表示 NFS 共享無法掛載,因為自上次配置後有些東西已經更改。無論是你重啟 NFS 伺服器或某些 NFS 進程未在客戶端或伺服器上運行,或者共享未在伺服器上正確輸出,這些都可能是導致這個錯誤的原因。
  • NFS, linux系統間文件共享
    #nfs 安裝cd /opt/software/nfs # 安裝nfsrpm -ivh *.rpm --force --nodeps # 創建共享文件夾mkdir -p /home/files/nfs_share # nfs 啟動# 為rpcbind
  • Citrix虛擬化實戰:Xenserver共享NFS
    操作流程:部署要求,主系統部署,基本操作,虛擬機故障修復,兩種擴展linuxguest虛擬磁碟的方式,動態遷移,主系統nfs調整,快速複製。1. 硬體要求 64位雙核都支持amd虛擬化或intel vt架構。
  • Linux NFS服務的初步了解
    嵌入式linux QQ交流群:175159209,歡迎愛好者加入交流技術問題!
  • 在 Debian 9 (Stretch) 上設置 NFS 伺服器和客戶端
    本文將介紹如何在 Debian 9 上設置 NFS 伺服器和 NFS 客戶端。NFS 代表網絡文件系統,通過 NFS,客戶端可以訪問(讀取、寫入)NFS 伺服器上的遠程共享,就像它在本地硬碟上一樣。目錄/home/client1在標準模式下是共享的,因此寫入此目錄的所有文件都以用戶nobody 和組nogroup 存儲。對於目錄/var/www,我使用 no_root_squash 選項指示 NFS 伺服器保留文件的權限和所有權。
  • 企業級共享存儲系統 NFS 全面講解
    那RPC又是如何知道每個NFS的埠呢?這是因為當伺服器在啟動 NFS 時會隨機取用數個埠,並主動的向 RPC 註冊,因此 RPC 可以知道每個埠口對應的 NFS 功能,然後 RPC 又是固定使用 111 埠來監聽客戶端的需求並報客戶端正確的埠口, 所以當然可以讓 NFS 的啟動更為輕鬆愉快了。