Red Hat 7/CentOS 7/Oracle Linux 7安裝 NFS Server

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。