如何使用 autofs 挂载 NFS 共享
給你的網(wǎng)絡文件系統(tǒng)(NFS)配置一個基本的自動掛載功能。
大多數(shù) Linux 文件系統(tǒng)在引導時掛載,并在系統(tǒng)運行時保持掛載狀態(tài)。對于已在 fstab 中配置的任何遠程文件系統(tǒng)也是如此。但是,有時你可能希望僅按需掛載遠程文件系統(tǒng)。例如,通過減少網(wǎng)絡帶寬使用來提高性能,或出于安全原因隱藏或混淆某些目錄。autofs 軟件包提供此功能。在本文中,我將介紹如何配置基本的自動掛載。
首先做點假設:假設有臺 NFS 服務器 tree.mydatacenter.net 已經(jīng)啟動并運行。另外假設一個名為 ourfiles 的數(shù)據(jù)目錄還有供 Carl 和 Sarah 使用的用戶目錄,它們都由服務器共享。
一些最佳實踐可以使工作更好:服務器上的用戶和任何客戶端工作站上的帳號有相同的用戶 ID。此外,你的工作站和服務器應有相同的域名。檢查相關配置文件應該確認。
alan@workstation1:~$ sudo getent passwd carl sarah [sudo] password for alan: carl:x:1020:1020:Carl,,,:/home/carl:/bin/bash sarah:x:1021:1021:Sarah,,,:/home/sarah:/bin/bashalan@workstation1:~$ sudo getent hosts 127.0.0.1 localhost 127.0.1.1 workstation1.mydatacenter.net workstation1 10.10.1.5 tree.mydatacenter.net tree 復制代碼如你所見,客戶端工作站和 NFS 服務器都在 hosts 文件中配置。我假設這是一個基本的家庭甚至小型辦公室網(wǎng)絡,可能缺乏適合的內部域名服務(即 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* alan@workstation1:/etc$ 復制代碼配置 autofs
現(xiàn)在你需要編輯其中幾個文件并添加 auto.home 文件。首先,將以下兩行添加到文件 auto.master 中:
/mnt/tree ?/etc/auto.misc /home/tree ?/etc/auto.home 復制代碼每行以掛載 NFS 共享的目錄開頭。繼續(xù)創(chuàng)建這些目錄:
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 目錄中。
第三步,使用以下行創(chuàng)建文件 auto.home:
* ? ? ? ? ? ? ? -fstype=nfs ? ? tree:/home/& 復制代碼該行表示 autofs 將掛載 auto.master 文件中匹配 auto.home 的用戶共享。在這種情況下,Carl 和 Sarah 的文件將分別在目錄 /home/tree/carl 或 /home/tree/sarah中。星號 *(稱為通配符)使每個用戶的共享可以在登錄時自動掛載。& 符號也可以作為表示服務器端用戶目錄的通配符。它們的主目錄會相應地根據(jù) passwd 文件映射。如果你更喜歡本地主目錄,則無需執(zhí)行此操作。相反,用戶可以將其用作特定文件的簡單遠程存儲。
最后,重啟 autofs 守護進程,以便識別并加載這些配置的更改。
alan@workstation1:/etc$ sudo service autofs restart 復制代碼測試 autofs
如果更改文件 auto.master 中的列出目錄,并運行 ls 命令,那么不會立即看到任何內容。例如,切換到目錄 /mnt/tree。首先,ls 的輸出不會顯示任何內容,但在運行 cd ourfiles 之后,將自動掛載 ourfiles 共享目錄。 cd 命令也將被執(zhí)行,你將進入新掛載的目錄中。
carl@workstation1:~$ cd /mnt/tree carl@workstation1:/mnt/tree$ ls carl@workstation1:/mnt/tree$ cd ourfiles carl@workstation1:/mnt/tree/ourfiles$ 復制代碼為了進一步確認正常工作,mount 命令會顯示已掛載共享的細節(jié)。
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 目錄工作方式相同。
我發(fā)現(xiàn)在我的文件管理器中添加這些目錄的書簽很有用,可以用來快速訪問。
via: opensource.com/article/18/…
作者:Alan Formy-Duval 選題:lujun9972 譯者:geekpi 校對:wxy
本文由 LCTT 原創(chuàng)編譯,Linux中國 榮譽推出
總結
以上是生活随笔為你收集整理的如何使用 autofs 挂载 NFS 共享的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Webpack核心概念解析
- 下一篇: Flutter 混合开发实战问题记录(三