小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

NAS相關(guān)協(xié)議之NFS

 看見(jiàn)就非常 2012-08-30

    有人的地方就有江湖,IT界也不例外。

    在過(guò)去幾十年里,IT江湖從來(lái)都是門(mén)派林立,紛爭(zhēng)不斷。如果按照Operating System (下面簡(jiǎn)稱OS), 大概可以分Windows派,類Unix派,還有蘋(píng)果派(有沒(méi)有勾起您的食欲?)。這幾大門(mén)派信徒眾多,教規(guī)又各不相同,所以經(jīng)常造成矛盾。比如說(shuō),你要共享一個(gè)文件系統(tǒng),Windows派喜歡用CIFS訪問(wèn),類Unix派習(xí)慣用NFS訪問(wèn),近年來(lái)如日中天的蘋(píng)果派們則用AFP。為了伺候好這些門(mén)派,NAS就需要支持多種共享協(xié)議。本文要介紹的,就是類Unix習(xí)慣使用的NFS。

    NFS的全稱是Network File System,即網(wǎng)絡(luò)文件系統(tǒng)。它使一臺(tái)電腦可以通過(guò)網(wǎng)絡(luò)訪問(wèn)另外一臺(tái)電腦上的共享,使用起來(lái)就如同本地文件系統(tǒng)一樣方便。我在大學(xué)里就共享過(guò)一整個(gè)文件系統(tǒng),過(guò)幾天就有校友在上面放了很多小電影,還經(jīng)常更新。可見(jiàn)共享不僅是奉獻(xiàn),有時(shí)候還有收獲,感謝共享協(xié)議的開(kāi)發(fā)者們!

    NFS的開(kāi)發(fā)者就是曾經(jīng)名震江湖的SUN公司(看名字好像是日月神教的分支),它已經(jīng)在三年前被甲骨文收入門(mén)下。SUNNFS的第一個(gè)版本NFSv1藏在深閨,就像古墓里的小龍女,從不露面。等到在江湖上開(kāi)始流行NFS,已經(jīng)是第二版NFSv2了。NFSv2很好用,但是問(wèn)題也不少,比如它不支持大于2GB的文件,但這在90年代之前還不是大問(wèn)題。令人費(fèi)解的是,雖然NFSv31995年就面世了,但到今天還有人堅(jiān)持用NFSv2。我直到寫(xiě)ITB指南》時(shí)才恍然大悟:用老版本的都是IT貴族啊,配NFSv4的只能算初級(jí)iBer。

    其實(shí)NFS可以工作在任何OS上。只不過(guò)因?yàn)殚T(mén)派之別,一般只在類Unix環(huán)境中使用。目前廣泛應(yīng)用的版本還是NFSv3,我們有機(jī)會(huì)再另文討論NFSv4。下圖展示了多臺(tái)客戶端通過(guò)NFS對(duì)NAS的訪問(wèn)。NAS相關(guān)協(xié)議之NFS
    NAS在這里充當(dāng)了NFS服務(wù)器的角色,而Linux,Solaris和AIX則是NFS客戶機(jī)。NFS的功能很多,不同的功能對(duì)應(yīng)著不同的daemon。比如一定要有的nfsd和
mountd,還有可選的lockd和statd。

    每個(gè)daemon都需要占用一些端口,但有些daemon是可選的,也許用戶根本不會(huì)啟用它們。所以,NFS并沒(méi)有給每個(gè)NFS daemon保留固定端口(除了nfsd)。而是在系統(tǒng)啟動(dòng)時(shí)給需要啟用的NFS daemon分配端口,然后把這些端口號(hào)告訴RPC daemon。RPC daemon的端口號(hào)是固定的111,每個(gè)NFS客戶機(jī)都知道怎么聯(lián)系它。當(dāng)客戶機(jī)需要連接NFS的某個(gè)daemon時(shí),就不得不先咨詢RPC daemon,獲得該NFS daemon對(duì)應(yīng)的端口號(hào),然后再發(fā)送NFS請(qǐng)求。

    我第一次看到RPC daemon的工作原理,就想起交大管浴室的老頭。他的固定地址是門(mén)房(相當(dāng)于端口111),每個(gè)要洗澡的學(xué)生(NFS客戶機(jī))都知道怎么找到他,他會(huì)給你一個(gè)帶號(hào)碼的鑰匙(端口號(hào)),有了這個(gè)號(hào)碼,你就可以找到相應(yīng)的格子(NFS daemon)放衣服了。

    很少有人會(huì)對(duì)自己的共享不加限制,像我一樣收獲小電影的畢竟是少數(shù),大多數(shù)人收獲的是惡作劇。NFS通過(guò)限制客戶機(jī)(比如IP地址, hostname等)訪問(wèn)來(lái)實(shí)現(xiàn)安全控制。下表列舉了一些NFS服務(wù)器端的參數(shù): 

 root 該參數(shù)定義了對(duì)該共享有root權(quán)限的客戶機(jī)。當(dāng)然只對(duì)UID=0有效。
 rw 該參數(shù)定義了對(duì)該共享有讀寫(xiě)權(quán)限的客戶機(jī)。
 ro 該參數(shù)定義了對(duì)該共享有只讀權(quán)限的客戶機(jī)。
 access 該參數(shù)定義了能掛載該共享的客戶機(jī)。

 

    這些配置只能限制一整臺(tái)客戶機(jī),無(wú)法限制到具體用戶。比如某臺(tái)客戶機(jī)被限制為rw,那該機(jī)的所有用戶都可能有讀寫(xiě)權(quán)限。這顯然是不夠安全的,但NFS協(xié)議本身又無(wú)法識(shí)別具體用戶的權(quán)限。為了解決這個(gè)問(wèn)題,NFS服務(wù)器端利用本地權(quán)限(rwxrwxrwx,以及owner和group),結(jié)合客戶端的UID和GID來(lái)確定客戶端權(quán)限。這個(gè)機(jī)制要求NFS客戶機(jī)上的User-UID-Group必須都能在服務(wù)器上找到,否則容易造成混亂。個(gè)人認(rèn)為NIS是一個(gè)很好的選擇,我們有機(jī)會(huì)再另文討論。

    NFS服務(wù)器上的共享創(chuàng)建好了之后,客戶端就可以掛載(mount)了。掛載的參數(shù)很多,我們只介紹對(duì)性能影響較大的幾個(gè):

 rsize客戶端每次從NFS服務(wù)器讀取數(shù)據(jù)時(shí)的大小,在沒(méi)有擁塞的情況,增大該值能提高傳輸速度。比如一個(gè)64KB的文件,rsize=16KB時(shí)需要傳4次;rsize=32KB時(shí)就只要2次。
 wsize客戶端每次往NFS服務(wù)器寫(xiě)數(shù)據(jù)時(shí)的大小。對(duì)性能的影響類似rsize。這兩個(gè)size和TCP層的重傳也有關(guān)系,我們會(huì)在NAS性能分析時(shí)詳解。
 async數(shù)據(jù)存入cache即算寫(xiě)操作完成。可以提高性能,但有一定安全問(wèn)題。
 sync數(shù)據(jù)要存入硬盤(pán)才算寫(xiě)操作完成,影響性能。該參數(shù)還會(huì)強(qiáng)制wsize變成一個(gè)page的大小。

 

    掛載之后,我們就可以使用該共享了。我在lab里掛載了一個(gè)文件系統(tǒng)(/paddy_fs_01),然后讀取其中一個(gè)文件(abc.txt)。命令如下:

[root@NISclient ~]# mount 10.32.106.25:/paddy_fs_01 paddy_fs_01
[root@NISclient ~]# cp paddy_fs_01/abc.txt abc.txt

    為了更好的說(shuō)明NFS的工作原理,我把全過(guò)程抓了包。把其中不重要的包過(guò)濾掉之后,我們可以這樣解讀(下列序號(hào)與截圖中的包號(hào)相對(duì)應(yīng)):

1. 客戶機(jī):RPC,請(qǐng)問(wèn)nfsd的端口號(hào)是多少呀?

2. 服務(wù)器:是2049。

3. 客戶機(jī):那我測(cè)試一下2049通不通。

4. 服務(wù)器:收到了,是通的。

5. 客戶機(jī):RPC,請(qǐng)問(wèn)mountd的端口號(hào)是多少呀?

6. 服務(wù)器:是1234。

7. 客戶機(jī):那我測(cè)試一下1234通不通。

8. 服務(wù)器:收到了,是通的。

9. 客戶機(jī):我要掛載 /paddy_fs_01。

10.服務(wù)器:(根據(jù)該共享的配置,這臺(tái)客戶機(jī)有掛載權(quán)限,所以)你的請(qǐng)求被批準(zhǔn)了。

11.客戶機(jī):我測(cè)試一下掛上了沒(méi)有。

12.服務(wù)器:掛上了啦。

13.客戶機(jī):我想看看這個(gè)文件系統(tǒng)的屬性。

14.服務(wù)器:給,就這些。

...掛載結(jié)束,讀abc.txt開(kāi)始:

17. 客戶機(jī):我要訪問(wèn) /paddy_fs_01。

18. 服務(wù)器:來(lái)吧,(根據(jù)你的UID)你有讀,查詢,更改,擴(kuò)展和刪除的權(quán)利。

19. 客戶機(jī):我想看看有哪些子目錄。

20. 服務(wù)器:看,就這些。

21. 客戶機(jī):我想看看abc.txt的屬性。

22. 服務(wù)器:File Mode等屬性都在這了。

23. 客戶機(jī):我還想再看看。

24. 服務(wù)器:再給你一次好了。

25. 客戶機(jī):我想訪問(wèn)abc.txt。

26. 服務(wù)器:你有權(quán)限的,訪問(wèn)吧。

27. 客戶機(jī):我要讀abc.txt,從0開(kāi)始讀16384字節(jié)。

28. 服務(wù)器:給。

29. 客戶機(jī):我要讀abc.txt,從16384開(kāi)始讀32768字節(jié)。

(被過(guò)濾掉的包,服務(wù)器傳輸32768字節(jié)給客戶機(jī)。)

30. 客戶機(jī):我要讀abc.txt,從49152開(kāi)始讀32606字節(jié)。

(被過(guò)濾掉的包,服務(wù)器傳輸32606字節(jié)給客戶機(jī)。)

NAS相關(guān)協(xié)議之NFS

神仙魚(yú)夫2012-02-27 15:53:16 [舉報(bào)]

Microsoft Windows Services for UNIX 3.5 不是就可以在Windows上裝NFS server了嗎?

博主回復(fù):2012-02-27 15:58:14

我估計(jì)這是免費(fèi)的吧?我個(gè)人沒(méi)有使用過(guò)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多