1、CIFS
Microsoft推出SMB(server message block)后,進一步發展,使其擴展到Internet上,成為common internet file system。
CIFS采用C/S模式,基本網絡協議:TCP/IP和IPX/SPX;
兩種資源訪問模式:
(1) share level security:所有用戶的共享資源訪問口令是相同的,主要在win9x中使用;
(2) user level securyt:Win NT以后的OS只提供ULS,用於必須提供正確的U/P,並且每個用戶權限可以是不同的。
C/S的交互模式:類似與三次握手;三個交互:
(1) 協議選擇:雙方選擇合適的協議進行交互;
(2) 身份驗證:按選定的協議登錄server,由server對client進行身份驗證;
(3) 資源獲取:認證通過后,server和client進行交互,進行文件讀寫等操作。
注意:相同win OS中,所有機器都是對等的,扮演雙重角色,可以作server,也可以是client。
CIFS是一種協議,和具體的OS關系不大,Unix在安裝samba后可以使用CIFS;
2、 CIFS和NFS對比
(1) CIFS面向網絡連接的共享協議,對網絡傳輸的可靠性要求高,常使用TCP/IP;NFS是獨立於傳輸的,可使用TCP或UDP;
(2) NFS缺點之一,是要求client必須安裝專用軟件;而CIFS集成在OS內部,無需額外添加軟件;
(3) NFS屬無狀態協議,而CIFS屬有狀態協議;NFS受故障影響小,可以自恢復交互過程,CIFS不行;從傳輸效率上看,CIFS優於NFS,沒有太多冗余信息傳送;
(4) 兩種協議都需要文件格式轉換,NFS保留了unix的文件格式特性,如所有人、組等等;CIFS則完全安裝win的風格來作。
NAS之文件系統之NFS
NFS:sun公司1984年推出,基於RPC構建,依靠Unix OS。
目的:通過網絡連接來共享servers上的Files和Data。
基本原理:server借助NFS導出一個或多個可供遠程客戶端共享的目的,客戶端mount server上的目錄,實現對文件資源的共享。客戶端借助RPC對服務器提出服務請求。
NFS是帶Cache的,提高訪問效率。
NFS的服務器提供三個關鍵守護進程:portmap,mounted,nfsd
(1) portmap ―― 監聽固定端口,提供RPC服務,將TCP/IP的協議端口映射為RPC程序號;
(2) nfsd ―― 根據客戶需求啟動文件系統請求服務守護進程,處理用戶需求;
(3) mounted ―― 發送文件句柄給客戶端的mount進程。
其它進程nfsiod:用於提供IO吞吐率。
NFS特點:
(1) 無狀態協議;
(2) 支持故障自恢復功能;可實現容錯、容災功能;
3、 NFS和CIFS網絡文件系統
NFS(Network File System,網絡文件系統)是當前主流異構平台共享文件系統之一。主要應用在UNIX環境下。最早是由SUN microsystem開發,現在能夠支持在不同類型的系統之間通過網絡進行文件共享,廣泛應用在FreeBSD、SCO、Solaris等等異構操作系統平台,允許一個系統在網絡上與他人 共享目錄和文件。通過使用NFS,用戶和程序可以象訪問本地文件一樣訪問遠端系統上的文件,使得每個計算機的節點能夠像使用本地資源一樣方便的使用網上資源。換言之,NFS可用於不同類型計算機、操作系統、網絡架構和傳輸協議運行環境中的網絡文件遠程訪問和共享。
NFS的工作原理是使用客戶端/服務器架構,由一個客戶端程序和服務器程序組成。服務器程序向其它計算機提供對文件系統的訪問,其過程就叫做“輸出”。NFS客戶端程序對共享文件系統進行訪問時,把它們從NFS服務器“輸送”出來。文件通常以“塊”為單位進行傳輸,其尺寸是8K(雖然它可能會將操作分成更小尺寸的分片)。NFS傳輸協議用於服務器和客戶機之間的文件訪問和共享的通信,從而使客戶機遠程的訪問保存在存儲設備上的數據。
CIFS(Common Internet File System,公共互聯網文件系統)是當前主流異構平台共享文件系統之一。主要應用在NT/Windows環境下,是由Microsoft公司開發。其工作原理是讓CIFS協議運行與TCP/IP通信協議之上,讓Unix計算機可以在網絡鄰居上被Windows計算機看到。
共享文件系統特點:
1、 異構平台下的文件共享:不同平台下的多個客戶端可以很容易的共享NAS中的同一個文件。
2、 充分利用現有的LAN網絡結構,保護現有**。
3、 冗余安裝,使用和管理都很方便,實現即插即用。
4、 廣泛的連接性:由於基於IP/Ethernet以及標准的NFS和CIFS,可以適應復雜的網絡環境。
5、 內部資源的整合:可以將內部的磁盤整合成一個統一的存儲池,以卷的方式提供給不同的用戶,每一個卷可以格式化成不同的文件系統。
6、 允許應用進程打開一個遠地文件,並能夠在該文件的某一個特定的位置上開始讀寫數據。NFS可使用戶只復制一個大文件中的一個很小的片段,而不需要復制整個大文件,在網絡上傳送的只是少量的修改數據。
需要注意的是,CIFS和NFS雖然統一也是文件系統(File System),但它並不能用於在磁盤中存儲和管理數據,它定義的是通過TCP/IP網絡傳輸文件時的文件組織格式和數據傳輸方式。利用CIFS和NFS共享文件實際涉及到兩次的文件系統轉換。客戶端從服務器端申請一個文件時,服務器端首先從本地讀出文件(本地文件系統格式),並以NFS/CIFS的格式封裝成IP報文並發送給客戶端。客戶端收到IP報文以后,把文件存儲於本地磁盤中(本地文件系統格式)。
4、 存儲系統與文件系統
提到NAS,通常會想到傳統的NAS設備,它具有自己的文件系統,具有較大的存儲容量,具有一定的文件管理和服務功能。NAS設備和客戶端之間通過IP網絡連接,基於NFS/CIFS協議在不同平台之間共享文件,數據的傳輸以文件為組織單位。雖然NAS設備常被認為是一種存儲架構,但NAS設備最核心的東西實際上在存儲之外,那就是文件管理服務。從功能上來看,傳統NAS設備就是一個帶有DAS存儲的文件服務器。從數據的IO路徑來看,它的數據IO發生在NAS設備內部,這種架構與DAS毫無分別。而事實上,很多NAS設備內部的文件服務模塊與磁盤之間是通過SCSI總線連接的。至於通過NFS/CIFS共享文件,完全屬於高層協議通信,根本就不在數據IO路徑上,所以數據的傳輸不可能以塊來組織。正是由於這種功能上的重疊,在SAN出現以后,NAS頭設備(或NAS網關)逐漸發展起來,NAS over SAN的方案越來越多,NAS回歸了其文件服務的本質。
由此可知,NAS與一般的應用主機在網絡層次上的位置是相同的,為了在磁盤中存儲數據,就必須要建立文件系統。有的NAS設備采用專有文件系統,而有的NAS設備則直接借用其操作系統支持的文件系統。由於不同的OS平台之間文件系統不兼容,所以NAS設備和客戶端之間就采用通用的NFS/CIFS來共享文件。至於SAN,它提供給應用主機的就是一塊未建立文件系統的“虛擬磁盤”。在上面建立什么樣的文件系統,完全由主機操作系統確定。
