深圳保障性住房管理辦法湖南seo優(yōu)化哪家好
Linux/centos上如何配置管理NFS服務(wù)器?
- 1 NFS基礎(chǔ)了解
- 1.1 NFS概述
- 1.2 NFS工作流程
- 2 安裝和啟動NFS服務(wù)
- 2.1 安裝NFS服務(wù)器
- 2.2 啟動NFS服務(wù)
- 3 配置NFS服務(wù)器和客戶端
- 3.1 配置NFS服務(wù)器
- 3.2 配置NFS客戶端
- 4 實際示例
- 4.1 基本要求
- 4.2 案例實現(xiàn)
1 NFS基礎(chǔ)了解
NFS(Network File System)
即文件操作系統(tǒng);NFS
允許網(wǎng)絡(luò)中不同計算機相互之間共享資源。
1.1 NFS概述
- 1980年由
SUN
發(fā)展出來的在UNIX&Linux
系統(tǒng)間實現(xiàn)文件共享的一種方法; - 是一種文件系統(tǒng)協(xié)議,支持應(yīng)用程序在客戶端通過網(wǎng)絡(luò)存取位于服務(wù)器磁盤中的數(shù)據(jù);
NFS
只提供網(wǎng)絡(luò)文件共享,不提供數(shù)據(jù)傳輸功能;NFS
客戶端和服務(wù)端需借助RPC(Remote Procedure Calls)
實現(xiàn)數(shù)據(jù)傳輸;NFS
服務(wù)器目錄被訪問稱為導出(export
),客戶機訪問導出目錄過程稱為掛載(mount
)或?qū)?#xff08;import
)。
1.2 NFS工作流程
第一步:訪問NFS共享資源,NFS客戶端發(fā)出詢問請求,即客戶端RPC服務(wù)通過網(wǎng)絡(luò)向服務(wù)端RPC服務(wù)的111端口發(fā)出詢問請求。
第二步: NFS服務(wù)端RPC找到對應(yīng)已注冊的NFSdaemon端口,通知客戶端RPC;
第三步:NFS客戶端獲取端口,直接與NFSNFSdaemon聯(lián)機存儲數(shù)據(jù)。
第四步:NFS客戶端吧數(shù)據(jù)存儲成功后,告訴用戶結(jié)果。
2 安裝和啟動NFS服務(wù)
2.1 安裝NFS服務(wù)器
- 一般情況,系統(tǒng)均已安裝NFS;
- 先檢查下是否安裝NFS,以下兩個是相關(guān)的依賴包:
rpm -qa | grep nfs-utils
rpm -qa | grep rpcbind
- 經(jīng)檢查是已經(jīng)安裝了的:
- 如果系統(tǒng)沒有安裝NFS依賴包,則需要安裝:
yum clean all
yum -y install nfs-utils rpcbind
2.2 啟動NFS服務(wù)
- NFS狀態(tài)查看:
systemctl status rpcbind.service
systemctl status nfs.service
- 啟動NFS服務(wù):
systemctl start rpcbind.service
systemctl start nfs.service
- 再次查看狀態(tài),都是啟動的:
- 停止NFS服務(wù):
systemctl stop nfs.service
- 重啟NFS服務(wù):
systemctl restart nfs.service
- 設(shè)置開機自啟動NFS服務(wù):
systemctl enable rpcbind.service
systemctl enable nfs.service
3 配置NFS服務(wù)器和客戶端
3.1 配置NFS服務(wù)器
- 配置文件在
/etc/exports
; - 格式為:
共享目錄 [客戶端1(參數(shù))] [客戶端2(參數(shù))]
共享目錄:NFS服務(wù)器需要共享的實際路徑(絕對路徑);
客戶端:可以訪問共享目錄的計算機。
- 客戶端常用形式:
客戶端 | 說明 |
---|---|
192.168.1.111 | 指定IP地址的主機 |
192.168.1.0/24 | 指定子網(wǎng)的所有主機 |
192.168.1.* | 指定子網(wǎng)的所有主機 |
www.xxx.com | 指定域名的主機 |
*.xxx.com | 指定域中的所有主機 |
* | 所有主機 |
訪問權(quán)限參數(shù):訪問權(quán)限設(shè)置。
- 常用訪問權(quán)限:
訪問權(quán)限 | 說明 |
---|---|
ro | 只讀 |
rw | 讀寫 |
用戶映射參數(shù)
- 用戶映射參數(shù)表:
用戶映射 | 說明 |
---|---|
all_squash | 將遠程訪問的所有用戶映射為匿名用戶或用戶組(nfsnobody ) |
no_all_squash | 與上邊相反(默認設(shè)置) |
root_squash | 將root用戶… (默認設(shè)置) |
no_root_squash | 與上邊相反 |
anonuid=xxx | 將該匿名賬號為本地賬號(UID=xxx ) |
anongid=xxx | 將該匿名用戶組為本地用戶組(GID=xxx) |
其它參數(shù):對輸出目錄進行控制。
- 常用其它參數(shù):
其它參數(shù) | 說明 |
---|---|
secure | 限制客戶端只能從小于1024的TCP/IP端口鏈接NFS |
insecure | 語序客戶端大于1024的TCP/IP端口連接NFS |
sync | 將數(shù)據(jù)同步寫入內(nèi)存緩沖區(qū)與磁盤中 |
async | 將數(shù)據(jù)先保存在緩沖區(qū)中,必要時才寫入磁盤 |
wdelay | 檢查是否有相關(guān)的寫操作 |
no_wdelay | 有寫操作立即執(zhí)行,與sync 配合使用 |
subtree_check | 若輸出目錄為子目錄,則NFS服務(wù)器將檢查父目錄的權(quán)限 |
no_subtree_check | 若輸出目錄為子目錄,則NFS服務(wù)器不檢查父目錄的權(quán)限 |
- 比如將
/mnt/temp
目錄,只給IP為172.16.1.33
的計算機進行讀寫權(quán)限:
/mnt/temp 172.16.1.33 (rw, sync)
- 比如將
/mnt/temp01
目錄,只給子網(wǎng)中為172.16.1.0/24
的計算機進行讀寫權(quán)限,其他計算機制只讀權(quán)限:
/mnt/temp0 172.16.1.0/24 (rw, async) * (ro)
3.2 配置NFS客戶端
- 查看NFS服務(wù)器信息:
showmount [選項] (參數(shù))
-d:僅顯示已被NFS客戶端加載的共享目錄;
-e:顯示NFS服務(wù)器上所有的共享目錄。
showmount -e 192.168.0.190
在使用showmount時建議關(guān)閉防火墻,將SELinux設(shè)為為允許。
systemctl stop firewalld.service
setenforce 0
getenforce
- 掛在NFS服務(wù)器的共享目錄:
將NFS的共享目錄掛在到本地:
mount -t NFS服務(wù)器IP:輸出目錄 本地掛在目錄
- 比如:
mkdir /mnt/mytemp
mount -t nfs 192.168.0.190:/mnt/mytemp /mnt/mytemp
- 卸載NFS服務(wù)器:
umount 掛載點
- 啟動時自動掛在NFS共享目錄:
192.168.0.190: /mnt/temp /mnt/mytemp nfs defaults 0 0
4 實際示例
4.1 基本要求
- NFS服務(wù)器192.168.0.190;
- 要求1:共享目錄/mnt/temp,允許192.168.0.0/24網(wǎng)段內(nèi)計算機訪問;
- 要求2:共享目錄/mnt/share, 允許用戶zhang訪問,IP為192.168.0.10;
- 要求3:共享目錄/mnt/upload,允許192.168.0.0/24網(wǎng)段作為上傳目錄,所屬組為nfsupload,UID和GID均為666;
- 要求4:共享目錄/mnt/nfs,除192.168.0.0/24網(wǎng)段用戶訪問,只讀,可向internet提供數(shù)據(jù)內(nèi)容;
4.2 案例實現(xiàn)
- 安裝NFS服務(wù):
yum -y install rpcbind
yum -y install nfs-utils
- 創(chuàng)建目錄和測試文件:
# 創(chuàng)建目錄:
mkdir -p /mnt/temp
mkdir -p /mnt/share
mkdir -p /mnt/upload
mkdir -p /mnt/nfs# 創(chuàng)建測試文件
touch /mnt/temp/temp1.txt /mnt/temp/temp2.txt
touch /mnt/share/data1.txt /mnt/share/data2.txt
touch /mnt/upload/upload.txt
touch /mnt/nfs/nfs1.txt /mnt/nfs/nfs2.txt
- 設(shè)置共享目錄權(quán)限屬性:
# 要求1:
chmod 1777 /mnt/temp/
ll -d /mnt/temp/
# 要求2:
useradd zhang
passwd zhang
cat /etc/passwd | grep zhang
chmod 700 /mnt/share/
chown -R zhang:zhang /mnt/share/
ll -d /mnt/share/
# 要求3:
groupadd -g 666 nfsupload
useradd -g 666 -u 666 -M nfsupload
cat /etc/passwd | grep nfs
chown -R nfsupload:nfsupload /mnt/upload
ll -d /mnt/upload/
# 要求4:
ll -d /mnt/nfs/
- 編輯
/etc/exports
:
/mnt/temp 192.168.0.0/24 (rw,no_root_squash)
/mnt/share 192.168.0.10 (rw)
/mnt/upload 192.168.0.0/24 (rw,all_squash,anonuid = 666,anongid = 666)
/mnt/nfs 192.168.0.0/24 (ro) * (rw,all_squash)
- 關(guān)閉防火墻,設(shè)置Selinux為允許,重啟NFS服務(wù):
systemctl stop firewalld.service
setenforce 0
getenforce
systemctl restart nfs
- NFS客戶端安裝客戶端軟件:
yum -y install nfs-utils
- 查看NFS服務(wù)器上共享的目錄:
showmount -e 192.168.0.190
- 在客戶機上創(chuàng)建目錄,將NFS的目錄掛在到該目錄:
mkdir /mnt/ClientNFS
mount -t nfs 192.168.0.190:/mnt/nfs/ /mnt/ClientNFS/
- 同樣方法去掛載其他的NFS目錄即可;
- 并在客戶機上創(chuàng)建組666:
groupaddd -g 666 nfsupload
useradd -g 666 -u 666 -M nfsupload