傳統存儲SAN、NAS和分佈式存儲、ServerSAN全面解讀

隨着主機、磁盤、網絡等技術的發展,對於存儲空間和性能的要求越來越高,服務器的內置磁盤往往不足以滿足存儲需的要求。因此,在內置存儲之外,服務器需要採用外置存儲的方式擴展存儲空間。

網絡連接存儲(簡稱NAS)

網絡儲存設備 (Network Attached Storage,NAS),NAS是通過IP網絡訪問的文件系統,可以理解爲硬盤+文件系統軟件的組合。NAS存儲設備可以直接連接在以太網中,之後在該網絡域內的不同類型操作系統主機都可以實現對該設備的訪問。NAS不一定是盤陣,一臺普通的主機就可以做出NAS,只要它自己有磁盤和文件系統,而且對外提供訪問其文件系統的接口(如NFS,CIFS等),它就是一臺NAS使用者可以通過某種方式(例如linux下的mount命令)將存儲服務掛載到本地進行訪問,在本地呈現的就是一個文件目錄樹。我們所熟悉的NFS其實就是一個NAS存儲形式,NFS服務器就是NAS存儲設備。

NAS有一個比較大的優勢是真正即插即用。NAS的應用非常靈活,NAS設備一般支持多計算機平臺,用戶通過網絡支持協議可進入相同的文檔,因而NAS設備無需改造即可用於混合Unix/Windows NT局域網內。

                                                       

 存儲區域網絡(簡稱SAN)

SAN存儲 (存儲區域網絡Storage Area Network)也即存儲區域網絡,這個是通過某種交換機(例如光纖交換機或者IB交換機等)連接存儲陣列和服務器主機等設備,形成一個專用的存儲網絡。其概念的核心是形成一個存儲網絡,該網絡是專有網絡,所謂的專用存儲網絡主要體現在通信設備和協議上,目前主流的是FC-SAN,也就是基於FC設備及通信協議的存儲區域網絡。因爲光纖網絡的成本太高並且隨着萬兆網的普及,後面又發展出一種基於以太網的SAN存儲形式,這個就是我們通常所說的iSCSI。這種存儲形式其實是利用TCP/IP協議實現了對SCSI協議的封裝。主機端相當於CS架構的客戶端,而存儲端則是服務端。該種方式SAN存儲的優點是實現存儲網絡與傳統以太網的互聯互通。

 

                                                  

 專業的存儲廠商都是在磁盤陣列的上對外提供nas或者san服務。在san上封裝一層文件系統就成了nas,磁盤陣列一般結構如下:

                                           

在陣列中通常包含一個機頭,這個是存儲系統中最爲核心的部件。通常在機頭中有包含兩個控制器,這兩個控制器實現互備的作用,避免硬件故障導致整個存儲系統的不可用。在該機頭中通常包含前端端口和後端端口,前端端口用戶爲服務器提供存儲服務,而後端端口用於擴充存儲系統的容量。通過後端端口機頭可以連接更多的存儲設備,從而形成一個非常大的存儲資源池。

機頭中是整個存儲系統的核心部件,整個存儲系統的高級功能都在其中實現。控制器中的軟件實現對磁盤的管理,將磁盤抽象化爲存儲資源池,然後劃分爲LUN提供給服務器使用。這裏的LUN其實就是在服務器上看到的磁盤。當然,一些集中式存儲本身也是文件服務器,可以爲服務器提供共享文件服務。無論如何,從上面我們可以看出集中式存儲最大的特點是有一個統一的入口,所有數據都要經過這個入口,這個入口就是存儲系統的機頭。

Nas和san的區別:

 1、nas對外以文件系統的方式對外提供服務,外在表現就會通過打開文件,文件讀寫等接口進行io操作。san對外呈現的是一個磁盤,用戶根據自己需求使用磁盤,以塊設備偏移爲地址進行io操作。

2、nas直接連接入以太網,通過TCP/IP協議訪問數據,採用標準文件共享協議如:NFS、CIFS實現共享。San則是通過光纖連接服務器,協議也是FC協議,但是後來也支持以iscsi協議連接以太網。

3、san的性能要好於nas,根據使用需求選擇合適的存儲方式。

統一存儲

所謂統一存儲只是將上述兩種方式整合到一臺物理設備中,對外提供SAN和NAS服務,實現FC SAN與IP SAN、各類存儲介質的完美融合。

分佈式存儲

分佈式存儲是可以將分散開來的磁盤聚集起來組成一個虛擬的存儲設備,在不增加專業的存儲設備情況下爲企業提供大容量高性能的存儲服務。爲什麼會產生分佈式存儲?還是因爲傳統存儲存在幾點問題:

  1. 成本原因,使用專用的存儲網絡無疑會增加企業負擔。
  2. 存儲彈性,上面我們看到了存儲陣列的存儲擴展櫃是級聯在機頭上,如果資源有不同要求的時候,很難方便地做出調整,包括性能和容量資源的彈性調配。
  3. 容錯性,在規模很大的雲計算環境下,需要具備跨機房、跨機櫃、跨服務器的數據保護機制,即使在機櫃故障等場景下,數據仍然不丟失,仍然可訪問。
  4. 擴展性,如機頭、前後端網絡、磁盤與CPU/MEM資源等,都是傳統存儲無法做到線性擴展的幾個關鍵因素。

分佈式網絡存儲系統採用可擴展的系統結構,利用多臺存儲服務器分擔存儲負荷,利用位置服務器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。

分佈式存儲是一個大的概念,其包含的種類繁多,除了傳統意義上的分佈式文件系統、分佈式塊存儲和分佈式對象存儲外,還包括分佈式數據庫和分佈式緩存等。本文侷限在分佈式文件系統等傳統意義上的存儲架構,對於數據庫等不做介紹。

分佈式存儲分類

分佈式存儲分爲三大類:塊存儲、文件存儲、對象存儲。

這三者的本質差別是使用數據的“用戶”不同:塊存儲的用戶是可以讀寫塊設備的軟件系統,例如傳統的文件系統、數據庫;文件存儲的用戶是自然人;對象存儲的用戶則是其它計算機軟件。

文件存儲:分佈式存儲中的文件存儲就是前面講的nas,這裏不再詳述。

塊存儲:分佈式存儲中的塊存儲和前面講的san存儲一樣,這裏也不再詳述。

對象存儲:對象存儲出現得晚一些,相關產品一直也不溫不火。一直到雲計算和大數據的火爆,才慢慢進入公衆視野。前面說到的塊存儲和文件存儲,基本上都還是在專有的局域網絡內部使用,而對象存儲的優勢場景卻是互聯網或者公網,主要解決海量數據,海量併發訪問的需求。例如網盤就是典型的對象存儲。對象存儲的訪問通常是在互聯網,走HTTP協議,性能方面,單獨看一個連接的是不高的(還要解決掉線斷點續傳之類的可靠性問題),主要強大的地方是支持的併發數量,聚合起來的性能帶寬就非常可觀了。

之所以出現了對象存儲這種東西,是爲了克服塊存儲與文件存儲各自的缺點,發揚它倆各自的優點。對象做爲一個整體進行整存整取,不需要像文件系統那樣將數據切片管理元數據,我們只需要給他一個唯一標識,使用這個表示來查詢和刪除該對象。因此對象存儲只能存取刪(put/get/delete),而沒有修改。

Server SAN

WIKIBON對Server SAN 的定義是:Server SAN is defined as a pooled storage resource comprising more than one storage device directly attached to separate multiple servers (more than one).

簡單說Server SAN是有多個獨立的服務器帶的存儲組成的一個存儲資源池。wikibon把現在的存儲的架構分成下面幾個部分:

DAS,SAN/NAS大家都比較熟悉,前面也有介紹。雲存儲現在也廣爲人知了,比如亞馬遜的AWS,國內的阿里雲,大家應該也瞭解。但Hyperscale指的是超大規模存儲,不是我們要介紹的忽略。最後一類存儲架構,就是Server SAN了。這類存儲最著名的就是VMWARE VSAN了,當然也包含HP的StoreVirtual VSA,華爲的FusionStorage都算這種類型。根據上面的圖我們可以看到Server SAN和傳統SAN、分佈式存儲的區別。Server SAN使用通用硬件+軟件,有着良好的性價比和擴展性。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章