誰曾想到,數位存儲可達到如此難以置信的復雜程度呢?存儲一直以來都在遵循一套數目不菲的協議,從光纖通道(Fibre Channel)到iSCSI再到SMB的各種變體等等,但閃存的出現和虛擬化的持續增長又把這一需連篇累牘解讀的主題變成了一個縮寫詞、協議和抽象叢生的密林。
同時,數據中心的虛擬化也促使了存儲虛擬化浪潮的到來,存儲逐漸脫離物理協議的束縛,朝實例存儲和卷存儲一類邏輯、抽象存儲模型進化。通過提供抽象化,數據中心逐步解除了虛擬機和存儲協議之間的耦合。
另外,云數據中心的崛起還催生出一種被稱作對象存儲的新存儲類型,為了在全局范圍內提供單一名稱空間,這種存儲類型犧牲了傳統存儲協議的強一致性。
在本文中,我將通過一一列出實例、卷和對象存儲在數據中心演變過程中所處的位置來澄清這幾種存儲類型,并說明這些新的抽象是如何被疊加到現有的存儲協議之上,或是如何與現有的存儲協議并存的。
云存儲的歷史在許多方面就是虛擬化的歷史,我將先從物理環境談起,再說到虛擬化,到這個階段后,虛擬的和物理的模型開始分化,最后再歸結到云,這一階段的物理模型幾乎已被虛擬模型完全抽象化。
物理存儲
每種存儲的根基都是某一組物理存儲協議,所以,我先來快速回顧一下物理存儲。如今在用的三大物理存儲模型分別是:直接附加存儲(Direct Attached Storage,DAS)、存儲區域網絡(Storage Area Network)和網絡附加存儲(Network Attached Storage,NAS)。
DAS(直接附加存儲)
直接附加存儲是最簡單的存儲模型,我們都很熟悉DAS,幾乎所有的筆記本電腦、手機和臺式計算機都使用這一模型。DAS的基本單元是機器自身,服務器的存儲沒有與服務器自身分離。就手機這種情況來說,在物理上就無法把計算與存儲拆開來,不過即使是理論上可以卸掉硬盤的服務器,一旦硬盤被從服務器上卸下之后,通常也會在擦除掉硬盤的內容之后才再次使用該硬盤。SCSI和SATA都是DAS協議的例子。
SAN(存儲區域網絡)
終于,存儲廠商意識到了分離存儲和機器的實用性,不再把硬盤裝配到每一臺機器上,而是把所有的硬盤裝配在一個服務器集群上,然后通過網絡訪問硬盤。這簡化了諸如備份和故障修復一類的存儲管理。這種存儲和計算分離的做法通常被稱作共享存儲,因為多臺計算機將使用同一個存儲池。
客戶端和服務器之間使用同一種(或非常相似的)塊協議進行通信,這些塊協議之前被用來與本地附加硬盤進行通信,這是最簡單的通信方式。暴露這種通信方式的存儲被稱作存儲區域網絡,光纖通道(Fibre Channel)和iSCSI都是SAN協議的例子。
在一個存儲區域網絡中,管理員會把一組磁盤(或一組磁盤中的部分)組成一個LUN(logical unit,邏輯單元),之后,外部的計算機就可像操作單個磁盤一樣操作這一LUN。LUN被用作管理SAN存儲的基本單元。
NAS(網絡附加存儲)
雖然SAN支持在兩臺計算機之間移動LUN,但它們所使用的塊協議并非被設計來在計算機之間并發訪問同一LUN中的數據。為了支持這種共享,我們需要構建一種新的用于并發訪問的存儲。在這種新的存儲中,我們使用文件系統協議與存儲進行通信,這一協議酷似運行在計算機本地的文件系統。這種存儲被稱作網絡附加存儲,NFS和SMB都是NAS協議的例子。
這一文件抽象允許多臺服務器同時訪問同一數據,多臺服務器可以同時讀取同一文件,多臺服務器也可同時把多個新文件寫入文件系統中。因此,對于共享用戶或是共享應用數據來說,NAS是一種非常便利的模型。
NAS存儲允許管理員把部分存儲分配給單獨的文件系統,每個文件系統都是一個單一名稱空間,文件系統被用作管理NAS的基本單元。
現在來歸納一下
現在,我們已經對云存儲模型及其與被用在更傳統的存儲環境中的存儲模型的關系做了一個完整的描述,正如DAS、SAN和NAS提供了一組工具來解決各種物理的或虛擬的用例的問題,實例、卷和對象存儲也共同為云提供了一個靈活的泛型。雖然并非所有的安裝實例都會用到所有的這些存儲類型,但也沒有一種存儲類型依靠自身就能夠處理所有必需的用例。
新的云存儲模型
下面的表格回顧了每種模型的實現方式,每種模型被暴露給VM的方式,以及每種模型提供給管理員的管理方式。
實例和卷存儲充當現有的DAS和SAN物理存儲模型的邏輯抽象,在新的數據中心環境中,這些虛擬存儲模型存在于存儲協議之上。與之相反,對象存儲提供了一種新的主要專注于大規模的存儲類型,該存儲類型處理一系列類似于物理環境中的NAS所處理的那種用例。
雖然這些抽象初看很復雜,但它們給數據中心和應用管理員帶來了新的自由。應用管理員不再被數據中心的基礎設施決策所束縛,他們可以隨意選用對應用有意義的模型來管理數據。相應的,數據中心管理員可在對用戶來說很重要的抽象層面管理存儲,同時又可以利用適合于數據中心需求的最佳存儲實現。
就像DAS、SAN和NAS模型支持物理數據中心的創新一樣,實例、卷和對象存儲也會讓現代虛擬數據中心的持續創新成為可能。
關于作者
Brandon Salmon是Tintri公司的CTO,@Tintri,2009 年加入Tintri。他是被稱作系統小子的那類人,喜歡思考用戶體驗,這個愛好從他在卡內基·梅隆大學進行關于家居分布式文件系統的博士研究工作時就開始了。他設計和實現了Tintri的在閃存和磁盤之間移動數據的最初算法,此后又致力于多個領域的研究工作,最近的研究方向是云技術。