NFS是一套歷史悠久的網路分享協定,無論你在NAS設備、Nutanix HCI超融合架構、VMware三層式架構中都很常見到NFS分享的網路硬碟空間,小編今天就要來介紹如何在Red Hat 7/CentOS 7/Oracle Linux 7 等系統平台上架測NFS Server。
範例環境介紹:
01、Linux作業系統為Oracle Linux 7.9
02、NFS Server安裝
03、NFS Client掛載
NFS Server安裝步驟:
01、安裝套件
指令:
yum install nfs-utils
02、設定分享的目錄
指令:
vi /etc/exports
檔案設定內容如下:
/mnt/hds1n 192.168.5.238(rw,sync,no_root_squash,no_all_squash) /mnt/hds2n 192.168.5.238(rw,sync,no_root_squash,no_all_squash) /mnt/hds3n 192.168.5.238(rw,sync,no_root_squash,no_all_squash) /mnt/hds4n 192.168.5.238(rw,sync,no_root_squash,no_all_squash) |
參數說明:
/mnt/hds1n = 分享的目錄
192.168.5.238 = 那一個IP或網段(192.168.5.0/24)可以來存取,如果輸入「*」代表不限制來源
rw = 代表可以透過網路來讀寫該分享的目錄,唯讀則設定「ro」
sync = 同步寫入到記憶體與硬碟中,async則暫存在記憶體中
no_root_squash = 可以使用 root 權限存取
no_all_squash = 不指定連線使用者的UDI跟GID
如果一個目錄要分享給不同網段或不同權限可以這樣設定
檔案設定內容如下:
本情境是將「mnt/hds1n」分享給「10.1.1.111」且具有寫入權限,分享給「192.168.224.32」採用唯獨的權限
/mnt/hds1n 10.1.1.111(rw,no_root_squash) 192.168.224.32(ro,no_root_squash) |
03、啟動服務
指令:
systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
04、重新啟動NFS服務
指令:
systemctl restart nfs
05、檢視Srever本機分享的目錄
指令:
showmount -e 127.0.0.1
06、變更設定後重新套用NFS設定
指令:
exportfs -r
[NFS Client連線步驟]
01、Client查看NFS Server所分享的資料夾
指令:
showmount -e 192.168.224.33
備註說明:「192.168.224.33」為NFS Sever的IP
02、Client掛載NFS Server所分享的資料夾
指令:
mount -t nfs 192.168.224.33:/rman-disk/rmanhdd /orabak2
備註說明:掛載前請先記得建立目的地的目錄,本範例掛載目錄為「/orabak2」,就得在掛載前輸入建立目錄指令「mkdir /orabak2」
掛載完畢記得檢查一下掛載狀況:
指令:
df -h
03、加速NFS傳輸能力
範例語法:
mount -t nfs -o nosuid,noexec,nodev,rw -o bg,soft,rsize=1048600,wsize=1048600 192.168.224.33:/rman-disk/rmanhdd /orabak2
參數說明:
suid:使用SUID的功能,該參數為預設值。
nosuid:不使用SUID的功能。
rw:採用可寫入式掛載硬碟,該參數為預設值。
ro:採用唯讀模式掛載硬碟。
dev:在檔案系統上阻擋特殊設備,該參數為預設值。
nodev:不在檔案系統上阻擋特殊設備。
exec:具有執行binaries檔案權限,該參數為預設值。
noexec:不具有執行binaries檔案權限。
fg:在前景進行掛載硬碟動作,並會持續嘗試掛載直到掛載成功或time out,該參數為預設值。
bg:在背景進行掛載硬碟動作,不會影響程序操作,如網路不穩定或常開關機建議採用該設定值。
hard:當Server或Client中有任何一端離線,RPC會持續嘗試連線直到恢復連線為止,該參數為預設值。
soft:當任何一端離線,RPC會在time out後才重新嘗試連線,而並非持續嘗試連線,如果系統會常開關機建議採用該設定值。
rsize:讀出區塊大小(block size),該參數影響傳輸資料的緩衝記憶容量,如果Server跟Client端都具有足夠的記憶體,可以加大這個參數值,提升傳輸效率,但最大值不可超過網路的傳輸能力上限,預設值為1024。
wsize:寫入區塊大小(block size),該參數影響傳輸資料的緩衝記憶容量,如果Server跟Client端都具有足夠的記憶體,可以加大這個參數值,提升傳輸效率,但最大值不可超過網路的傳輸能力上限,預設值為1024。