网络文件系统(NFS)简介
網(wǎng)絡(luò)文件系統(tǒng)(Network File System, NFS)是一種分布式文件系統(tǒng)協(xié)議,最初由Sun Microsystems公司開發(fā),并于1984年發(fā)布。其功能旨在允許客戶端主機可以像訪問本地存儲一樣通過網(wǎng)絡(luò)訪問服務(wù)器端文件。NFS和其他許多協(xié)議一樣,是基于開放網(wǎng)絡(luò)運算遠程過程調(diào)用(Open Network Computing Remote Procedure Call, ONC RPC)協(xié)議之上的。它是一個開放、標準的RFC(Request For Comments, 請求意見稿)協(xié)議,任何人或組織都可以依據(jù)標準實現(xiàn)它。
NFS版本包括:(1). NFSv1: 只在SUN公司內(nèi)部用作實驗?zāi)康?#xff1b;(2). NFSv2: RFC 1094,1989年3月發(fā)布;(3). NFSv3: RFC 1813,1995年6月發(fā)布;(4). NFSv4: RFC 3010,2000年12月發(fā)布; (5). NFSv4.1: RFC 5661,2010年1月; (6). NFSv4.2: RFC 7862,2016年11月發(fā)布。
NFS通常用在Unix操作系統(tǒng)上和其他類Unix的操作系統(tǒng)。同時在其他一些操作系統(tǒng)也提供了NFS實現(xiàn),例如Mac OS、OpenVMS、Microsoft Windows。
NFS的啟動需要透過所謂的遠程過程調(diào)用(RPC),也就是說,我們并不是只要啟動NFS就好了,還需要啟動RPC這個服務(wù)才行。
NFS最大的功能就是可以透過網(wǎng)絡(luò),讓不同的機器、不同的操作系統(tǒng)、可以彼此分享個別的檔案(share files)。所以,你也可以簡單地將它看做是一個文件服務(wù)器(file server)。這個NFS服務(wù)器可以讓你的PC來將網(wǎng)絡(luò)遠程的NFS服務(wù)器分享的目錄,掛載到本地端的機器當中,在本地端的機器看起來,那個遠程主機的目錄就好像是自己的一個磁盤分區(qū)槽一樣(partition),使用上相當?shù)谋憷H缦聢D所示:當我們的NFS服務(wù)器設(shè)定好了分享出來的/home/sharefile這個目錄后,其它的NFS客戶端就可以將這個目錄掛載到自己系統(tǒng)上面的某個掛載點(掛載點可以自定義),例如下圖所示中的NFS client1與NFS client2掛載的目錄就不相同。我只要在NFS client1系統(tǒng)中進入/home/data/sharefile內(nèi),就可以看到NFS服務(wù)器系統(tǒng)內(nèi)的/home/sharefile目錄下的所有數(shù)據(jù)了(當然,權(quán)限要足夠)。這個/home/data/sharefile就好像NFS client1自己機器里面的一個partition。只要權(quán)限對了,那么你就可以使用cp, cd, mv, rm…等等磁盤或檔案相關(guān)的指令。
因為NFS支持的功能相當?shù)亩?#xff0c;而不同的功能都會使用不同的程序來啟動,每啟動一個功能就會啟用一些端口來傳輸數(shù)據(jù),因此,NFS的功能所對應(yīng)的端口才沒有固定住,而是隨機取用一些未被使用的小于1024的埠口來作為傳輸之用。但如此一來又造成客戶端想要連上服務(wù)器時的困擾,因為客戶端得要知道服務(wù)器端的相關(guān)埠口才能夠聯(lián)機。此時,我們就得需要RPC的服務(wù)。RPC最主要的功能就是在指定每個NFS功能所對應(yīng)的port number,并且回報給客戶端,讓客戶端可以連接到正確的埠口上去。那RPC又是如何知道每個NFS的埠口呢?這是因為當服務(wù)器在啟動NFS時會隨機取用數(shù)個埠口,并主動的向RPC注冊,因此RPC可以知道每個埠口對應(yīng)的NFS功能,然后RPC又是固定使用port 111來監(jiān)聽客戶端的需求并回報客戶端正確的埠口。要啟動NFS之前,RPC就要先啟動,否則NFS會無法向RPC注冊。另外,RPC若重新啟動時,原本注冊的數(shù)據(jù)會不見,因此RPC重新啟動后,它管理的所有服務(wù)都需要重新啟動來重新向RPC注冊。
NFS服務(wù)器在啟動的時候就得要向RPC注冊,所以NFS服務(wù)器也被稱為RPC server之一。 那么NFS服務(wù)器主要的任務(wù)是進行文件系統(tǒng)的分享,文件系統(tǒng)的分享則與權(quán)限有關(guān)。 所以NFS服務(wù)器啟動時至少需要兩個daemons ,一個管理客戶端是否能夠登入的問題,一個管理客戶端能夠取得的權(quán)限。
NFS本身的服務(wù)并沒有進行身份登入的識別,服務(wù)器端會以客戶端的使用者UID與GID等身份來嘗試讀取服務(wù)器端的文件系統(tǒng)。
一般來說,NFS的服務(wù)僅會對內(nèi)部網(wǎng)域開放,不會對因特網(wǎng)開放的。然而,如果你有特殊需求的話,那么也可能會跨不同網(wǎng)域。
NFS好處:(1). 節(jié)省本地存儲空間,將常用的數(shù)據(jù)存放在一臺NFS服務(wù)器上且可以通過網(wǎng)絡(luò)訪問,那么本地終端將可以減少自身存儲空間的使用;(2). 用戶不需要在網(wǎng)絡(luò)中的每個機器上都建有Home目錄,Home目錄可以放在NFS服務(wù)器上且可以在網(wǎng)絡(luò)上被訪問使用;(3). 一些存儲設(shè)備如軟驅(qū)、CDROM和Zip(一種高儲存密度的磁盤驅(qū)動器與磁盤)等都可以在網(wǎng)絡(luò)上被別的機器使用,這可以減少整個網(wǎng)絡(luò)上可移動介質(zhì)設(shè)備的數(shù)量。
NFS組成:NFS體系至少有兩個主要部分,一臺NFS服務(wù)器和若干臺客戶機,如下圖所示,客戶機通過TCP/IP網(wǎng)絡(luò)遠程訪問存放在NFS服務(wù)器上的數(shù)據(jù)。在NFS服務(wù)器正式啟用前,需要根據(jù)實際環(huán)境和需求,配置一些NFS參數(shù)。
NFS應(yīng)用:NFS有很多實際應(yīng)用,下面是比較常見的一些:(1). 多個機器共享一臺CDROM或者其它設(shè)備,這對于在多臺機器中安裝軟件來說更加便宜跟方便;(2). 在大型網(wǎng)絡(luò)中,配置一臺中心NFS服務(wù)器用來防止所有用戶的home目錄可能會帶來便利。這些目錄能被輸出到網(wǎng)絡(luò)以便用戶不管在哪臺工作站上登錄,總能得到相同的home目錄;(3). 不同客戶端可以NFS上觀看影視文件,節(jié)省本地空間;(4). 在客戶端完成的工作數(shù)據(jù),可以備份保存到NFS服務(wù)器上用戶自己的路徑下。NFS是運行在應(yīng)用層的協(xié)議,隨著NFS多年的發(fā)展和改進,NFS既可以用于局域網(wǎng)也可以用于廣域網(wǎng),且與操作系統(tǒng)和硬件無關(guān),可以在不同的計算機或系統(tǒng)上運行。
以上內(nèi)容均來自網(wǎng)絡(luò)整理,主要參考:
1.?https://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F
2.?http://cn.linux.vbird.org/linux_server/0330nfs.php
3.?https://baike.baidu.com/item/NFS/812203
總結(jié)
以上是生活随笔為你收集整理的网络文件系统(NFS)简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ImageNet图像数据集介绍
- 下一篇: 程序员的自我修养--链接、装载与库笔记: