Seagate,張明德

最近,Seagate在臺灣進一步釋出更多Kinetic硬碟與Kinetic開放儲存平臺細節資訊,以及應用案例,揭示一種新型態儲存架構的誕生。

基本上,Seagate的Kinetic開放儲存平臺是一種物件儲存(Object Storage,或稱為對象儲存)這個新興儲存應用領域的一員,是因應「網路規模(Web-Scale)IT」應用、應付極巨量資料儲存需求而誕生的產物。

已有20年以上歷史的NAS或SAN儲存架構,迄今雖仍活躍於IT應用第一線,但日漸無法因應暴漲的資料儲存需求,面對以數百PB等級計算、或是未來以EB、ZB等級計算的極巨量資料儲存需求時,顯得過於昂貴、複雜、擴充受限,且經濟上難以負擔,為了更經濟地滿足極巨量資料儲存的需求,10多年前誕生了新的物件儲存架構,普遍為必須應付巨量資料儲存的雲端業者所使用,最著名的便是Amazon S3。

物件儲存以結合了資料本體、Matadata與屬性的「物件」為基本單位,Client端可透過REST或SOAP之類的Web存取架構,直接存取物件儲存裝置(Object-based Storage Device,OSD)中的物件,管理者可視需要靈活地調整OSD中的資料分佈、資料的可用性與存取服務等級,並獲得近乎無限的擴展能力。

不過在最底層的儲存媒體上,OSD仍是建立在傳統的SAS或SATA硬碟上,OSD的物理實體,多半是一臺基於SAS/SATA硬碟DAS直連架構的儲存伺服器,OSD所有的物件存取操作,最終還是會轉為傳統的硬碟操作,透過SCSI指令與邏輯區塊定址(LBA),經由SAS/SATA介面磁碟控制器映射到硬碟的磁柱、磁頭與磁軌定址的區塊上執行。

Seagate Kinetic平臺與眾不同之處,便在於在硬碟介面與定址方式上捨棄了傳統的SAS/SATA介面與LBA/LBN定址,改用TCP/IP/乙太網路介面,以及Key/Value型式的儲存操作,藉由新形態的硬碟介面與存取型式為基礎,帶來一種全新的物件式儲存架構。

基於乙太網路與Key/Value存取的Kinetic硬碟

從外觀看來,Kinetic硬碟和傳統的硬碟沒甚麼不同,事實上,Kinetic硬碟直接沿用了Seagate的SAS硬碟的硬體機構,連接埠也沿用了SAS規格的SFF-8482連接頭,差別在於透過重新定義連接頭pin腳腳位,讓2個SAS埠轉為2個GbE網路埠使用。每臺Kinetic都有1個獨立的IP位址,而2個GbE埠可提供Active/Active應用。

而在存取方式上,Kinetic硬碟捨棄了傳統的透過SCSI指令集以LBA定址存取硬碟資料的方式,改以類似NoSQL的Key/Value儲存方式—每個值(Value)都有獨一無二的標幟(Key),藉由Key便能定位與存取每個儲存物件。

同時,Seagate也提供了一套開放的物件式儲存介面Kinetic API,應用程式端透過這套API可直接向Kinetic硬碟中的物件發出get(讀取)、put(寫入)與刪除(delete)等操作指令,然後由Kinetic硬碟進行從Key/Value到實際硬碟磁柱、磁頭與磁軌間的映射,大幅簡化了應用程式端的存取工作。

由於Kinetic硬碟採用了有別於傳統硬碟的乙太網路介面與Key/Value存取方式,所以硬碟上負責轉譯存取指令、磁軌搜尋讀寫與其他控制指令的硬碟控制器,也不同於傳統硬碟的專用控制器晶片--這款硬碟改用更高階的ARM-based通用處理器作為控制器,來處理乙太網路傳輸與Key/Value存取協定的操作。

傳統硬碟 vs. Kinetic硬碟

Kinetic硬碟的物理機構,與標準的Near-line SAS硬碟幾乎完全相同,Seagate日前發表的款式是由Terascale系列SAS硬碟修改而來,差別在於這3點:
(1)重新定義SAS的SFF-8482接頭pin腳,將SAS埠轉為GbE乙太網路埠。
(2)改用Key/Value存取方式,必須透過Seagate Kinetic API來執行存取操作。
(3)硬碟控制器改用ARM-based處理器。
藉由沿用標準SAS硬碟機構,系統廠商可以方便地修改標準機架式機箱,使之適用於Kinetic硬碟;而沿用SFF-8482連接頭,則可方便地透過背板電路型式的乙太網路--即所謂「背板式乙太網路(backplane Ethernet)」,在機箱內為多臺Kinetic硬碟提供乙太網路連接。
圖片來源/Seagate

Kinetic硬碟帶來全新儲存架構

藉由乙太網路介面與Key/Value存取方式,Kinetic硬碟可帶來一種更簡單的「乙太網路直連存取(direct-access-over-Ethernet)」儲存架構。

這有什麼不同呢?傳統的儲存架構中,從最上層的應用程式到最底層的硬碟之間,必須經過檔案系統、邏輯磁碟、儲存伺服器(磁碟陣列)等多個環節的中介,存取路徑得通過至少4個大環節。

而在Kinetic架構下,可允許應用程式透過乙太網路存取硬碟,省略了中介的檔案系統與RAID等環節,將儲存架構簡化為只剩兩層。

由於Kinetic是只有應用程式端與硬碟的兩層式扁平架構,應用程式端可透過乙太網路直接、個別地連接與存取Kinetic硬碟,利用這種方式將可構成一種完全非聚合式(disaggregated)的大規模儲存環境。

在底層儲存裝置上,每臺Kinetic硬碟都是完全彼此獨立的;在上層的應用程式端,則透過Kinetic程式庫,將Kinetic硬碟靈活地組成自己需要的儲存空間,每個儲存空間都可視需求設定可用性保護等級(透過即時複製多份複本分散存放到多臺硬碟上),以及效能等級(使用多臺硬碟組成平行存取的群組)。

而且這種基於乙太網路的連接方式,還可得到近乎無限的擴充性,透過交換器的轉接,應用程式端將可連接與存取幾乎無限數量的Kinetic硬碟,從而建立一種擁有無限擴充能力的儲存環境。

在儲存設備方面,由於Kinetic硬碟可自我管理,可省略傳統儲存設備的儲存控制器,所以相同機箱空間內可容納更多硬碟,提高單一機箱的磁碟密度。

傳統儲存架構 vs. Kinetic儲存架構

Kinetic將儲存架構簡化為只剩兩層,應用程式端可透過Kinetic API直接向底層Kinetic硬碟發出Key/Value存取操作,省略傳統儲存架構的中間環節。
圖片來源/Seagate

 

Kinetic架構帶來無限擴充能力

在Kinetic架構下,應用程式端可透過乙太網路直接連接與存取近乎無限數量的Kinetic硬碟,提供擁有無限擴充能力的儲存環境。
圖片來源/Seagate

 

基於Kinetic架構的儲存生態系

單有Seagate的Kinetic硬碟、API與程式庫,還不能構成完整的儲存環境,必須要有作業平臺與應用軟體開發商,以及儲存設備供應商的參與,才能實現完整的Kinetic儲存環境。

一方面,作業平臺與應用程式必須支援Kinetic API,才能應用Kinetic儲存架構;另一方面,也必由儲存設備供應商提供適用於機架部署、可集中安裝多臺Kinetic硬碟的儲存機箱,才能將Kinetic實際部署到機房環境中。

目前Seagate已經組成了基本的Kinetic儲存生態系聯盟,在作業平臺與應用軟體開發商方面,已經獲得OpenStack、SwiftStack、Inktank等的參與;在儲存設備方面,也已有華為、Supermicro等廠商推出了基於Kinetic硬碟的儲存機箱。另外,目前也已經有少數用戶,正在進行Kinetic儲存架構的導入驗證。

Seagate是在距今一年多前的2013年10月公開Kinetic儲存架構,並在2014年11月對外發表Kinetic硬碟,迄今雖已建成初步的生態系,不過Seagate尚未正式向經銷商供應Kinetic硬碟,因此,Kinetic還不算是一種正式的市售產品。

Seagate的Kinetic儲存設備工程概念原型

在Kinetic架構下,要作出外接式網路儲存裝置,變得非常簡單,只須提供容納Kinetic硬碟的機箱,並在機箱內配置用於連接各Kinetic硬碟GbE埠與對外GbE埠的背板交換器即可。照片為Seagate研討會中展出的Kinetic儲存設備工程原型,是一個非常簡單的4Bay小機箱,由可容納4臺硬碟的機殼,以及可連接8個內接GbE埠與2個外接GbE埠的背板交換器組成。

除了這種原型外,Supermicro提供了可容納12臺Kinetic硬碟的1U機箱產品,而華為還有更大磁碟容量的款式。

Kinetic架構的局限

Kinetic儘管可帶來架構簡化、彈性擴充等優勢,但相對的也存在一些限制。

(1)如同多數物件儲存系統,目前的Kinetic可能並不適合高I/O需求的儲存應用(高交易資料庫等),反而,較適合靜態的巨量資料保存。

(2)透過GbE介面雖可帶來無遠弗屆、近乎無限數量的連接能力,不過GbE介面的頻寬有限,每個埠的頻寬最多不過120MB/s左右,相較下,主流的6G SAS能為每個SAS通道提供600MB/s頻寬,12G SAS的單一通道頻寬更超過1000MB/s,就單一硬碟的傳輸效能來看,Kinetic硬碟較之傳統SAS硬碟其實是倒退的,但基於成本考量,要在Kinetic硬碟上採用10GbE埠又是不切實際的,只能透過集結大量Kinetic硬碟平行存取的方式,來提高傳輸效能。

(3)僅能透過專屬API存取的方式,限制了Kinetic架構的推廣與普及。相較下,另一硬碟大廠WD/HGST提出的乙太網路硬碟架構——open Ethernet Storage Architecture,便宣稱不需要發展專屬API,WD/HGST版的乙太網路硬碟搭載了ARM-based處理器與記憶體,運行一種嵌入式Linux,可直接支援Linux、Ceph與OpenStack物件儲存環境,在這方面,顯然就比Kinetic更有利。

 

熱門新聞

Advertisement