Web 2.0存儲和XIV
經濟危機來襲,生活還要繼續。當然,簡單地套用時下流行的觀點“按照曆史規律,經濟越蕭條,電影業反而越繁盛……”,就推導出失業的人們“宅”在家裡,成天泡“非死不可”等SNS網站和朋友交流,進而預言後者将迎來巨大商機,多少有些“沒心沒肺”的感覺。不過,即便經濟危機是會帶來一些不利影響,也已無法改變包括SNS在内的Web 2.0應用浪潮席卷全球的大勢,Web 2.0存儲更是業界近一段時間關注的熱點。
一般來說,有三種使用者需要大量處理Web 2.0資料:第一種是純粹以Web 2.0作為業務模式的企業,他們通過Web提供服務或者資訊内容;第二種是那些需要解決自己内部資料資訊爆炸的傳統企業,如那些從事生命科學研究的機構每周基因排序所産生的資料就可以達到數百TB;第三種是那些想要從事SaaS業務的傳統企業,如惠普的Snapfish(中文名“喀嚓魚”)線上圖像存儲服務。
Web 2.0資料與企業交易資料一樣重要,它同樣也需要具備可用性、安全性并防止資料丢失。作為大家熟知的Web 2.0網站,Facebook和MySpace的使用者數早已過億,同時線上幾百萬人是很正常的事,如果沒有高性能的存儲系統支撐,可用性和基本的使用者體驗将無法保證。傳統的高端存儲系統性能或許夠用,但對于Web 2.0應用而言,每GB的存儲成本實在太高——成本是Web 2.0網站必須優先考慮的問題,要知道MySpace就是自動精簡配置(thin provisioning)的早期使用者之一。
不錯,EMC的Symmetrix DMX-4是支援相對廉價的SATA硬碟驅動器,可是,如此高端的存儲系統,單是每個驅動器槽位的成本就足以令人望而卻步,大容量而廉價的SATA驅動器隻能部分拉低成本,無法從根本上解決問題。
與交易型資料相同的是,Web 2.0資料是不斷擴充的,資料量增長速度不斷加快。傳統的中高端存儲系統,無論是較早的單體式(Monolithic)還是現在的子產品化(Modular)架構,都基于向上擴充(Scale-up)的設計,性能難以與容量同步增長。比較理想的模式是向外擴充(Scale-out),即可以使性能随着容量的擴充而同步提高。
為了滿足Web 2.0資料增長的需求,Google和雅虎等Web巨頭借鑒高性能網格計算的優點開發了具有針對性的存儲技術。通常,這種存儲政策采用了大型機架式計算叢集和由低端工業标準伺服器與SATA硬碟驅動器組成的存儲節點。資料在多節點之間分布和複制,并且通常是在地理位置上彼此獨立的。備援性是在節點層級的,叢集軟體可以處理節點故障,提供彈性和靈活性。這些叢集大多具備自主管理和快速擴充的特點。
Google可以直接從英特爾公司大量訂購定制的主機闆,以滿足低成本和低能耗的需求。但并不是每個使用者都有能力和意願自己定制Web 2.0存儲架構,這也給主流存儲廠商留下了“收複失地”的機會。
将英特爾(Intel)處理器和SATA硬碟驅動器等标準裝置,通過标準以太網交換機整合到一起構成叢集陣列系統,XIV基于塊的Nextra解決方案與Google的做法大有異曲同工之妙。XIV首席執行官Ofir Zohar和其他四位建立者都曾是以色列軍隊精英Talpiot技術項目的第14屆畢業生,XIV(羅馬數字14)這個名字也是由此而來。不過,如果有人說XIV意味着該公司可以在Web 2.0存儲市場取得堪比“太陽王”路易十四的統治地位,想來他們也是會欣然認同的。
EMC前CTO、Symmetrix之父、XIV創始人、現IBM院士Moshe Yanai介紹XIV存儲系統的Nextra架構先進性
今年1月初,IBM宣布收購了這家位于以色列特拉維夫的私人控股存儲技術公司,獲得了XIV所有的客戶,并将XIV的技術和人員納入IBM系統與科技事業部的系統存儲業務部門。XIV管理團隊中名氣最大的要數執行主席Moshe Yanai,曾任EMC公司首席技術官的他被業内公認為Symmetrix存儲系統之父。在IBM于10月中旬召開的企業資訊架構(IBM Information Infrastructure,簡稱III)高峰論壇暨新品釋出會上,筆者見到了已是IBM院士的Moshe Yanai,但他不接受記者采訪,故而無緣向他求證是否因看到了Symmetrix為代表的傳統存儲系統存在的局限才在2002年離開EMC創立XIV,推出基于網格的Nextra架構。
XIV架構詳解及主要功能
在完成收購8個月之後,IBM打着“Storage Reinvented(再造存儲)”的口号正式推出了XIV存儲系統。據IBM系統與科技事業部中國區XIV技術專家王曉冬介紹,其與傳統存儲系統最大的差別是采用了粒度非常細的網格結構和大規模并行的概念。XIV存儲系統中沒有任何集中的子產品,而是由一個個被稱為資料子產品的網格單元組成,通過高速的交換方式互聯在一起,底層則是粒度很細的資料分布。前端應用伺服器的資料進來後,通過大規模并行的方式,把所有的資料均衡的分散到後端所有的網格結構上,最終(以1MB為機關)分散到所有的實體驅動器上。也就是說,通過粒度很細的資料分布和大規模并行,讓後端所有的網格單元和磁盤驅動器并發響應前端應用的需求,實作性能和可靠性的改進。
XIV存儲系統的卷分布過程示意,進入的資料以1MB的粒度平均分布在所有的磁盤驅動器上
與大家熟悉的傳統架構相比,這個系統結構中沒有集中化的記憶體或大型控制器,而是由一個個緊耦合了CPU處理能力、緩存能力及磁盤存儲能力的小的網格單元組成。傳統的中端存儲架構,通常配置好雙控制器之後,處理性能就已經固定下來了,以後隻是簡單地增加磁盤、擴充容量,性能達到一定水準後很難再有增長。XIV系統中則沒有任何主要制器的概念,全部是處理能力和存儲能力緊耦合的網格單元,不可能隻給使用者擴充容量(如增加10TB),而是必須按照網格單元的方式擴充,也即在加入磁盤的同時,增加了CPU和記憶體,是以整個系統的擴充是性能和容量同步線性增長,在增加容量的同時,勢必會提高處理能力和性能,增加緩存的能力,而在增加到一定程度以後,再使用第二個機架,乃至第三、第四個……理論上是可以繼續線性擴充下去的。
XIV存儲系統容量擴充示意,新的資料子產品(網格單元)加入後,所有的資料都會重新分布
王曉冬強調,XIV的任何一個網格單元都基于業界标準的元件,實際上就是“Intel + Linux”,任何新出來的CPU技術、磁盤技術或記憶體技術都很容易通過網格單元的方式,增加到系統架構中,将來整個系統更新換代或擴充更新,可以把業界最新的技術迅速地應用到這個環境裡。因為之間的互聯包括網格單元用的全部是目前業界的标準技術,并且基于網格的架構,進而給整個系統未來的擴充帶來了非常大的靈活性。相比之下,傳統存儲需要設計新的控制器、新的内部背闆,往往由于複雜性導緻産品周期長達24個月以上。
從使用者的角度來說,他們并不關心資料存儲在哪裡,隻希望需要通路的時候能夠找到并使用即可。雖然XIV底層采用了粒度很細的網格的結構,但在上層通過全面的虛拟化屏蔽了複雜性,使用者所有的資料都通過XIV智能的算法,自動地均衡到後端所有的磁盤上。系統在整個資訊周期裡的任何時刻,磁盤後端包括網格單元的使用率是百分之百——不是負載達到百分之百,而是任何一個單元并不比另外一個單元更忙。也就是說,後端所有的計算單元、磁盤單元,繁忙程度是完全一樣的,進而消除了所謂的熱點,展現出恒定均衡的核心的設計理念。任何一個前端并發的I/O過來,會同時分布到後端所有的網格單元中,利用後端所有的磁盤并發地存儲。後端這種平衡的狀态即使在系統發生變更的時候仍然可以得到保持,譬如增加新的網格單元,或者把一些舊的網格單元從環境中移除,總之任何系統變更發生的時候,後端所有的網格單元和磁盤單元都會參與資料的重建。最終理念是通過很多小的子產品并發運作的方式實作整個系統的可靠性和穩定性。
XIV存儲系統的自動負載均衡功能可以避免熱點的産生
整個系統還可以通過後端的恒定均衡實作自恢複和自優化。最典型是由于後端大規模并發,系統中1TB的SATA磁盤驅動器出現故障時,隻需要約30分鐘就可以把上面的1TB資料重新分布到系統内剩餘的磁盤驅動器。王曉冬表示,這30分鐘的時間是指整個資料系統完全充滿的情況下,如果使用者資料沒有充滿,整個1TB單盤驅動器出現故障的恢複時間隻需要15分鐘甚至更短。即使與今天高端的FC存儲系統相比,整體的恢複時間隻大概相當于目前主流FC驅動器的十分之一以内,表明大規模并發的架構為整個系統的可靠性提供了全新的概念。
自動性能優化則是指,XIV系統既不需要使用者購買任何“所謂的存儲優化軟體”,也不需要任何的後端磁盤均衡軟體,系統已經自動通過算法的方式幫助使用者實作了。XIV整體的硬體結構并沒有什麼特殊的地方,無非是采用了很小的粒度很細的網格單元,它真正核心之處在于所有軟體的部分,怎樣通過算法的方式,能夠把大規模網格的力量利用起來,是以恒定均衡概念是XIV最主要的特點。王曉冬補充說,目前的XIV系統沒有QoS的概念,而是通過後端大規模并發的設計滿足前端所有I/O的存儲能力,在這種特殊的架構中不需要有QoS。
XIV系統配置及近期規劃
目前的XIV存儲系統是IBM釋出的第一代産品,但在技術上已經是第二代。内部采用180個1TB SATA硬碟驅動器,采用鏡像的方式保護資料,可用容量80TB,記憶體容量則高達120GB。支援前端通過FC或者iSCSI連接配接存儲系統,屬于基于SAN的技術,而不是NAS的概念。服務和支援通過IBM全球的服務系統提供。
雖然SATA硬碟驅動器以廉價著稱,但配置的起點就是180TB,也難怪XIV系統被定位在高端。可用容量不到實體容量的一半(80TB : 180TB < 50%)是競争對手攻擊XIV的另一個把柄,對此王曉冬解釋說,高端存儲系統雖然都支援RAID 5,可是在實際使用中,綜合性能與安全性的考慮,往往更傾向于配置為RAID 1,是以XIV幹脆一步到位(注:個人認為,也可以簡化設計)。
SATA磁盤的好處可不僅僅是廉價,節能更是其一大賣點。SATA硬碟驅動器的容量本來就比FC硬碟驅動器大至少一倍,能耗又明顯低于後者,是以機關容量的能耗隻有幾分之一。雖然XIV單磁盤驅動器的性能不及FC硬碟驅動器,但通過大規模并發的方式,系統整體性能與基于FC驅動器的傳統高端(一級)存儲相比不落下風,同時在能耗和占地面積占有較大優勢。是以,IBM一再強調,通過網格的力量,XIV的架構能夠利用二級的存儲元件(SATA驅動器)實作一級存儲的整體性能、可靠性和安全性,大幅度節約客戶整體資訊架構的開銷,這也是它基本的思路和理念。
可以看到,XIV存儲系統的每個資料子產品有12個磁盤驅動器,也就是說總共有15個網格單元
XIV提供了業界主流的所有的企業級存儲系統典型的軟體功能,包括使用者在生産環境之下可能會用到的軟體複制的功能(如快照)。XIV支援快照的數量相當大,而且是高性能的快照,工作時對線上生産系統的性能影響很小。此外還有自動精簡配置(thin provisioning),和支援遠端同步的資料複制,包括卷到卷的資料複制,iSCSI和FC均可作為通訊的鍊路。
XIV的管理也很簡單,據稱大約兩個小時即可将系統安裝完畢,使用者看到的就是80TB的存儲池。使用者使用半個小時配置設定卷,下午便可以投入生産。“使用者不需要像傳統存儲一樣,考慮做RAID5還是RAID1,以及相應的一系列設定,整個的安裝、調整過程都需要上周乃至更長的時間……”
不過,無論如何,80TB的可用容量确實是過高了。據王曉冬透露,XIV近期将推出一個低配版本,通過減少資料子產品的數量,進而将可用容量的門檻降低至27TB(實體容量60TB?)……
本文轉自 Gelada 51CTO部落格,原文連結:http://blog.51cto.com/gelada/155360,如需轉載請自行聯系原作者