您好,登錄后才能下訂單哦!
NFS: network file system允許一個系統在網絡上與它人共享目錄和文件。通過使用NFS,用戶和程序可以象訪問本地文件 一樣訪問遠端系統上的文件。
以下是NFS最顯而易見的好處:
1、本地工作站使用更少的磁盤空間,因為通常的數據可以存放在一 臺機器上而且可以通過網絡訪問到。
2、用戶不必在每個網絡上機器里頭都有一個home目錄。Home目錄 可以被放在NFS服務器上并且在網絡上處處可用。
3、諸如軟驅,CDROM,和 Zip 之類的存儲設備可以在網絡上面被別的機器使用。 這可以減少整個網絡上的可移動介質設備的數量。
NFSv3
Version 3 (RFC 1813, June 1995) 添加如下特性:
支持 64 bit 文件大小和偏移,(即突破 2GB 文件大小的限制);
支持服務端的異步寫操作, 提升寫入性能;
在許多響應報文中額外增加文件屬性, 避免用到這些屬性時重新獲取;
增加 READDIRPLUS 調用, 用于在遍歷目錄時獲取文件描述符和文件屬性;
NFSv4
NFSv4協議 (RFC 3010, December 2000; revised in RFC 3530, April 2003), 借鑒了AFS(Andrew File System)和SMB/CIFS(Server Message Block)的特性,主要做了如下改進: 性能提升,強制安全策略,引入有狀態的協議[5]。
NFSv4.1 (RFC 5661, January 2010) 旨在為并行訪問可橫向擴展的集群服務(pNFS擴展)提供協議支持。
NFS配置的一些選項說明
rw :讀寫;
ro :只讀;
sync :同步模式,內存中數據時時寫入磁盤;
async :不同步,把內存中數據定期寫入磁盤中;
no_root_squash :加上這個選項后,root用戶就會對共享的目錄擁有至高的權限控制,就像是對本機的目錄操作一樣。不安全,不建議使用;
root_squash:和上面的選項對應,root用戶對共享目錄的權限不高,只有普通用戶的權限,即限制了root;
all_squash:不管使用NFS的用戶是誰,他的身份都會被限定成為一個指定的普通用戶身份;
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用戶限定后的uid和gid,前提是本機的/etc/passwd中存在這個uid和gid。
配置:
Server(192.168.1.30):
## 定義NFS目錄,允許訪問網段,權限rw(讀寫),ro(只讀),sync同步。anonuid=500,anongid=500限制id:500這個用戶,創建文件時的屬主,而且500是客戶端的用戶。 no_root_squash 不限制root,其創建的文件屬主為root。
1、vim /etc/exports ## 配置可以選下面其中一種,也可以同時做多個共享目錄
/mnt 192.168.1.30/24(rw,sync,all_squash,anonuid=500,anongid=500)
#共分為三部分,第一部分就是本地要共享出去的目錄,第二部分為允許訪問的主機(可以是一個IP也可以是一個IP段)第三部分就是小括號里面的,為一些權限選項
2、yum install -y nfs-utils rpcbind## rpcbind 用來做數據通訊
## 啟動服務
3、/etc/init.d/rpcbind start ;/etc/init.d/nfs start
重新加載配置文件: exportfs -arv
## NFS目錄授權
4、chmod 777 /mnt
Client(192.168.1.31):
1、yum install -y nfs-utils
## 查看NFS共享目錄和用戶/網段
2、showmount -e 192.168.1.30
3、mount -t nfs -onolock,nfsvers=3 192.168.1.30:/mnt /opt //touch文件很久沒響應時,可以加上-onolock選項。centos6可能與nfs服務不兼容容易出錯,所以加上選項nfsvers=3,如果不指定nfs的版本為4.
4、df -h 可以查看掛載的目錄,但/opt在沒授權前不能寫入,所以需要Server對共享目錄/mnt 授權(chmod 777 /mnt),創建文件時默認用戶nfsnobody。如果Server設置了用戶,那么創建文件時所屬就是設置的用戶。
測試:
從客戶端訪問服務器報錯,提示:clnt_create: RPC: Program not registered
解決辦法:在服務器上先停止rpcbind,
/etc/init.d/rpcbind stop
然后在停止nfs
/etc/init.d/nfs stop
最后在重啟rpcbind和nfs,一定要按順序啟動和停止
/etc/init.d/rpcbind start
/etc/init.d/nfs start
做完這個動作之后,訪問成功
掛載成功后,touch 新文件ls -l后發現用戶屬主映射不正常,解決辦法:
重新掛載。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。