網絡文件系統(英語:Network File System,縮寫為NFS)是一種分布式文件系統協議,最初由Sun Microsystems公司開發,并于1984年發布。其功能旨在允許客戶端主機可以像訪問本地存儲一樣通過網絡訪問服務器端文件。
NFS和其他許多協議一樣,是基于開放網絡運算遠程過程調用(ONC RPC)協議之上的。它是一個開放、標準的RFC協議,任何人或組織都可以依據標準實現它。
安裝
客戶端和服務端都只需要安裝 nfs-utils 包。
強烈建議在所有節點機上使用如 ntp 之類的時間同步守護進程以保持客戶端/服務器之間的時間同步,如果各個節點上沒有精確同步的時鐘,NFS 可能產生非預期的延遲。建議采用網絡時間協議守護進程并使用互聯網上的高精度 NTP 服務器同步服務端和客戶端的時鐘。
服務端
NFS 需要查看 /etc/exports 文件中定義的共享(“導出”)列表。共享的對象可以是文件系統中的任意目錄。出于安全考慮,建議指定一個 NFS 共享輸出的根(目錄),來限制用戶的可用掛載點。下面的例子遵循此原則。
在 /etc/exports 中定義的任何 NFS 共享都關聯到 NFS 根目錄。本例中,NFS 根目錄是 /srv/nfs4 ,將要共享的目錄是 /mnt/music。
# mkdir -p /srv/nfs4/music /mnt/music
客戶端可能會對 music 目錄做寫操作,因此必須開放讀/寫權限。
現在用 mount –bind 命令將實際的 music 目錄掛載到 NFS 的共享根目錄。
# mount --bind /mnt/music /srv/nfs4/music
為了讓服務器重啟后共享仍舊有效,增加綁定到 fstab 文件:
/etc/fstab
/mnt/music /srv/nfs4/music none bind 0 0
增加允許被掛載的目錄和主機到exports:
/etc/exports
/srv/nfs4/ 192.168.1.0/24(rw,fsid=root,no_subtree_check) /srv/nfs4/music 192.168.1.0/24(rw,no_subtree_check,nohide) # note the nohide option which is applied to mounted directories on the file system.
不必要對整個子網都開放共享,也可以僅指定單一 IP 地址或主機名。
如果服務運行時修改了 /etc/exports 文件, 你需要重新導出使其生效。
# exportfs -ra
開始運行服務
啟用并運行 nfs-server.service 服務。對于較老的 V2 和 V3 版還要開啟 rpcbind.service 服務。
/etc/conf.d/nfs-server.conf
NFSD_OPTS="-N 2 -N 3"
否則,必須開啟 rpcbind.service 服務。
原創文章,作者:HGG,如若轉載,請注明出處:http://www.www58058.com/84736