NFS詳解——局域網中的共享存儲技術


一、NFS共享存儲服務概述

1、NFS的概念及優點

NFS是一種基於TCP/IP傳輸的網絡文件系統協議。

通過使用NFS協議,客戶機可以像訪問本地目錄一樣訪問遠程服務器中的共享資源;對於大多數負載均衡群集來說,使用NFS協議來共享數據存儲是比較常見的方法,NFS也是NAS存儲設備必然支持的一種協議;

2、NFS的缺點

由於NFS沒有用戶認證機制,而且數據在網絡上明文傳輸,所以安全性很差,一般只在局域網中使用。

3、NFS的使用要求:

NFS服務的實現依賴於RPC(遠程過程調用)機制,以完成遠程到本地的映射過程,所以需要安裝nfs-utils、rpcbind軟件包來提供共享服務,前者用於NFS共享發布和訪問,后者用於RPC支持。

• 依賴於RPC (遠端過程調用)
• 需安裝nfs-utils、rpcbind軟件包
• 系統服務: nfs、rpcbind
• 共享配置文件: /etc/exports

4、NFS的配置文件

NFS的配置文件為/etc/exports
格式為:共享的目錄名稱 客戶機地址(權限選擇)

5、NFS原理圖

二、NFS共享存儲服務配置的步驟

1、服務器端配置

1.1  安裝nfs-utils和rpcbind程序,可使用yum和rpm進行安裝

rpm -q rpcbind nfs-utils 					#查看是否安裝
yum install-y rpcbind nfs-utils 			#未安裝可以使用yum進行安裝

1.2 設置共享目錄

mkdir -p /opt/share						#創建目錄
chmod 777 /opt/share						#賦予權限
vim /etc/exports							#編輯配置文件
/opt/share 192.168.229.0/24(rw,sync,no_root_squash)			#新增的配置

配置文件內容的解釋:

客戶機地址可以是主機名、IP地址、網段地址,允許使用“*”、“?”通配符;

“rw”表示允許讀寫,“ro”表示為只讀;
“sync”:表示同步寫入到內存與硬盤中;
“no_root_squash”:表示當客戶機以root身份訪問時賦予本地root權限(默認是root_squash);
“root_squash”:表示客戶機用root用戶訪問更改共享目錄時,將root用戶映射成匿名用戶;

其他常用選項:

“all_sauash”:所有訪問用戶都映射為匿名用戶或者用戶組;
“async”:將數據先保存在內存緩沖區中,必須時才寫入磁盤;
“subtree_check”(默認):若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限;
“no_subtree_check”:即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣做可以提高效率。
“anonuid=xxx”:指定NFS服務器/etc/passwd文件中的匿名用戶的UID
“anongid=xxx”:指定NFS服務器/etc/passwd文件中的匿名用戶的GID

1.3、關閉防火牆和增強安全功能(可在配置實驗前將其關閉,以防后面忘記)

systemctl stop firewalld
setenforce 0
systemctl status firewalld  

1.4、啟動NFS服務,並查看rpcbind端口是否開啟(默認為TCP端口111)

注意:手動加載NFS時,應該先啟動rpcbind,再啟動nfs

systemctl start rpcbind				#開啟rpcbind
systemctl start nfs					#開啟nfs
systemctl enable rpcbind			#將rpcbind設為自啟動
systemctl enable nfs				#將nfs設為自啟動

netstat -anpt | grep rpcbind		#查看rpcbind是否開啟
netstat -anpt | grep 111			#查看端口111是否開啟

1.5 發布NFS共享目錄並查看  

exportfs -rv						#發布NFS共享目錄
showmount -e						#查看NFS共享目錄

2、客戶端配置

2.1 安裝nfs-utils和rpcbind程序,可使用yum和rpm進行安裝  

rpm -q rpcbind nfs-utils 					#查看是否安裝
yum install-y rpcbind nfs-utils 			#未安裝可以使用yum進行安裝

2.2 查看服務器端共享的目錄,然后進行掛載(手動或者自動掛載)  

showmount -e 192.168.229.30                            #查看服務器NFS共享目錄
mkdir /data	                               #新建目錄						
mount 192.168.229.30:/opt/share  /data/		#進行手動掛載
df -hT 												#查看掛載情況

設置自動掛載:
vim /etc/fstab
192.168.229.30:/opt/share   /data   nfs  defaults,_netdev     0 0

_netdev:表示掛載設備需要網絡

2.3 強制卸載NFS  

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

umount -lf /server_share/							#強制卸載

三、實例操作:配置NFS共享存儲服務  

1、服務器端基本配置(服務器端IP地址為192.168.229.30)

1.1 查看是否安裝nfs-utils和rpcbind程序,如未安裝可用yum或者rpm安裝

1.2  新建共享目錄並修改權限

1.3 編輯NFS的配置文件(新增配置,格式為共享目錄的名稱  客戶機地址(權限選擇)  

 

 1.4 關閉防火牆和增強安全功能

1.5 啟動NFS服務,並查看rpcbind端口是否開啟

  

1.6 發布NFS共享目錄並查看

2、客戶端基本配置(客戶端IP地址為192.168.229.20)

2.1  查看是否安裝nfs-utils和rpcbind程序,如未安裝可用yum或者rpm安裝

2.2   查看服務器端共享的目錄,然后進行掛載

3、測試共享存儲功能

3.1  測試1:在服務器端創建文件,在客戶端查看

服務器端

客戶端

3.2 測試2:修改NFS配置文件,使用root_equals(系統默認的,可以加也可以直接刪掉),增加anonuid=1001

服務器端

客戶端

3.3 測試3:修改NFS配置文件,將權限修改為只讀(ro)

服務器端

客戶端

3.4 測試4:網頁共享

服務器端

客戶端

四、總結

1、NFS的概念及作用:是一種基於TCP/IP傳輸的網絡文件系統協議;可以實現客戶機訪問遠程服務器中的共享資源

2、NFS的缺點:安全性差

3、NFS的使用要求:需要安裝nfs-utils(共享發布和訪問)、rpcbind(遠程過程調用)

4、NFS的配置文件:/etc/exports

5、配置NFS共享存儲的步驟:

服務器端

第一步:安裝nfs-utils和rpcbind軟件,並關閉防火牆和增強安全功能

第二步:設置共享目錄並把共享目錄的權限設為777

第三步:修改NFS的配置文件(格式為:共享的目錄名稱 客戶機地址(權限))

第四步:啟動NFS服務(先啟動rpcbind,再啟動nfs),並設置開機自啟動

第五步:發布NFS共享目錄,並查看

客戶端

第一步:安裝nfs-utils和rpcbind軟件,並關閉防火牆和增強安全功能

第二步:查看服務器端的共享目錄,並將其掛載到新建目錄上(可手動或自動掛載)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM