NFS共享儲存服務

這小夥長的不孬發表於2020-12-12

NFS介紹

NFS是一種基於TCP/IP傳輸的網路檔案系統協議,通過使用NFS協議,客戶機可以像訪問本地目錄一樣訪問遠端伺服器中的共享資源

NFS的弊端

對於大多數負載均衡群集來說,使用NFS協議來共享資料儲存是比較常見的做法,NFS也是NAS儲存裝置必然支援的一種協議。但是由於NFS沒有使用者認證機制,而且資料在網路上明文傳輸,所以安全性很差,一般只能在區域網中使用。

NFS的依賴

NFS服務的實現依賴於RPC (Remote Process Call,遠端過程呼叫)機制,以完成遠端到本地的對映過程。所以需要安裝nfs-utils、 rpcbind 軟體包來提供NFS共享服務,前者用於NFS共享釋出和訪問,後者用於RPC 支援。

NFS原理圖

在這裡插入圖片描述

NFS配置安裝

NFS服務的實現依賴於RPC (Remote Process Call,遠端過程呼叫)機制,以完成遠端到本地的對映過程。所以需要安裝nfs-utils、 rpcbind 軟體包來提供NFS共享服務,前者用於NFS共享釋出和訪問,後者用於RPC支援。

NFS的配置檔案在/etc/exports位置當中
格式為:共享目錄的位置   客戶機地址(許可權選項)
在這裡插入圖片描述

第一步:安裝nfs-utils、rpcbind軟體包

rpm -q rpcbind nfs-utils
yum  -y  install  nfs-utils  rpcbind

在這裡插入圖片描述

第二步:設定共享目錄

vim /etc/exports
/opt/wwwroot 192. 168.80.0/24 (rw, sync, no_ root_ _squash)
/var/ftp/pub 192.168.4.11(ro) 192.168.4.110 (rw)
*/share (rw, sync)

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

其他常用選項

all_squash:所有訪問使用者都對映為匿名使用者或使用者組。
async :將資料先儲存在記憶體緩衝區中,必要時才寫入磁碟。
subtree_ check (預設) :若輸出目錄是一個子目錄,則nfs伺服器將檢查其父目錄的許可權。
no_subtree_check:即使輸出目錄是一一個子目錄,nfs伺服器也不檢查其父目錄的許可權,這樣可以提高效率。
anonuid=xxx :指定NFS服 務器/etc/passwd檔案中匿名使用者的UID
anongid=xxx :指定NFS伺服器/etc/passwd檔案中匿名使用者的GID

第三步NFS服務程式

systemctl start rpcbind
sys temct 1 start nfs
systemctl enable rpcbind
systemctl enable nfs

在這裡插入圖片描述

第四步:檢視本機的NFS共享目錄

exportfs- rv     #釋出共享
showmount -e

在這裡插入圖片描述

客戶機中訪問NFS共享資源

安裝nfs-utils、 rpcbind 軟體包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind

#檢視NFS伺服器端共享了哪些目錄
showmount -e 192.168.80.10

在這裡插入圖片描述

手動掛載NFS共享目錄

mkdir /myshare
mount 192.168.162.10:/opt/wwwroot /myshare

mount    #確認掛載結果,也可以使用df -Th

在這裡插入圖片描述
再在伺服器/opt/share目錄進行檢視,是否同步
在這裡插入圖片描述

強制解除安裝 NFS

umount -lf /myshare

如果伺服器端NFS服務突然間停掉了,而客戶端正在掛載使用時,在客戶端就會出現執行 df -h 命令卡死的現象。這個時候直接使用umount 命令是無法直接解除安裝的,需要加上-lf 選項才能解除安裝。

相關文章