CentOS7 下搭建 NFS 伺服器 (叢集-1)
環境
- vagrant centos7
- 服務端: 192.168.56.202
- 客戶機: 192.168.56.200
- 客戶機: 192.168.56.300
安裝
- yum -y install nfs-utils rpcbind
- 檢視 rpm -qa|grep nfs
- rpm -qa|grep nfs 是否安裝
服務端配置
- 在伺服器建立需要共享的目錄 mkdir /home/woddp
- 設定目錄許可權 chmod 755 /home/woddp
- 編輯export 檔案 vim /etc/exports
/home/woddp/ 192.168.56.*(insecure,rw,no_root_squash,no_all_squash,sync)
- exportfs -r 執行後 使配置生效
注:配置檔案說明:
/usr/local/test/ 為共享的目錄,使用絕對路徑。` 192.168.0.101(rw,no_root_squash,no_all_squash,sync) 為客戶端的地址及許可權,地址可以是一個網段(如:192.168.0.0/24),一個IP地址或者是一個域名,域名支援萬用字元,如:*.hpce.cn,地址與許可權中間沒有空格。
許可權說明: rw:read-write,可讀寫;
ro:read-only,只讀;
sync:檔案同時寫入硬碟和記憶體;由於我們的日誌需要同步寫,所有用sync選項。
async:檔案暫存於記憶體,而不是直接寫入記憶體;
no_root_squash:NFS客戶端連線服務端時如果使用的是root的話,那麼對服務端分享的目錄來說,也擁有root許可權。顯然開啟這項是不安全的。
root_squash:NFS客戶端連線服務端時如果使用的是root的話,那麼對服務端分享的目錄來說,擁有匿名使用者許可權,通常他將使用nobody或nfsnobody身份;
all_squash:不論NFS客戶端連線服務端時使用什麼使用者,對服務端分享的目錄來說都是擁有匿名使用者許可權;
anonuid:匿名使用者的UID值,通常是nobody或nfsnobody,可以在此處自行設定;
anongid:匿名使用者的GID值。
-
重啟 systemctl reload nfs-server.service
-
重啟 rpcbind
-
伺服器端防火牆設定(NFS 開啟防牆配置) 跳過 防火牆預設關閉的
-
修改/etc/services檔案 配置rpc,nfsd,rquotad,mountd使用的埠 預設已經配置了的,沒用需要手動配置
mountd 20048/tcp # NFS mount protocol
mountd 20048/udp # NFS mount protocol
-
重啟 systemctl reload nfs-server.service
-
在防火牆配置檔案裡開放上面配置的埠
客戶端掛載
-
檢視伺服器丟擲的共享目錄資訊:
showmount -e 192.168.56.202
mount -t nfs 192.168.0.100:/usr/local/test /usr/local/test -o proto=tcp -o nolock
掛載成功後即可訪問共享的NFS檔案系統了。
解除安裝已掛在的NFS
umount /usr/local/test
檢視掛載目錄的資訊:
fuser -m -v /usr/local/test
rpcinfo –p ip /// 檢視主機的rpc服務和埠
showmount –e ip /// 檢視主機丟擲的nfs列表
nfs其它功能:
- service nfslock start 允許NFS客戶端在伺服器上對檔案加鎖.這個程序對應