IBM XIV Gen3接口模塊:基于一款針對存儲優(yōu)化的Intel服務(wù)器平臺
如上圖,根據(jù)箭頭和文字的示意,可以看到在這個2U機架式雙路至強5500服務(wù)器平臺中,安裝了一顆Xeon E5620四核CPU;左側(cè)由它控制的內(nèi)存槽中插有3條8GB DDR3內(nèi)存(一共24GB);電源和散熱風(fēng)扇都是冗余配置;7個PCI擴展槽位看上去都被占用了,從左邊第二塊卡開始分別是20GB/s InfiniBand HCA、千兆iSCSI網(wǎng)卡和兩塊8Gb/s Fiber Channel(光纖通道)HBA,其中iSCSI和FC HBA是XIV的接口模塊具備而數(shù)據(jù)模塊沒有的。那么剩下的3個插槽中都是什么設(shè)備呢?SSD緩存又在哪里?
我們將前面一張圖放大看:
用紅色箭頭①指出的就是SSD插槽(請結(jié)合下文中的圖片),不過似乎有從主板連過來的SATA線纜,因此這里應(yīng)該是一塊安裝SSD的轉(zhuǎn)接板卡,而不是我們之前猜測過像Fusion-io和NetApp PAM II那樣的PCIe閃存卡。
箭頭②所在位置除了SATA線纜之外似乎還有供電連接,也就是應(yīng)該沒有從下面的PCIe插槽取電,此處是為了安裝存放XIV操作系統(tǒng)軟件的CF閃存卡。
注:CF卡使用的協(xié)議屬于并行ATA,實現(xiàn)與SATA之間的轉(zhuǎn)接相對比較簡單。
箭頭③左邊指向的應(yīng)該是6Gb/s SAS HBA卡,由它接出來的兩條線纜中的一條估計是通向了機箱前端的SAS硬盤背板,而另外一條引向了右邊,并從主板另一側(cè)連接到上圖右上角的轉(zhuǎn)接板。這個的用途又是什么呢?
為什么說XIV使用的是SAS HBA卡而不是RAID卡呢?這個要從它的架構(gòu)原理談起。IBM XIV底層使用的數(shù)據(jù)保護技術(shù)不是傳統(tǒng)的RAID,而是以寬條帶化的形式,通過偽隨機算法將全部磁盤空間打散為1MB大小的數(shù)據(jù)塊。每一個數(shù)據(jù)塊都在另外 一個節(jié)點的某一塊硬盤上保持一份鏡像,因此來自主機的訪問能夠被平均分布在每個模塊和硬盤上,理論上不存在數(shù)據(jù)“熱點”。同時在重建損壞的硬盤時,其數(shù)據(jù) 幾乎來源于其它模塊中的每一個硬盤,2TB硬盤重建甚至只需要幾十分鐘,大大短于傳統(tǒng)RAID,并且Rebulid過程對性能的影響較小。
帶有FC和iSCSI接口的XIV Model 114(即第三代XIV)接口模塊,數(shù)據(jù)模塊上3個主機接口擴展卡的位置是空著的。
在2U接口模塊的背面,從右往左看:首先是20GB/s InfiniBand HCA上的2個端口,分別連接到2個互為高可用的IB交換機;接著是一塊4端口1Gb/s iSCSI以太網(wǎng)卡、2塊雙端口8Gb/s光纖通道HBA;“SSD Slot”的位置,應(yīng)該可以插入一個2.5英寸SSD驅(qū)動器;而“Memory Flash Card”在金屬檔板上就是一個CF存儲卡的插槽。靠近中間的位置有用于管理的USB和RS-232串口,這里的2個主板集成千兆網(wǎng)口也可以用于iSCSI;在它們左上方紅圈里的2個接口,就是我們剛提到的SAS連接?再放大一些看看:
現(xiàn)在看SSD和“Memory”閃存卡的插槽就更清楚了,IBM之所以要將它們設(shè)在這個位置,一方面因為服務(wù)器機箱前面板已經(jīng)被12個3.5英寸SAS驅(qū)動器(上一代XIV是SATA)占滿了,另一方面就是可以方便的插拔更換,SSD驅(qū)動器甚至支持熱插拔——XIV Gen3應(yīng)該可以在聯(lián)機狀態(tài)下啟用或者禁用SSD Caching。
我們認為,引出這2個SFF-8088樣式的miniSAS x4接口的意圖很明顯,就是未來可能會加入Scale-up(縱向擴展)能力,通過在每一個XIV接口/數(shù)據(jù)模塊的后端級聯(lián)JBOD,增加驅(qū)動器的數(shù)量,從而獲得更大的容量和磁盤性能。其意義我們將在本文的下一頁進行更多分析。
IBM XIV Gen3運行的系統(tǒng)軟件就保存在這樣一個4GB CF卡上
記得筆者去年9月電話采訪IBM科技與系統(tǒng)事業(yè)部磁盤存儲產(chǎn)品首席技術(shù)總監(jiān)Vincent Hsu(許育誠)先生時,曾經(jīng)問到:“XIV除了增加橫向擴展節(jié)點的數(shù)量,還可以采用Scale-out + Scale-up的組合,即在每個控制器節(jié)點(數(shù)據(jù)模塊)后端連接JBOD或者使用高密度盤柜。XIV會采用哪一種?”
Vincent Hsu的回答是:“由于控制器CPU和緩存能力的提高,速度變快了,我們也在研究將來XIV做高密度的機箱(驅(qū)動器柜),使每一個模塊內(nèi)的磁盤數(shù)量增加。但這不是今年或者明年的事情,屬于未來的發(fā)展方向。”而上面提到的發(fā)現(xiàn),則進一步證實了之前的推斷。
戴爾EqualLogic PS4100控制器上空焊的SAS擴展端口
無獨有偶,筆者曾經(jīng)在拆解戴爾EqualLogic PS6100/4100 iSCSI陣列的控制器時,也看到了電路板上預(yù)留空焊的SAS擴展端口(當(dāng)前同樣不支持驅(qū)動器擴展柜),Scale-out + Scale-up是否會成為將來流行的趨勢呢?
XIV Gen3架構(gòu)及性能對比分析、未來展望
IBM XIV Storage System架構(gòu)圖
我們以前介紹過,除了節(jié)點間互連由千兆以太網(wǎng)改為InfiniBand之外,XIV Gen3的整體架構(gòu)在IBM上一代XIV的基礎(chǔ)上變化不大。盡管現(xiàn)在每個節(jié)點的CPU和內(nèi)存配置都一樣了,但仍然不是完全對稱式的架構(gòu),最多6個“接口模塊”提供主機訪問,而另外最多9個“數(shù)據(jù)模塊”只有存儲和內(nèi)部互連功能。這樣應(yīng)該還是考慮到合理的性能發(fā)揮與成本上的平衡。
不過,根據(jù)前面談到未來的Scale-out + Scale-up可能性,如果每個接口/數(shù)據(jù)模塊后端都通過連接JBOD來增加驅(qū)動器數(shù)量(這個應(yīng)該是要對等的)的話,現(xiàn)有的前端I/O能力是否也需要增加?將更多的“數(shù)據(jù)模塊”變?yōu)?ldquo;接口模塊”似乎是合理的。
XIV Storage System Gen3——組件和連接示意圖
上圖中的變化,相對于去年剛發(fā)布XIV Gen3時只有增加了可選的400GB SSD,使用驅(qū)動器形式能夠比PCIe閃存卡節(jié)約成本,比如NetApp PAM II 512GB性能加速模塊的報價就達到了49,000美金。IBM最早公布的SSD容量為512GB,后來變成了500GB,滿配15個模塊時一共7.5TB閃存緩存。如今的容量“減小”,或許就像EMC VFCache那樣——350GB的物理閃存空間,可用邏輯容量為300GB。
這個表格最右邊一列為不同XIV模塊數(shù)量時對應(yīng)的SSD緩存容量,目前每個SSD只緩存12塊7200轉(zhuǎn)SAS硬盤中的數(shù)據(jù)。EMC VFCache和NetApp Flash Cache雖然使用了性能更高的PCIe閃存卡,但這兩種緩存后端對應(yīng)的驅(qū)動器數(shù)量可能會遠超過XIV。比如NetApp FAS6280最多支持1440個驅(qū)動器,PAM II可以配置16塊一共8TB(雙控制器,標配只附送單個512GB);而EMC VFCache無論為VNX還是VMAX加速,每臺服務(wù)器上都只能安裝一塊閃存卡。
按照IBM的說法,XIV的每一個模塊為包含CPU、DRAM內(nèi)存和驅(qū)動器等的緊密耦合方式(但節(jié)點之間的互連為松耦合,筆者注),增加的SSD作 為DRAM之外的下一級緩存,能夠顯著提高讀Cache的命中率。因此IBM表示“最多可以使活動負載的應(yīng)用程序性能提升3倍,削減隨機讀取I/O延遲高 達90%”。
XIV Gen3通過了微軟ESRP(Exchange Solution Reviewed Program)120,000個郵箱的測試,平均磁盤延時不超過20ms。
上表為XIV Gen3 Storage System Model 2810/114在沒有SSD緩存的情況下運行ESRP的測試結(jié)果,我們看到平均數(shù)據(jù)庫寫延時只有2ms,而讀延時達到了17ms。這是因為所有寫入存儲 系統(tǒng)的數(shù)據(jù)都會先經(jīng)過緩存,而讀訪問能夠被DRAM命中的通常只有一小部分,那么我們預(yù)計大容量SSD讀緩存能夠改善這種情況,縮短XIV的讀延時從而提 高服務(wù)質(zhì)量(QoS)。
XIV Gen3支持180個驅(qū)動器的數(shù)量限制,使它在配置3TB近線(7200rpm)SAS驅(qū)動器的情況下也只有243TB的最大可用容量,其物理磁盤空間利用率與RAID 10相近(還有一定數(shù)量硬盤用于熱備),單看這個數(shù)字也許只相當(dāng)于競爭對手的中端陣列產(chǎn)品。但其CPU和內(nèi)存處理資源卻相當(dāng)豐富,而且還有進一步升級的潛力。
我們來做一個假設(shè),在XIV現(xiàn)有平臺的情況(下一代很可能會更換新平臺),CPU可以增加到兩顆4/6核Xeon 5600系列,主頻也可以提高;內(nèi)存按照現(xiàn)在的8GB插滿12條就是96GB。別忘了可是15個節(jié)點啊,這些已經(jīng)超過EMC Symmetrix VMAX等高端存儲系統(tǒng)了吧?
因此我們覺得未來XIV針對需要大容量的應(yīng)用,增加縱向擴展能力是比較有意義的。另一方面,IBM磁盤存儲CTO Vincent Hsu在去年還曾表示過:“我們正在研發(fā)多機架的技術(shù),在實驗室里可以把最多4個XIV機架連接為一個系統(tǒng)的。”
XIV Gen3使用的2個36端口40Gb/s(注意,不是20Gb/s)InfiniBand交換機,可以說這已經(jīng)為下一代XIV模塊上的IB HCA卡升級到40Gb/s做好了準備。當(dāng)然,最好還是在支持PCIe 3.0的Intel Xeon E5平臺上才能充分發(fā)揮其帶寬性能。
如果XIV的節(jié)點數(shù)量真的增加到30或者60個的話,現(xiàn)有的20Gb/s InfiniBand互連可能會影響到效率,不過還好,40Gb/s的QDR InfiniBand早已成熟,而56Gb/s的FDR也已經(jīng)推出。相比之下,同樣為Scale-out擴展方式,EMC Symmetrix VMAX使用的Rapid IO交換技術(shù)和惠普3PAR的背板連接當(dāng)前在總帶寬上還有一定的優(yōu)勢,特別是3PAR V800——其每個控制器節(jié)點都具備單獨通向另外7個控制器的PCIe連接,而且這兩款產(chǎn)品的節(jié)點數(shù)量最多只有8個。
我們在本文開頭處還曾提到NetApp的Data ONTAP 8.1集群模式,在《2011存儲Benchmark盤點,意義何在?》一文中,24節(jié)點橫向擴展的NetApp FAS6240曾經(jīng)以1,512,784 IOPS的成績創(chuàng)造過SPECsfs2008文件系統(tǒng)性能測試的紀錄。不過我們也應(yīng)注意到,NetApp FAS統(tǒng)一存儲仍然屬于傳統(tǒng)的雙控制器陣列,并不是專門為Scale-out架構(gòu)而設(shè)計的,因此其節(jié)點間互連只能占用原本為主機接口準備的萬兆以太網(wǎng)。可能是因為這個原因,Data ONTAP 8.1集群模式當(dāng)前在SAN塊訪問的情況下好像最多支持到4個節(jié)點,更多的節(jié)點只能是集群NAS的方式。
當(dāng)然,IBM XIV的定位與這些產(chǎn)品不完全相同,這個從大容量高性價比的7200轉(zhuǎn)SAS驅(qū)動器就可以看出。不過,隨著IOPS性能優(yōu)異的閃存對高轉(zhuǎn)速(10K、15K)機械硬盤市場的不斷侵蝕,就像Vincent Hsu先生在接受筆者采訪時所說的:“現(xiàn)在的確有用戶提出需求,我們在考慮做15,000轉(zhuǎn)的驅(qū)動器支持。但是我覺得將來的走向還是使用SSD + Nearline(近線)的組合比較理想。市場的大趨勢還是在Hybird(混合存儲)——SSD加上轉(zhuǎn)速比較低的磁盤。”
還有一點值得期待的——“SSD在第一階段會做讀緩存;第二階段,大約6個月之后會做讀/寫緩存。”
注:本文帶有一定前瞻性,我們不對推測的部分負責(zé)。