對(duì)比分析各個(gè)NFS版本的特點(diǎn)
NFS是網(wǎng)絡(luò)文件系統(tǒng)。隨著網(wǎng)絡(luò)的不斷發(fā)展,這個(gè)協(xié)議版本也逐漸增多?,F(xiàn)在已經(jīng)有了4.1的***版本了。那么對(duì)于這些版本信息,你是否有點(diǎn)不知所措呢?沒(méi)關(guān)系,這里我們來(lái)對(duì)NFS版本內(nèi)容進(jìn)行一下解讀吧。
1、NFS—Network File System
2、由Sun Microsystems公司在1985年推出
3、是一種通用的文件共享方案
4、linux從1.2系列內(nèi)核開(kāi)始支持NFS版本2,在2.2.18版內(nèi)核后支持NFS版本3 (我最近使用的2.14.3內(nèi)核,發(fā)現(xiàn)已經(jīng)支持NFS版本4了)
NFS協(xié)議從誕生到現(xiàn)在為止,已經(jīng)有多個(gè)版本,如NFS V2(rfc1094),NFS V3(rfc1813)(***的版本是V4(rfc3010)
5、NFS版本3比NFS版本2運(yùn)行速度更快,版本3的軟件一定能與版本2實(shí)現(xiàn)互操作
6、V3相對(duì)V2的主要區(qū)別:
1>文件尺寸
V2***只支持32BIT的文件大小(4G),而NFS V3新增加了支持64BIT文件大小的技術(shù).
2>文件傳輸尺寸
V3沒(méi)有限定傳輸尺寸,V2最多只能設(shè)定為8k,可以使用-rsize and -wsize 來(lái)進(jìn)行設(shè)定.
3>完整的信息返回
V3增加和完善了許多錯(cuò)誤和成功信息的返回,對(duì)于服務(wù)器的設(shè)置和管理能帶來(lái)很大好處.
4>增加了對(duì)TCP傳輸協(xié)議的支持
V2只提供了對(duì)UDP協(xié)議的支持,在一些高要求的網(wǎng)絡(luò)環(huán)境中有很大限制,V3增加了對(duì)TCP協(xié)議的支持
5>異步寫(xiě)入特性
異步寫(xiě)入特性(v3新增加)介紹:
NFS版本3 能否使用異步寫(xiě)入,這是可選擇的一種特性.NFS V3客戶端發(fā)發(fā)送一個(gè)異步寫(xiě)入請(qǐng)求到服務(wù)器,在給客戶端答復(fù)之前服務(wù)器并不是必須要將數(shù)據(jù)寫(xiě)入到存儲(chǔ)器中(穩(wěn)定的).服務(wù)器能確定何時(shí)去寫(xiě)入數(shù)據(jù)或者將多 個(gè)寫(xiě)入請(qǐng)求聚合到一起并加以處理,然后寫(xiě)入.客戶端能保持一個(gè)數(shù)據(jù)的copy以防萬(wàn)一服務(wù)器不能完整的將數(shù)據(jù)寫(xiě)入.當(dāng)客戶端希望釋放這個(gè)copy的時(shí)候, 它會(huì)向服務(wù)器通過(guò)這個(gè)操作過(guò)程,以確保每個(gè)操作步驟的完整.異步寫(xiě)入能夠使服務(wù)器去確定***的同步數(shù)據(jù)的策略.使數(shù)據(jù)能盡可能的同步的提交何到達(dá).與V2 比較來(lái)看,這樣的機(jī)制能更好的實(shí)現(xiàn)數(shù)據(jù)緩沖和更多的平行(平衡).而NFS V2的SERVER在將數(shù)據(jù)寫(xiě)入存儲(chǔ)器之前不能再相應(yīng)任何的寫(xiě)入請(qǐng)求.
6>改進(jìn)了SERVER的mount性能
7>有更好的I/O WRITES 性能.
9>更強(qiáng)網(wǎng)絡(luò)運(yùn)行效能,使得網(wǎng)絡(luò)運(yùn)作更為有效.
10>更強(qiáng)的災(zāi)難恢復(fù)功能.
7、V4相對(duì)V3的改進(jìn):
1>改進(jìn)了INTERNET上的存取和執(zhí)行效能
2>在協(xié)議中增強(qiáng)了安全方面的特性
3>增強(qiáng)的跨平臺(tái)特性
8、NFS運(yùn)行在Sun的RPC協(xié)議之上,因此既可使用UDP也可用TCP作為下層的傳輸協(xié)議,但TCP具有更多的優(yōu)勢(shì),由客戶機(jī)決定選擇TCP還是UDP
linux上的大多數(shù)NFS版本服務(wù)器不支持用TCP來(lái)傳輸
9、NFS文件上鎖是個(gè)棘手問(wèn)題,NFS服務(wù)器是無(wú)狀態(tài)的,它們不知道哪臺(tái)機(jī)器正在使用某個(gè)特定的文件
10、rquotad磁盤(pán)配額的方法已經(jīng)過(guò)時(shí)
11、cookies與無(wú)狀態(tài)安裝
12、共享文件系統(tǒng)命名規(guī)則:***提供一種深層次的結(jié)構(gòu)(如:/home/share1),保證客戶機(jī)的根目錄下不會(huì)混亂
13、安全:禁止訪問(wèn)NFS使用的TCP和UDP 2049端口
阻止對(duì)portmap(該進(jìn)程監(jiān)聽(tīng)TCP和UDP的111端口)守護(hù)進(jìn)程的訪問(wèn)
14、NFS版本的服務(wù)器啟動(dòng)腳本名字
RedHat /etc/init.d/nfs
SuSE /etc/init.d/nfsserver
Debian /etc/init.d/nfs-kernel-server /etc/init.d/nfs-common
15、mountd服務(wù)用于安裝請(qǐng)求
nfsd是NFS運(yùn)行的守護(hù)進(jìn)程(如果客戶機(jī)要導(dǎo)出自身文件系統(tǒng),也必須運(yùn)行nfsd)
通過(guò)uptime查看平均負(fù)載,調(diào)整nfsd線程的數(shù)目
通過(guò)nfsstat檢查nfsd線程數(shù)量可能引發(fā)的性能問(wèn)題
通過(guò)netstat -s監(jiān)測(cè)UDP套接口溢出數(shù)目,增加nsfd線程數(shù)量使溢出數(shù)目降為0,再適當(dāng)增加幾個(gè)
可以編輯啟動(dòng)腳本來(lái)改變nfsd進(jìn)程的數(shù)量
16、客戶機(jī)安裝文件系統(tǒng)和訪問(wèn)文件的過(guò)程是完全不同的,使用不同的協(xié)議,由不同的守護(hù)進(jìn)程來(lái)提供服務(wù):
nfsd(或rpc.nfsd) 用于文件服務(wù)
mountd(或rpc.mountd) 用于安裝請(qǐng)求
portmap 使用SUN的RPC協(xié)議