精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當前位置:存儲技術專區 → 正文

存儲那些事:NAS存儲系統相關協議之NFS

責任編輯:vivian |來源:企業網D1Net  2012-03-02 09:30:03 本文摘自:ZDNET

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

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

NFS的全稱是Network File System,即網絡文件系統。它使一臺電腦可以通過網絡訪問另外一臺電腦上的共享,使用起來就如同本地文件系統一樣方便。我在大學里就共享過一整個文件系統,過幾天就有校友在上面放了很多小電影,還經常更新。可見共享不僅是奉獻,有時候還有收獲,感謝共享協議的開發者們!

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

其實NFS可以工作在任何OS上。只不過因為門派之別,一般只在類Unix環境中使用。目前廣泛應用的版本還是NFSv3,我們有機會再另文討論NFSv4。下圖展示了多臺客戶端通過NFS對NAS的訪問。

NAS在這里充當了NFS服務器的角色,而Linux,Solaris和AIX則是NFS客戶機。NFS的功能很多,不同的功能對應著不同的daemon。比如一定要有的nfsd和mountd,還有可選的lockd和statd。

每個daemon都需要占用一些端口,但有些daemon是可選的,也許用戶根本不會啟用它們。所以,NFS并沒有給每個NFS daemon保留固定端口(除了nfsd)。而是在系統啟動時給需要啟用的NFS daemon分配端口,然后把這些端口號告訴RPC daemon。RPC daemon的端口號是固定的111,每個NFS客戶機都知道怎么聯系它。當客戶機需要連接NFS的某個daemon時,就不得不先咨詢RPC daemon,獲得該NFS daemon對應的端口號,然后再發送NFS請求。

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

很少有人會對自己的共享不加限制,像我一樣收獲小電影的畢竟是少數,大多數人收獲的是惡作劇。NFS通過限制客戶機(比如IP地址, hostname等)訪問來實現安全控制。下表列舉了一些NFS服務器端的參數:

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

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

掛載之后,我們就可以使用該共享了。我在lab里掛載了一個文件系統(/paddy_fs_01),然后讀取其中一個文件(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

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

1. 客戶機:RPC,請問nfsd的端口號是多少呀?

2. 服務器:是2049。

3. 客戶機:那我測試一下2049通不通。

4. 服務器:收到了,是通的。

5. 客戶機:RPC,請問mountd的端口號是多少呀?

6. 服務器:是1234。

7. 客戶機:那我測試一下1234通不通。

8. 服務器:收到了,是通的。

9. 客戶機:我要掛載 /paddy_fs_01。

10.服務器:(根據該共享的配置,這臺客戶機有掛載權限,所以)你的請求被批準了。

11.客戶機:我測試一下掛上了沒有。

12.服務器:掛上了啦。

13.客戶機:我想看看這個文件系統的屬性。

14.服務器:給,就這些。

...掛載結束,讀abc.txt開始:

17. 客戶機:我要訪問 /paddy_fs_01。

18. 服務器:來吧,(根據你的UID)你有讀,查詢,更改,擴展和刪除的權利。

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

20. 服務器:看,就這些。

21. 客戶機:我想看看abc.txt的屬性。

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

23. 客戶機:我還想再看看。

24. 服務器:再給你一次好了。

25. 客戶機:我想訪問abc.txt。

26. 服務器:你有權限的,訪問吧。

27. 客戶機:我要讀abc.txt,從0開始讀16384字節。

28. 服務器:給。

29. 客戶機:我要讀abc.txt,從16384開始讀32768字節。

(被過濾掉的包,服務器傳輸32768字節給客戶機。)

30. 客戶機:我要讀abc.txt,從49152開始讀32606字節。

(被過濾掉的包,服務器傳輸32606字節給客戶機。)

關鍵字:NASNFS存儲

本文摘自:ZDNET

x 存儲那些事:NAS存儲系統相關協議之NFS 掃一掃
分享本文到朋友圈
當前位置:存儲技術專區 → 正文

存儲那些事:NAS存儲系統相關協議之NFS

責任編輯:vivian |來源:企業網D1Net  2012-03-02 09:30:03 本文摘自:ZDNET

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

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

NFS的全稱是Network File System,即網絡文件系統。它使一臺電腦可以通過網絡訪問另外一臺電腦上的共享,使用起來就如同本地文件系統一樣方便。我在大學里就共享過一整個文件系統,過幾天就有校友在上面放了很多小電影,還經常更新。可見共享不僅是奉獻,有時候還有收獲,感謝共享協議的開發者們!

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

其實NFS可以工作在任何OS上。只不過因為門派之別,一般只在類Unix環境中使用。目前廣泛應用的版本還是NFSv3,我們有機會再另文討論NFSv4。下圖展示了多臺客戶端通過NFS對NAS的訪問。

NAS在這里充當了NFS服務器的角色,而Linux,Solaris和AIX則是NFS客戶機。NFS的功能很多,不同的功能對應著不同的daemon。比如一定要有的nfsd和mountd,還有可選的lockd和statd。

每個daemon都需要占用一些端口,但有些daemon是可選的,也許用戶根本不會啟用它們。所以,NFS并沒有給每個NFS daemon保留固定端口(除了nfsd)。而是在系統啟動時給需要啟用的NFS daemon分配端口,然后把這些端口號告訴RPC daemon。RPC daemon的端口號是固定的111,每個NFS客戶機都知道怎么聯系它。當客戶機需要連接NFS的某個daemon時,就不得不先咨詢RPC daemon,獲得該NFS daemon對應的端口號,然后再發送NFS請求。

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

很少有人會對自己的共享不加限制,像我一樣收獲小電影的畢竟是少數,大多數人收獲的是惡作劇。NFS通過限制客戶機(比如IP地址, hostname等)訪問來實現安全控制。下表列舉了一些NFS服務器端的參數:

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

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

掛載之后,我們就可以使用該共享了。我在lab里掛載了一個文件系統(/paddy_fs_01),然后讀取其中一個文件(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

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

1. 客戶機:RPC,請問nfsd的端口號是多少呀?

2. 服務器:是2049。

3. 客戶機:那我測試一下2049通不通。

4. 服務器:收到了,是通的。

5. 客戶機:RPC,請問mountd的端口號是多少呀?

6. 服務器:是1234。

7. 客戶機:那我測試一下1234通不通。

8. 服務器:收到了,是通的。

9. 客戶機:我要掛載 /paddy_fs_01。

10.服務器:(根據該共享的配置,這臺客戶機有掛載權限,所以)你的請求被批準了。

11.客戶機:我測試一下掛上了沒有。

12.服務器:掛上了啦。

13.客戶機:我想看看這個文件系統的屬性。

14.服務器:給,就這些。

...掛載結束,讀abc.txt開始:

17. 客戶機:我要訪問 /paddy_fs_01。

18. 服務器:來吧,(根據你的UID)你有讀,查詢,更改,擴展和刪除的權利。

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

20. 服務器:看,就這些。

21. 客戶機:我想看看abc.txt的屬性。

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

23. 客戶機:我還想再看看。

24. 服務器:再給你一次好了。

25. 客戶機:我想訪問abc.txt。

26. 服務器:你有權限的,訪問吧。

27. 客戶機:我要讀abc.txt,從0開始讀16384字節。

28. 服務器:給。

29. 客戶機:我要讀abc.txt,從16384開始讀32768字節。

(被過濾掉的包,服務器傳輸32768字節給客戶機。)

30. 客戶機:我要讀abc.txt,從49152開始讀32606字節。

(被過濾掉的包,服務器傳輸32606字節給客戶機。)

關鍵字:NASNFS存儲

本文摘自:ZDNET

電子周刊
回到頂部

關于我們聯系我們版權聲明隱私條款廣告服務友情鏈接投稿中心招賢納士

企業網版權所有 ©2010-2024 京ICP備09108050號-6 京公網安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 麟游县| 福贡县| 凯里市| 那曲县| 吴江市| 台东县| 蒙城县| 东乡族自治县| 丹寨县| 时尚| 兴和县| 额尔古纳市| 砀山县| 禄劝| 韶山市| 张家港市| 岐山县| 溧水县| 成都市| 石嘴山市| 邵阳市| 新宾| 卢龙县| 洪泽县| 镇巴县| 禄劝| 波密县| 天祝| 大英县| 西林县| 铜陵市| 吐鲁番市| 绵阳市| 金坛市| 临江市| 高要市| 安西县| 额尔古纳市| 防城港市| 镇原县| 孟州市|