一、介紹:html
Network File System,centos
由Sun公司在1984年開發,目前NFS被廣泛使用。安全
NFS4.0之前的版本在性能上存在瓶頸,NFS4.1已是pNFS了,即並行NFS???服務器
目的是在安裝UNIX計算機之間實現磁盤文件共享,構建於IP協議之上,是標準的C/S架構,NFS服務器輸出(export)讓別人共享的目錄,多個客戶端掛載(mount)各自感興趣的目錄,並加載到本地文件空間當中,爲於VFS(虛擬文件系統)之下,這樣就像訪問本地硬盤上的文件那樣方便簡單了。以下圖:網絡
二、搭建架構
centos7默認nfs服務器已經安裝,只需配置nfs服務器就好。若沒有能夠yum groupinstall "NFS file server",設置自起和啓動服務。app
配置:async
紅帽和Ubuntu對nfs服務器的配置都同樣,把輸出export的目錄加到文件/etc/exports中,一行表示一個export dir,格式以下:ide
被輸出目錄 客戶主機1(參數1,參數2,...) 客戶主機2(參數1, 參數2,...) .....性能
客戶主機能夠爲具體ip,能夠爲域名且域名中能夠使用通配符* eg *.moodisk.com, IP網絡,指明網段 eg 192.168.10.0/24 或者 192.168.10.0/255.255.255.0
參數爲權限,能夠不加,默認爲ro(只讀),sync(到硬盤反饋),subtree_check(強制檢查父目錄的權限),no_all_squash(保留共享文件的UID和GID)
rw讀寫,async數據到nfs內存就反饋客戶端寫成功,no_subtree_check不檢查父目錄權限,root_squash把客戶端root帳號的uid/gid映射成服務器上的匿名帳號,no_root_squash, all_squash, anoomuid=150 anongid=100
ro 只讀訪問 rw 讀寫訪問 sync 全部數據在請求時寫入共享 async NFS在寫入數據前能夠相應請求 secure NFS經過1024如下的安全TCP/IP端口發送 insecure NFS經過1024以上的端口發送 wdelay 若是多個用戶要寫入NFS目錄,則歸組寫入(默認) no_wdelay 若是多個用戶要寫入NFS目錄,則當即寫入,當使用async時,無需此設置。 hide 在NFS共享目錄中不共享其子目錄 no_hide 共享NFS目錄的子目錄 subtree_check 若是共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限(默認) no_subtree_check 和上面相對,不檢查父目錄權限 all_squash 共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。 no_all_squash 保留共享文件的UID和GID(默認) root_squash root用戶的全部請求映射成如anonymous用戶同樣的權限(默認) no_root_squas root用戶具備根目錄的徹底管理訪問權限 anonuid=xxx 指定NFS服務器/etc/passwd文件中匿名用戶的UID anongid=xxx 指定NFS服務器/etc/passwd文件中匿名用戶的GID
nfs和mount詳細說明見:http://www.cnblogs.com/wspblog/p/5673924.html#_label0
systemctl reload nfs 每次修改配置文件都要重載,配置不對會報錯!!
三、鏈接掛載
systemctl start nfs
showmount -e 172.30.0.133在客戶端查看nfs服務器共享的目錄
showmount -a 172.30.0.133不知道在show啥???
mount -t nfs <NFS服務器目錄>:<被輸出目錄> <本地空目錄> 或者 mount.nfs 還能夠加 -o v4.1
四、報錯解釋:
[lixn@bogon ~]$ showmount -e 172.30.0.133
1) clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)服務器端口問題,關掉firewall,開放哪幾個端口就能夠呀?怎麼設置端口???
2) mount.nfs: access denied by server while mounting 172.30.0.133:/dev/nfs/share1被服務器拒絕
3)[root@bogon mnt]# mount.nfs -o v4.1 172.30.0.133:/dev/nfs/share1 /mnt/nfs/
mount.nfs: mounting 172.30.0.133:/dev/nfs/share1 failed, reason given by server: No such file or directory通常是命令中的目錄不對
3)寫配置文件時exports 寫/dev/nfs/share reload報錯,改成/opt/share就正常,這是爲何????
4)對配置了rw權限的nfs目錄: mkdir: cannot create directory ‘a’: Permission denied???不能寫???爲何
對配置爲默認(or)權限的nfs目錄:touch: cannot touch '111': Read-only file system