目前的IT應(yīng)用中,有一“小”一“大”是幾乎所有人關(guān)注的焦點,。 “小”是前端的移動,,雖然設(shè)備的尺寸在逐漸變大(如不久前推出的iPhone 6s),總的來說還是比PC/Mac小很多,,關(guān)鍵是操作習慣不同,,強調(diào)簡潔和隨時隨地使用;“大”是后端的大數(shù)據(jù),,不僅僅是數(shù)據(jù)大,、多樣性,更重要的是追求數(shù)據(jù)的全集而非子集,,特別是從歷史數(shù)據(jù)中發(fā)掘價值,。 有廠商將為傳統(tǒng)應(yīng)用設(shè)計的平臺稱為記錄交易系統(tǒng)(systems of record),為新一代應(yīng)用設(shè)計的平臺稱為互動參與系統(tǒng)(system of engagement),。劃分不是很嚴謹,,不過,每一筆交易都會產(chǎn)生交易記錄,,這些在傳統(tǒng)應(yīng)用中已經(jīng)成為歷史的數(shù)據(jù),,可以被新一代應(yīng)用拿來做離線分析,,供定向廣告、精準營銷等應(yīng)用,。日積月累下來,,互動參與系統(tǒng)的數(shù)據(jù)增長率顯然更高,數(shù)據(jù)吞吐量也非記錄交易系統(tǒng)可比,,即要求大容量,、高帶寬。 典型記錄交易系統(tǒng)處理的數(shù)據(jù)量不算大,,但對延遲要求較高,,類似需求在新一代應(yīng)用中只多不少:
簡而言之,除了傳統(tǒng)的容量和IOPS,,新一代應(yīng)用需要存儲(子)系統(tǒng)在帶寬和延遲上也有很好的表現(xiàn),,而這是傳統(tǒng)存儲難以滿足的。 傳統(tǒng)存儲的局限 存儲作為一個獨立的行業(yè)存在,,很大程度上得益于80年代初的硬盤驅(qū)動器(HDD)小型化浪潮。在此之前,,基本上每家主機廠商都有自己的硬盤(驅(qū)動器)業(yè)務(wù),。如今最大的存儲公司EMC,和很長時間內(nèi)作為最大硬盤公司的希捷(Seagate),,均創(chuàng)立于1979年,,不能完全以巧合來解釋,。 大尺寸硬盤可以提供更大的容量和更高的順序傳輸性能,小尺寸硬盤在隨機I/O上的表現(xiàn)更好,。即使提高轉(zhuǎn)速,、縮短尋道時間,單個硬盤的IOPS(I/O per second,,每秒I/O操作數(shù))也有限(在二三百的量級),,要獲得更高的IOPS,就必須盡可能多的增加硬盤數(shù)量,,而服務(wù)器內(nèi)部空間是有限的,。使用專門的存儲設(shè)備則不受此限制,而且還可以通過SAN(Storage Area Network,,存儲區(qū)域網(wǎng))被多臺服務(wù)器共享,。 與直接連到服務(wù)器內(nèi)部的方案(DAS,Direct Attached Storage)相比,,存儲網(wǎng)絡(luò)增加了延遲,,帶寬也相對有限。不過,,在硬盤時代這都不是大問題:延遲方面,,響應(yīng)速度在毫秒(ms)級的硬盤才是瓶頸;帶寬方面,,每個交易的I/O塊都不大,,以4KB計,每個硬盤也就是1MB/s左右的輸出,,就是有幾千個硬盤一起工作,,又能有多少呢? 閃存技術(shù)的成熟,,徹底改變了游戲規(guī)則,。 英特爾公司非易失性存儲器(NVM)解決方案事業(yè)部市場總監(jiān)Peter K. Hazen曾經(jīng)給過一個非常直觀的比喻:從舊金山飛到北京需要大約11個小時,如果說這是硬盤的速度,,那么,,換成基于閃存的固態(tài)盤(SSD,Solid-State Drive),,只需要1分鐘,。 延遲和IOPS是閃存的強項,別說600多倍,,千倍的理論指標都有,。而從實際應(yīng)用來看,SSD在硬盤的百倍之上,,通常是可以保證的,。 當SSD的訪問延遲(latency)可以低至幾十微秒(μs),,通過存儲網(wǎng)絡(luò)訪問的延遲就不能再忽略不計了;當單個SSD隨機I/O訪問的輸出都能填滿一條8Gb/s FC(8GFC)主機通道,,主機和存儲之間的帶寬也可能成為瓶頸了,。 特別是,當幾個SSD就能滿足一臺服務(wù)器對I/O能力的需求時,,用戶為什么還需要外接磁盤陣列呢,?除了容量…… 作為存儲行業(yè)的領(lǐng)頭羊,EMC很早就意識到了變革的來臨,。EMC不僅在存儲廠商中率先擁抱SSD,,還給出了上述問題的解決之道:要么讓存儲靠近計算,要么讓計算靠近存儲,。 第一條好實現(xiàn)——把存儲重新塞回服務(wù)器里去(并不是EMC表達的原意)就行了……第二條呢,? Oracle給出了一個范例。 Exadata的早期啟示 2008年上半年,,EMC在其高端存儲Symmetrix DMX-4里引入了SSD,;下半年,Oracle聯(lián)合惠普推出了數(shù)據(jù)庫一體機Exadata的“前身”,。 說是前身,,一則Exadata只是存儲服務(wù)器的名字,而一個整機柜最多有8個數(shù)據(jù)庫節(jié)點和14個Exadata存儲服務(wù)器組成,,全都是HP基于英特爾至強(Xeon)CPU的服務(wù)器,,通過高速InfiniBand(IB)互連;二則定位為數(shù)據(jù)倉庫設(shè)備,,不適于OLTP應(yīng)用,。 道理很簡單,數(shù)據(jù)倉庫系統(tǒng)中以英特爾為代表的x86處理器是主流,,更關(guān)鍵的是OLAP應(yīng)用以批量傳輸為主,,只要不頻繁的隨機訪問,硬盤的吞吐量并不算差,。如果是OLTP應(yīng)用,,14個存儲服務(wù)器的100多個硬盤不夠用,20多個至強CPU又顯浪費——因為要的就是IOPS,。 然而,,Oracle之所以用存儲服務(wù)器,要的就是里面的CPU,,以實現(xiàn)讓計算靠近存儲的目標,,為網(wǎng)絡(luò)和數(shù)據(jù)庫服務(wù)器減負。 計算靠近存儲的一個典型好處就是,在靠近數(shù)據(jù)的地方處理,,直接返回結(jié)果,而不是傳輸大量的原始數(shù)據(jù)到服務(wù)器去處理,,這在原始數(shù)據(jù)集很大,,而處理結(jié)果很小的情況下效果尤為明顯,可以避免大量網(wǎng)絡(luò)傳輸?shù)拈_銷,。雖然Exadata采用高速的InfiniBand,,但首要是利用其低延遲的特性,再高的帶寬,,傳輸大量數(shù)據(jù)也需要耗費時間啊,。Exadata不同于一般的Oracle RAC,很重要的一點就在于其內(nèi)置智能掃描(Smart Scan)處理技術(shù),,將一些簡單的查詢工作卸載到存儲服務(wù)器,,“通過把掃描處理從數(shù)據(jù)庫中剝離,減少了數(shù)據(jù)庫服務(wù)器的CPU負擔,,同時極大降低了無效的信息傳輸——僅僅傳輸需要的有價值的信息”,。理論上從數(shù)TB的表中返回幾MB的數(shù)據(jù)到數(shù)據(jù)庫服務(wù)器,意味著多大的節(jié)省……總之,,可以明顯提高OLAP應(yīng)用的效率,。 2009年初,Oracle收購了Sun,,半年后推出“根正苗紅”的Exadata,。之所以這么說,一是Exadata正式成為整個一體機(融合系統(tǒng))的名稱,,二是服務(wù)器全都換成自家的SunFire x86服務(wù)器——都基于英特爾至強,,能有多大差別?所以,,真正重要的變化是,,由于在存儲服務(wù)器中引入了PCIe閃存卡作為Smart Flash Cache,極大地提高了I/O性能,,使Exadata也能勝任OLTP應(yīng)用,,而不僅僅是一款數(shù)據(jù)倉庫設(shè)備。
從2009年的Sun Oracle Database Machine (V2)加入閃存開始,,Exadata就不再局限于數(shù)據(jù)倉庫 英雄所見略同,,阿里巴巴和淘寶的技術(shù)團隊的“去IOE”運動也是類似的思路。我們知道,,IOE分別是IBM,、Oracle、EMC,更確切地說是IBM小型機,、Oracle數(shù)據(jù)庫與EMC存儲設(shè)備的組合,,這三駕馬車構(gòu)成了一個從軟件到硬件的完整商用數(shù)據(jù)庫系統(tǒng)。不過,,嚴格說來,,支付寶并沒有去O——畢竟Oracle數(shù)據(jù)庫是交易型應(yīng)用的首選——甚至還保留了“少量”的E用來存儲Redo日志,但主體已經(jīng)是PC服務(wù)器+閃存的架構(gòu),。 如果說去大I(BM)是小i(ntel)的勝利,,那么去E(MC)就是閃存的勝利。 超融合系統(tǒng)的崛起 雖然Exadata專門用在交易型系統(tǒng)的比例不算高,,但它起碼證明了分布式(通過ASM),、橫向擴展(Scale-out)存儲架構(gòu)和閃存,在企業(yè)關(guān)鍵業(yè)務(wù)應(yīng)用中是完全可行的,。 不過,,Exadata的計算和存儲還是分離的。存儲服務(wù)器畢竟計算能力有限,,不像數(shù)據(jù)庫節(jié)點,,都是同系列中頂配的CPU——如去年12月中旬發(fā)布的Exadata X4-2,用的是當時至強E5系列中頂級的E5-2697 v2,,而存儲服務(wù)器的CPU型號則“羞于一提”,。如果把計算和存儲一體化,或曰“存儲重新塞回服務(wù)器里去”呢,? 相對于通過網(wǎng)絡(luò)把服務(wù)器與存儲連接起來的傳統(tǒng)融合系統(tǒng),,超融合系統(tǒng)(hyper-converged system)實現(xiàn)了計算和存儲一體化的回歸(Exadata介于二者之間),代表作是Nutanix的Virtual Computing Platform(虛擬計算平臺),。 Nutanix成立于2009 年(在本文中,,這是一個很重要的年份),于2011 年推出一體機NX 家族,,硬件平臺是Supermicro的2U密度優(yōu)化型服務(wù)器,,支持1-4個雙路英特爾至強節(jié)點,融合了計算與存儲,。軟件上,,得益于Google的成果,Nutanix采用著名的MapReduce分布式計算框架,,配以類似GFS的NDFS(Nutanix Distributed File System,,Nutanix 分布式文件系統(tǒng))——更著名的模仿者當然是Hadoop。
Nutanix虛擬計算平臺的橫向擴展架構(gòu) 正如“虛擬化計算平臺”這個名字所顯示的,,每個節(jié)點上運行VMware vSphere,、微軟Hyper-V或可選的KVM,,以承載控制功能(CVM)和應(yīng)用(User VM,用戶虛機),。每個節(jié)點上有一個起控制器作用的虛機(Controller VM,,CVM),以Pass-through(直通)方式下穿hypervisor 層,,訪問連在SAS控制器上的硬盤和SSD,。 CVM 響應(yīng)所在節(jié)點上用戶虛機的I/O請求,并提供自動精簡配置(Thin Provisioning),、自動分層存儲、重復(fù)數(shù)據(jù)刪除(De-dupelication),、復(fù)制和快照等高級功能,,所有CVM 共同參與整個集群的管理。該架構(gòu)最大的特點是數(shù)據(jù)本地化,,縮短響應(yīng)時間,,降低網(wǎng)絡(luò)流量,利于橫向擴展到規(guī)模更大的集群,。通過控制算法保持數(shù)據(jù)在距離最近的地方,,并允許寫I/O 操作在同一節(jié)點本地化。 如果VM 遷移到另一臺主機,,數(shù)據(jù)也將跟隨VM 自動遷移以保證最高性能(維持存儲靠近計算),。當某個VM有一定量的讀請求發(fā)向其他節(jié)點上的控制器,Nutanix ILM將透明地移動遠端數(shù)據(jù)到本地控制器,,以保證讀I/O 在本地完成,,而不是通過網(wǎng)絡(luò)。如果一個CVM 失效,,所有I/O 請求都自動轉(zhuǎn)發(fā)到另外一個CVM,,直到本地CVM 重新可用。這個Nutanix 自動路徑技術(shù)完全對hypervisor 層透明,,用戶VM繼續(xù)正常運行,。如果整個節(jié)點故障,HA 事件自動觸發(fā),,VM 將自動遷移到集群內(nèi)的另一臺主機上,。同時,數(shù)據(jù)被再次復(fù)制以維持復(fù)制因子(指定的副本數(shù)量),,及整體的可用性,。 Nutanix的融合系統(tǒng)體現(xiàn)了來自互聯(lián)網(wǎng)的技術(shù)與傳統(tǒng)企業(yè)級技術(shù)的結(jié)合,使用NDFS實現(xiàn)存儲層的橫向擴展,,虛擬化負責計算層的橫向擴展,,并對控制功能的橫向擴展有所貢獻。 如同Exadata可以運行在HP或其他x86服務(wù)器上一樣,Nutanix融合系統(tǒng)的核心也是運行在商用硬件(Commodity Server)上的軟件,,軟硬件可以分開銷售——譬如Nutanix已與戴爾(Dell)公司達成OEM合作,,在Dell(服務(wù)器)硬件上轉(zhuǎn)售Nutanix的超融合存儲軟件。據(jù)悉,,Dell近期將推出基于至強E5 v3,、類似Supermicro Twin家族的密度優(yōu)化型服務(wù)器,正是Nutanix喜歡的那一類平臺,。 巨頭們的反擊 Nutanix不是唯一的超融合系統(tǒng)初創(chuàng)公司,,但其在市場上的成功引來了大公司的效仿。2013年8月底發(fā)布VSAN(Virtual SAN)之后,,VMware填補了存儲軟件上的空白(再早的vSphere Storage Appliance太弱,,母公司EMC也指望不上)。僅過了一年時間,,VMware就發(fā)布了其超融合基礎(chǔ)設(shè)施設(shè)備EVO:RAIL,。 當然,VMware還沒必要親自上陣做硬件,,類似于Nutanix與Dell的合作,,EVO:RAIL是一個參考設(shè)計,它要求一個捆綁了計算和存儲的2U四節(jié)點密度優(yōu)化型服務(wù)器,,要求每個節(jié)點(不低于):
EVO:RAIL V1.0可以橫向擴展至4個設(shè)備的集群,,也就是16個節(jié)點,這顯然是受限于VSAN的能力,。隨著VSAN走向成熟,,VMware將以其在業(yè)內(nèi)的特殊地位,聯(lián)合EMC,、富士通,、浪潮等硬件合作伙伴如對其他初創(chuàng)公司展開“圍剿”。
VMware EVO:RAIL設(shè)備的基本構(gòu)成 上面那個本應(yīng)都是服務(wù)器廠商的名單里,,出現(xiàn)了VMware的母公司EMC,,比較有趣。這倒不是說EMC沒有服務(wù)器硬件產(chǎn)品,,EMC的高端(Symmetrix VMAX),、中端(VNX)存儲系統(tǒng)的控制器,技術(shù)含量比一般的x86服務(wù)器更高,,EMC要做服務(wù)器硬件沒有難度,,何況其還加入了Facebook發(fā)起的開放計算項目(Open Compute Project,OCP,,VMware在發(fā)布EVO:RAIL之前宣布加入),,實在不行直接拿個服務(wù)器設(shè)計過來也是可以的,。 關(guān)鍵在于,都像超融合系統(tǒng)這樣,,服務(wù)器直接把存儲“招安”了,,EMC的存儲系統(tǒng)硬件怎么辦?我們從其早些時候發(fā)布的Symmetrix VMAX3上可以看出一些端倪,。 EMC在2009年初推出Symmetrix VMAX,,由PowerPC平臺(Symmetrix DMX)轉(zhuǎn)向英特爾至強的懷抱,加上早就“投靠”英特爾的CLARiiON(現(xiàn)VNX),,收購來的Data Domain,、Isilon更是在商用硬件(通常意味著x86服務(wù)器)上體現(xiàn)軟件價值的新一代,所以,,EMC很早就宣稱,,硬件產(chǎn)品全部采用英特爾處理器。 不過,,對于大多數(shù)存儲系統(tǒng)而言,計算資源主要用在數(shù)據(jù)調(diào)度上,,如自動精簡配置,、自動分層存儲等提高存儲效率的功能,對CPU的要求并不高,,像頭兩代VMAX,,CPU既不緊跟潮流,也不是同系列中頂級的,,內(nèi)存容量(從服務(wù)器的角度看)不算大,,采用RapidIO這樣的通信協(xié)議互連(通信與存儲關(guān)系很近),還是比較典型的存儲系統(tǒng)設(shè)計,。 VMAX3則不然,,最高的VMAX 400K采用了當時頂級的至強E5-2697 v2,(每Director,,相當于控制器)1TB內(nèi)存,,互連換成更“計算”范兒的56Gbps InfiniBand,以至強E5服務(wù)器論的話算很高的配置了,,依稀有Exadata的影子,。再加上最多5760個驅(qū)動器,如果只用來做一個傳統(tǒng)的存儲系統(tǒng),,實在是太浪費了……如果在引擎(由一對Director組成)里跑些應(yīng)用,,即讓計算靠近存儲,才是正道,。
EMC Symmetrix VMAX3的核心硬件配置很“服務(wù)器”導(dǎo)向 VMAX3也可以被視為一種(超)融合系統(tǒng),?這絕非是妄自猜度EMC的想法,,實際上有很多具體的論據(jù)支撐,這里就先不展開了……年底我們的2014版數(shù)據(jù)中心技術(shù)報告里,,會有專門的剖析等著你,! |
|