1. 程式人生 > >CentOS7 下搭建 NFS 伺服器 (叢集-1)

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其它功能:

  1. service nfslock start 允許NFS客戶端在伺服器上對檔案加鎖.這個程序對應