NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它容許網絡中的計算機之間經過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用能夠透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件同樣。簡單的來講:它就是是能夠透過網絡,讓不一樣的主機、不一樣的操做系統能夠共享存儲。NFS在文件傳送或信息傳送過程當中依賴於RPC協議。node
服務端機器IP爲:10.122.149.224
apt-get install nfs-common nfs-kernel-server
vim /etc/exports
/mnt/nfs *(rw,all_squash,anonuid=6561,anongid=1002,no_subtree_check)
訪問權限選項vim
設置輸出目錄只讀:robash
設置輸出目錄讀寫:rw服務器
用戶映射選項網絡
all_squash:將遠程訪問的全部普通用戶及所屬組都映射爲匿名用戶或用戶組(nfsnobody);async
no_all_squash:與all_squash取反(默認設置);tcp
root_squash:將root用戶及所屬組都映射爲匿名用戶或用戶組(默認設置);測試
no_root_squash:與rootsquash取反;ui
anonuid=xxx:將遠程訪問的全部用戶都映射爲匿名用戶,並指定該用戶爲本地用戶(UID=xxx);spa
anongid=xxx:將遠程訪問的全部用戶組都映射爲匿名用戶組帳戶,並指定該匿名用戶組帳戶爲本地用戶組帳戶(GID=xxx);
其它選項
secure:限制客戶端只能從小於1024的tcp/ip端口鏈接nfs服務器(默認設置);
insecure:容許客戶端從大於1024的tcp/ip端口鏈接服務器;
sync:將數據同步寫入內存緩衝區與磁盤中,效率低,但能夠保證數據的一致性;
async:將數據先保存在內存緩衝區中,必要時才寫入磁盤;
wdelay:檢查是否有相關的寫操做,若是有則將這些寫操做一塊兒執行,這樣能夠提升效率(默認設置);
no_wdelay:如有寫操做則當即執行,應與sync配合使用;
subtree:若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限(默認設置);
no_subtree:即便輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣能夠提升效率;
sudo /etc/init.d/nfs-kernel-server restart
由於上面服務端配置的時候指定了任意IP均可以進行nfs目錄掛載,因此此處無需考慮ip的問題了。
apt-get install nfs-common
root@hzabj-mind204:~# showmount -e 10.122.149.224 Export list for 10.122.149.224: /mnt/nfs *
mount -t nfs -onoexec,nosuid,nodev,noatime 10.122.149.224:/mnt/fns /data/nfs
10.122.149.224:/mnt/nfs /data/nfs nfs nfsvers=3,proto=tcp,rsize=8192,wsize=8192,hard,intr 0 3
Filesystem 1K-blocks Used Available Use% Mounted on 10.122.149.224:/mnt/nfs 61926400 2108416 56673280 4% /data/nfs
umount /data/nfs
root@hzabj-mind204:/data/nfs# fuser -m -v /data/nfs USER PID ACCESS COMMAND /data/nfs: root kernel mount /data/nfs root 43022 ..c.. bash mm 45004 ..c.. bash
kill -9 43022
kill -9 45004