【Linux學習筆記24-2】網路檔案系統 nfs + 自動掛解除安裝autofs

sdsnzy_9發表於2020-12-04

1. nfs介紹

NFS(Network File System)即網路檔案系統,是FreeBSD支援的檔案系統中的一種,它允許網路中的計算機之間通過TCP/IP網路共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS伺服器上的檔案,就像訪問本地檔案一樣。

  1. 用途:網路上與他人共享目錄和檔案
  2. 優點:節省磁碟空間
  3. 用途:共享檔案

注意

  • NFS不提供加密功能. 在處理敏感資料時,請使用類似Kerberos或安全的VPN的協議傳輸NFS流量
  • Samba不同, NFS預設不提供任何驗證使用者的方法,客戶端訪問限制是通過IP地址和/或hostname實現的.
  • NFS期望user和/或user group的ID在客戶端與服務端上是相同的.使用啟用NFSv4 ID對映,或使用anonuid/anongid並在/etc/exports中啟用all_squash,手動改變UID/GID來解決這一問題

2. nfs安裝及啟用

  1. dnf search nfs查詢
  2. dnf install nfs-utils.x86_64 -y:安裝
  3. systemctl enable --now nfs-server:啟動服務
  4. 新增火牆設定:
    • firewall-cmd --permanent --add-service=rpc-bind
    • firewall-cmd --permanent --add-service=mountd
    • firewall-cmd --permanent --add-service=nfs
    • firewall-cmd --reload
  5. showmount -e 伺服器主機IP:檢視nfs伺服器共享資訊
showmount引數
-e顯示NFS伺服器的共享列表
-a顯示本機掛載的檔案資源的情況(NFS資源的情況)
-v顯示版本號

在這裡插入圖片描述
在這裡插入圖片描述

3. nfs配置

  • 配置檔案:/etc/exports
#檔案格式
共享目錄		共享給誰(共享引數)
  • exportfs -rv:重新整理後/etc/exports生效並輸出詳細資訊
  • showmount -e 伺服器主機IP:檢視nfs伺服器共享資訊
  • mount 伺服器主機IP:共享目錄 掛載點:掛載
exportfs引數
-r重新讀取並同步/etc/exports和/etc/exports.d
-v輸出詳細資訊
-a掛載或解除安裝/etc/exports所有目錄
-u解除安裝單一目錄(和a一起為解除安裝所有)
-s顯示適用於/etc/exports的當前匯出目錄列表

3.1 伺服器端配置

  1. mkdir /lwh:建立共享目錄
  2. chmod 777 /lwh/:修改目錄許可權
  3. touch /lwh/lwh_file{1…3}:建立共享檔案
  4. vim /etc/exports:編輯配置檔案
/lwh	*(ro)	#共享/lwh目錄,共享給所有人,只讀共享
共享目錄		共享給誰(共享引數)
  1. exportfs -rv:重新整理後/etc/exports生效並輸出詳細資訊

在這裡插入圖片描述

3.2 客戶端測試

  1. showmount -e 192.168.43.101:檢視nfs伺服器共享資訊
  2. mount 192.168.43.101:/lwh /mnt/:掛載

在這裡插入圖片描述

4. nfs共享引數

ro只讀
rw讀寫
sync實時同步資料到伺服器 (效率低,但保證資料一致性)
async更改生成後同步資料到伺服器
root_squashroot使用者及所屬組都對映為匿名使用者或組nobody(預設)
no_root_squashroot使用者掛載不轉換身份
all_squash客戶端無論以什麼身份訪問,都對映為匿名使用者nobody
anonuid=1000指定使用者身份
anongid=1000指定使用者組身份

4.1 訪問許可權

  • 伺服器端配置

在這裡插入圖片描述

  • 客戶端掛載測試

在這裡插入圖片描述

4.2 使用者設定1

  • 伺服器端配置

在這裡插入圖片描述

  • 客戶端掛載測試

在這裡插入圖片描述

  • 伺服器端對照建立檔案使用者及使用者組

在這裡插入圖片描述

4.3 使用者設定2

  • 伺服器端配置

在這裡插入圖片描述

  • 客戶端掛載測試

在這裡插入圖片描述

4.4 新增版本號掛載

mount -o vers=3 伺服器端IP:共享目錄 掛載目錄

在這裡插入圖片描述

5. nfs+autofs自動掛解除安裝

autofs:在客戶端實現自動掛載解除安裝的軟體;

mount是用來掛載檔案系統的,可以在系統啟動的時候掛載也可以在系統啟動後掛載。對於本地固定裝置,如硬碟可以使用mount掛載;而光碟、軟盤、NFS、SMB等檔案系統具有動態性,即需要的時候才有必要掛載。光碟機和軟盤我們一般知道什麼時候需要掛載,但NFS和SMB共享等就不一定知道了,即我們一般不能及時知道NFS共享和SMB什麼時候可以掛載。而autofs服務就提供這種功能,好像windows中的光碟機自動開啟功能,能夠及時掛載動態載入的檔案系統。免去我們手動掛載的麻煩。要實現光碟機,軟盤等的動態自動掛載,需要進行相關的配置。

dnf install autofs -y:客戶端安裝autofs

5.1 自動掛載實驗1

  1. vim /etc/auto.master:編輯配置檔案
/mnt    /etc/auto.nfs
最終掛載點的上層目錄	自動定義子策略檔案

在這裡插入圖片描述

  1. vim /etc/auto.nfs:編輯自動定義子策略檔案
 nfs     -vers=3 192.168.43.101:/westosdir
 最終掛載點	版本	掛載資源

在這裡插入圖片描述

  1. vim /etc/autofs.conf:修改預設解除安裝時間
timeout = 3	#自動解除安裝時間預設為300秒
  1. systemctl restart autofs.service:重啟服務
  2. 測試

在這裡插入圖片描述

5.2 自動掛載實驗2

5.2.1 客戶端autofs配置

  1. vim /etc/auto.master:編輯配置檔案
/home   /etc/auto.nfs
最終掛載點的上層目錄	自動定義子策略檔案

在這裡插入圖片描述

  1. vim /etc/auto.nfs:編輯自動定義子策略檔案
*       -vers=3 192.168.43.101:/lwh/&
最終掛載點	版本	掛載資源

在這裡插入圖片描述

  1. vim /etc/autofs.conf:修改預設解除安裝時間
timeout = 3	#自動解除安裝時間預設為300秒
  1. systemctl restart autofs.service:重啟服務

5.2.2 服務端設定

  1. mkdir /lwh/sdsnzy1 /lwh/sdsnzy2:建立目錄並建立檔案

在這裡插入圖片描述

5.2.3 客戶端測試

在這裡插入圖片描述

相關文章