資料介紹
這是我寫的第一份筆記式文檔,是對自己最近在研究NFS方面的一個小小的總結,這個穩定也參考和引用了一部分別人的文檔,這里表示感謝,這篇是根據LINUX來寫的,有空的話我還會寫一篇FOR FREEBSD和SOLARIS的。
超全的NFS文檔(FOR LINUX)
上海 天俊
歡迎大家和我交流網絡方面的技術問題
msn:bcst@citiz.net qq:11300242
如果要轉載的話請保留以上信息,謝謝配合
一、NFS簡介
NFS-Network FileSystem的縮寫,NFS是由Sun開發并發展起來的一項用于在不同機器,不同操作系統之間通過網絡互相分享各自的文件。NFS server也可以看作是一個FILE SERVER,它可以讓你的PC通過網絡將遠端得NFS SERVER共享出來的檔案MOUNT到自己的系統中,在CLIENT看來使用NFS的遠端文件就象是在使用本地文件一樣。
NFS協議從誕生到現在為止,已經有多個版本,如NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010)。
二、各NFS協議版本的主要區別
V3相對V2的主要區別:
1、文件尺寸
V2最大只支持32BIT的文件大小(4G),而NFS V3新增加了支持64BIT文件大小的技術。
2、文件傳輸尺寸
V3沒有限定傳輸尺寸,V2最多只能設定為8k,可以使用-rsize and -wsize 來進行設定。
3、完整的信息返回
V3增加和完善了許多錯誤和成功信息的返回,對于服務器的設置和管理能帶來很大好處。
4、增加了對TCP傳輸協議的支持
V2只提供了對UDP協議的支持,在一些高要求的網絡環境中有很大限制,V3增加了對TCP協議的支持
*5、異步寫入特性
6、改進了SERVER的mount性能
7、有更好的I/O WRITES 性能。
9、更強網絡運行效能,使得網絡運作更為有效。
10、更強的災難恢復功能。
異步寫入特性(v3新增加)介紹:
NFS V3 能否使用異步寫入,這是可選擇的一種特性。NFS V3客戶端發發送一個異步寫入請求到服務器,在給客戶端答復之前服務器并不是必須要將數據寫入到存儲器中(穩定的)。服務器能確定何時去寫入數據或者將多個寫入請求聚合到一起并加以處理,然后寫入。客戶端能保持一個數據的copy以防萬一服務器不能完整的將數據寫入。當客戶端希望釋放這個copy的時候,它會向服務器通過這個操作過程,以確保每個操作步驟的完整。異步寫入能夠使服務器去確定最好的同步數據的策略。使數據能盡可能的同步的提交何到達。與V2比較來看,這樣的機制能更好的實現數據緩沖和更多的平行(平衡)。而NFS V2的SERVER在將數據寫入存儲器之前不能再相應任何的寫入請求。
V4相對V3的改進:
1:改進了INTERNET上的存取和執行效能
2:在協議中增強了安全方面的特性
3:增強的跨平臺特性
三、CLIENT和SERVER的具體操作和設置
在講NFS SERVER的運作之前先來看一些與NFS SERVER有關的東西:
RPC(Remote Procedure Call)
NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網絡進行資料的分享,這是因為NFS使用了一些其它的傳輸協議。而這些傳輸協議勇士用到這個RPC功能的。可以說NFS本身就是使用RPC的一個程序。或者說NFS也是一個RPC SERVER.所以只要用到NFS的地方都要啟動RPC服務,不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現PROGRAM PORT的對應。可以這么理解RPC和NFS的關系:NFS是一個文件系統,而RPC是負責負責信息的傳輸。
NFS需要啟動的DAEMONS
pc.nfsd:主要復雜登陸權限檢測等。
rpc.mountd:負責NFS的檔案系統,當CLIENT端通過rpc.nfsd登陸SERVER后,對clinet存取server的文件進行一系列的管理
NFS SERVER在REDHAT LINUX平臺下一共需要兩個套件:nfs-utils和PORTMAP
nfs-utils:提供rpc.nfsd 及 rpc.mountd這兩個NFS DAEMONS的套件
portmap:NFS其實可以被看作是一個RPC SERVER PROGRAM,而要啟動一個RPC SERVER PROGRAM,都要做好PORT的對應工作,而且這樣的任務就是由PORTMAP來完成的。通俗的說PortMap就是用來做PORT的mapping的。
一:服務器端的設定(以LINUX為例)
服務器端的設定都是在/etc/exports這個文件中進行設定的,設定格式如下:
欲分享出去的目錄 主機名稱1或者IP1(參數1,參數2) 主機名稱2或者IP2(參數3,參數4)
上面這個格式表示,同一個目錄分享給兩個不同的主機,但提供給這兩臺主機的權限和參數是不同的,所以分別設定兩個主機得到的權限。
可以設定的參數主要有以下這些:
rw:可讀寫的權限;
ro:只讀的權限;
no_root_squash:登入到NFS主機的用戶如果是ROOT用戶,他就擁有ROOT的權限,此參數很不安全,建議不要使用。
root_squash:在登入 NFS 主機使用分享之目錄的使用者如果是 root 時,那麼這個使用者的權限將被壓縮成為匿名使用者,通常他的 UID 與 GID 都會變成 nobody 那個身份;
all_squash:不管登陸NFS主機的用戶是什么都會被重新設定為nobody。
anonuid:將登入NFS主機的用戶都設定成指定的user id,此ID必須存在于/etc/passwd中。
anongid:同 anonuid ,但是變成 group ID 就是了!
sync:資料同步寫入存儲器中。
async:資料會先暫時存放在內存中,不會直接寫入硬盤。
insecure 允許從這臺機器過來的非授權訪問。
例如可以編輯/etc/exports為:
/tmp *(rw,no_root_squash)
/home/public 192.168.0.*(rw) *(ro)
/home/test 192.168.0.100(rw)
/home/linux *.the9.com(rw,all_squash,anonuid=40,anongid=40)
設定好后可以使用以下命令啟動NFS:
/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默認啟動的)
/etc/rc.d/init.d/nfs start
exportfs命令:
如果我們在啟動了NFS之后又修改了/etc/exports,是不是還要重新啟動nfs呢?這個時候我們就可以用exportfs命令來使改動立刻生效,該命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的內容
-r :重新mount /etc/exports中分享出來的目錄
-u :umount 目錄
-v :在 export 的時候,將詳細的信息輸出到屏幕上。
具體例子:
[root @test root]# exportfs -rv 《==全部重新 export 一次!
exporting 192.168.0.100:/home/test
exporting 192.168.0.*:/home/public
exporting *.the9.com:/home/linux
exporting *:/home/public
exporting *:/tmp
reexporting 192.168.0.100:/home/test to kernel
exportfs -au 《==全部都卸載了。
客戶段的操作:
1、showmout命令對于NFS的操作和查錯有很大的幫助,所以我們先來看一下showmount的用法
showmout
-a :這個參數是一般在NFS SERVER上使用,是用來顯示已經mount上本機nfs目錄的cline機器。
-e :顯示指定的NFS SERVER上export出來的目錄。
例如:
showmount -e 192.168.0.30
Export list for localhost:
/tmp *
/home/linux *.linux.org
/home/public (everyone)
/home/test 192.168.0.100
2、mount nfs目錄的方法:
mount -t nfs hostname(orIP):/directory /mount/point
具體例子:
Linux: mount -t nfs 192.168.0.1:/tmp /mnt/nfs
Solaris:mount -F nfs 192.168.0.1:/tmp /mnt/nfs
BSD: mount 192.168.0.1:/tmp /mnt/nfs
3、mount nfs的其它可選參數:
HARD mount和SOFT MOUNT:
HARD: NFS CLIENT會不斷的嘗試與SERVER的連接(在后臺,不會給出任何提示信息,在LINUX下有的版本仍然會給出一些提示),直到MOUNT上。
SOFT:會在前臺嘗試與SERVER的連接,是默認的連接方式。當收到錯誤信息后終止mount嘗試,并給出相關信息。
例如:mount -F nfs -o hard 192.168.0.10:/nfs /nfs
對于到底是使用hard還是soft的問題,這主要取決于你訪問什么信息有關。例如你是想通過NFS來運行X PROGRAM的話,你絕對不會希望由于一些意外的情況(如網絡速度一下子變的很慢,插拔了一下網卡插頭等)而使系統輸出大量的錯誤信息,如果此時你用的是HARD方式的話,系統就會等待,直到能夠重新與NFS SERVER建立連接傳輸信息。另外如果是非關鍵數據的話也可以使用SOFT方式,如FTP數據等,這樣在遠程機器暫時連接不上或關閉時就不會掛起你的會話過程。
超全的NFS文檔(FOR LINUX)
上海 天俊
歡迎大家和我交流網絡方面的技術問題
msn:bcst@citiz.net qq:11300242
如果要轉載的話請保留以上信息,謝謝配合
一、NFS簡介
NFS-Network FileSystem的縮寫,NFS是由Sun開發并發展起來的一項用于在不同機器,不同操作系統之間通過網絡互相分享各自的文件。NFS server也可以看作是一個FILE SERVER,它可以讓你的PC通過網絡將遠端得NFS SERVER共享出來的檔案MOUNT到自己的系統中,在CLIENT看來使用NFS的遠端文件就象是在使用本地文件一樣。
NFS協議從誕生到現在為止,已經有多個版本,如NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010)。
二、各NFS協議版本的主要區別
V3相對V2的主要區別:
1、文件尺寸
V2最大只支持32BIT的文件大小(4G),而NFS V3新增加了支持64BIT文件大小的技術。
2、文件傳輸尺寸
V3沒有限定傳輸尺寸,V2最多只能設定為8k,可以使用-rsize and -wsize 來進行設定。
3、完整的信息返回
V3增加和完善了許多錯誤和成功信息的返回,對于服務器的設置和管理能帶來很大好處。
4、增加了對TCP傳輸協議的支持
V2只提供了對UDP協議的支持,在一些高要求的網絡環境中有很大限制,V3增加了對TCP協議的支持
*5、異步寫入特性
6、改進了SERVER的mount性能
7、有更好的I/O WRITES 性能。
9、更強網絡運行效能,使得網絡運作更為有效。
10、更強的災難恢復功能。
異步寫入特性(v3新增加)介紹:
NFS V3 能否使用異步寫入,這是可選擇的一種特性。NFS V3客戶端發發送一個異步寫入請求到服務器,在給客戶端答復之前服務器并不是必須要將數據寫入到存儲器中(穩定的)。服務器能確定何時去寫入數據或者將多個寫入請求聚合到一起并加以處理,然后寫入。客戶端能保持一個數據的copy以防萬一服務器不能完整的將數據寫入。當客戶端希望釋放這個copy的時候,它會向服務器通過這個操作過程,以確保每個操作步驟的完整。異步寫入能夠使服務器去確定最好的同步數據的策略。使數據能盡可能的同步的提交何到達。與V2比較來看,這樣的機制能更好的實現數據緩沖和更多的平行(平衡)。而NFS V2的SERVER在將數據寫入存儲器之前不能再相應任何的寫入請求。
V4相對V3的改進:
1:改進了INTERNET上的存取和執行效能
2:在協議中增強了安全方面的特性
3:增強的跨平臺特性
三、CLIENT和SERVER的具體操作和設置
在講NFS SERVER的運作之前先來看一些與NFS SERVER有關的東西:
RPC(Remote Procedure Call)
NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網絡進行資料的分享,這是因為NFS使用了一些其它的傳輸協議。而這些傳輸協議勇士用到這個RPC功能的。可以說NFS本身就是使用RPC的一個程序。或者說NFS也是一個RPC SERVER.所以只要用到NFS的地方都要啟動RPC服務,不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現PROGRAM PORT的對應。可以這么理解RPC和NFS的關系:NFS是一個文件系統,而RPC是負責負責信息的傳輸。
NFS需要啟動的DAEMONS
pc.nfsd:主要復雜登陸權限檢測等。
rpc.mountd:負責NFS的檔案系統,當CLIENT端通過rpc.nfsd登陸SERVER后,對clinet存取server的文件進行一系列的管理
NFS SERVER在REDHAT LINUX平臺下一共需要兩個套件:nfs-utils和PORTMAP
nfs-utils:提供rpc.nfsd 及 rpc.mountd這兩個NFS DAEMONS的套件
portmap:NFS其實可以被看作是一個RPC SERVER PROGRAM,而要啟動一個RPC SERVER PROGRAM,都要做好PORT的對應工作,而且這樣的任務就是由PORTMAP來完成的。通俗的說PortMap就是用來做PORT的mapping的。
一:服務器端的設定(以LINUX為例)
服務器端的設定都是在/etc/exports這個文件中進行設定的,設定格式如下:
欲分享出去的目錄 主機名稱1或者IP1(參數1,參數2) 主機名稱2或者IP2(參數3,參數4)
上面這個格式表示,同一個目錄分享給兩個不同的主機,但提供給這兩臺主機的權限和參數是不同的,所以分別設定兩個主機得到的權限。
可以設定的參數主要有以下這些:
rw:可讀寫的權限;
ro:只讀的權限;
no_root_squash:登入到NFS主機的用戶如果是ROOT用戶,他就擁有ROOT的權限,此參數很不安全,建議不要使用。
root_squash:在登入 NFS 主機使用分享之目錄的使用者如果是 root 時,那麼這個使用者的權限將被壓縮成為匿名使用者,通常他的 UID 與 GID 都會變成 nobody 那個身份;
all_squash:不管登陸NFS主機的用戶是什么都會被重新設定為nobody。
anonuid:將登入NFS主機的用戶都設定成指定的user id,此ID必須存在于/etc/passwd中。
anongid:同 anonuid ,但是變成 group ID 就是了!
sync:資料同步寫入存儲器中。
async:資料會先暫時存放在內存中,不會直接寫入硬盤。
insecure 允許從這臺機器過來的非授權訪問。
例如可以編輯/etc/exports為:
/tmp *(rw,no_root_squash)
/home/public 192.168.0.*(rw) *(ro)
/home/test 192.168.0.100(rw)
/home/linux *.the9.com(rw,all_squash,anonuid=40,anongid=40)
設定好后可以使用以下命令啟動NFS:
/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默認啟動的)
/etc/rc.d/init.d/nfs start
exportfs命令:
如果我們在啟動了NFS之后又修改了/etc/exports,是不是還要重新啟動nfs呢?這個時候我們就可以用exportfs命令來使改動立刻生效,該命令格式如下:
exportfs [-aruv]
-a :全部mount或者unmount /etc/exports中的內容
-r :重新mount /etc/exports中分享出來的目錄
-u :umount 目錄
-v :在 export 的時候,將詳細的信息輸出到屏幕上。
具體例子:
[root @test root]# exportfs -rv 《==全部重新 export 一次!
exporting 192.168.0.100:/home/test
exporting 192.168.0.*:/home/public
exporting *.the9.com:/home/linux
exporting *:/home/public
exporting *:/tmp
reexporting 192.168.0.100:/home/test to kernel
exportfs -au 《==全部都卸載了。
客戶段的操作:
1、showmout命令對于NFS的操作和查錯有很大的幫助,所以我們先來看一下showmount的用法
showmout
-a :這個參數是一般在NFS SERVER上使用,是用來顯示已經mount上本機nfs目錄的cline機器。
-e :顯示指定的NFS SERVER上export出來的目錄。
例如:
showmount -e 192.168.0.30
Export list for localhost:
/tmp *
/home/linux *.linux.org
/home/public (everyone)
/home/test 192.168.0.100
2、mount nfs目錄的方法:
mount -t nfs hostname(orIP):/directory /mount/point
具體例子:
Linux: mount -t nfs 192.168.0.1:/tmp /mnt/nfs
Solaris:mount -F nfs 192.168.0.1:/tmp /mnt/nfs
BSD: mount 192.168.0.1:/tmp /mnt/nfs
3、mount nfs的其它可選參數:
HARD mount和SOFT MOUNT:
HARD: NFS CLIENT會不斷的嘗試與SERVER的連接(在后臺,不會給出任何提示信息,在LINUX下有的版本仍然會給出一些提示),直到MOUNT上。
SOFT:會在前臺嘗試與SERVER的連接,是默認的連接方式。當收到錯誤信息后終止mount嘗試,并給出相關信息。
例如:mount -F nfs -o hard 192.168.0.10:/nfs /nfs
對于到底是使用hard還是soft的問題,這主要取決于你訪問什么信息有關。例如你是想通過NFS來運行X PROGRAM的話,你絕對不會希望由于一些意外的情況(如網絡速度一下子變的很慢,插拔了一下網卡插頭等)而使系統輸出大量的錯誤信息,如果此時你用的是HARD方式的話,系統就會等待,直到能夠重新與NFS SERVER建立連接傳輸信息。另外如果是非關鍵數據的話也可以使用SOFT方式,如FTP數據等,這樣在遠程機器暫時連接不上或關閉時就不會掛起你的會話過程。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- hanewin nfs server下載 0次下載
- AM6254-通過NFS和TFTP網絡更新鏡像_應用筆記
- 嵌入式linux實現mount掛載nfs服務器拷貝文件
- 嵌入式設備NFS掛載目錄(基于iTop 4412)
- 嵌入式Linux NFS掛載
- 嵌入式NFS網絡文件系統實驗報告 0次下載
- 最全面的AD元器件封裝庫資料合集 0次下載
- Linux應用基礎教程之Linux的網絡服務資料概述 18次下載
- 收集Unix/Linux/BSD命令和任務的文檔 8次下載
- Linux內核文檔:ARM-啟動 6次下載
- 搭建NFS開發板部分 0次下載
- 比較全面的手機原理資料 66次下載
- 嵌入式Linux NFS方式下應用程序的實現
- Linux指令教程 (非常詳細)
- 非常全面的protel99 快捷鍵文本 0次下載
- Linux配置NFS文件共享詳解 2260次閱讀
- 通過掛載NFS服務器鏡像安裝操作系統的方法 1276次閱讀
- rtty非常適合遠程維護 Linux 設備 761次閱讀
- 為什么大部分服務器都要用Linux系統? 3057次閱讀
- 一文讀懂NFS服務器 1065次閱讀
- 如何在CentOS 8設置NFS v4服務器 3102次閱讀
- 如何在Linux掛載NFS共享 3172次閱讀
- 如何在Linux卸載NFS共享目錄 1w次閱讀
- nfs服務搭建方式的詳細說明 1243次閱讀
- 最全面的電源電路圖參考資料 6477次閱讀
- Linux指令的詳細整理 1985次閱讀
- Linux:無法寫入文件到NFS目錄的解決措施 5968次閱讀
- 非常全面系統的Cortex-A53教學實驗平臺 4859次閱讀
- 最全面的Python字符串拼接總結說明 3051次閱讀
- 玩轉Linux,先把文件系統搞懂 2009次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多