一、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軟件,並關閉防火牆和增強安全功能
第二步:查看服務器端的共享目錄,並將其掛載到新建目錄上(可手動或自動掛載)