1999年7月,IBM正式發(fā)布代號(hào)為Shark“鯊魚”的企業(yè)存儲(chǔ)服務(wù)器(ESS)。當(dāng)時(shí)沒有采用FC技術(shù),而是采用IBM自己研發(fā)的串行存儲(chǔ)結(jié)構(gòu)(Serial Storage Architecture,SSA)。第一代鯊魚是E系列,然后是第二代F系列。
2002年7月15日,IBM推出第三代鯊魚企業(yè)存儲(chǔ)服務(wù)器ESS 800。新推出的產(chǎn)品代號(hào)“銀鯊”。2004年4月8日,IBM發(fā)布了新一代企業(yè)級(jí)存儲(chǔ)服務(wù)器ESS 750。ESS 750被稱作“BabyShark”,屬于ESS 800大型機(jī)存儲(chǔ)系統(tǒng)的簡(jiǎn)化版本。這個(gè)時(shí)候Shark系列軟件特性也比較豐富了,IBM也拋棄了SSA技術(shù)(雖然這個(gè)技術(shù)也成為了標(biāo)準(zhǔn)),采用了FC技術(shù)。
2004年底,IBM推出了第四代鯊魚DS8000系列。同時(shí)還推出DS6000小鯊魚侵占中端市場(chǎng)。DS8000經(jīng)過了5代:DS8100、DS8300、DS8700、DS8800,最新的是去年年底推出的DS8870。
我印象中華為HVS在9月份的華為云計(jì)算大會(huì)推出后,IBM急忙在10月份發(fā)布第五代DS8000產(chǎn)品,DS8870,哈哈。
IBM發(fā)布DS8000后,以DS8000為代表的高端存儲(chǔ)系統(tǒng)市場(chǎng)占有率始終保持中國市場(chǎng)No.1的位置,并持續(xù)高速增長。DS8000系統(tǒng)連續(xù)8年市場(chǎng)份額保持第一。據(jù)IBM統(tǒng)計(jì),截止2011年前,DS8000存儲(chǔ)系統(tǒng)在中國地區(qū)裝機(jī)客戶超過1300臺(tái),用戶遍布各行各業(yè),主要客戶包括國有四大銀行、三大運(yùn)營商等,此外眾多商業(yè)銀行、中小銀行的關(guān)鍵業(yè)務(wù)應(yīng)用也都運(yùn)行在DS8000存儲(chǔ)系統(tǒng)上。
IBM DS8000為啥取得如此輝煌的成績(jī),特別是在中國,主要是中國的信息化不夠發(fā)達(dá),中國人又比較懶,喜歡把服務(wù)器和存儲(chǔ)一塊采購,甚至把業(yè)務(wù)咨詢都交給IBM,造成中國和海外市場(chǎng)的巨大反差。
但I(xiàn)BM DS8000確實(shí)有兩把刷子。我把我對(duì)DS8870印象比較深的幾點(diǎn)和大家分享一下。
· 小機(jī)雙控架構(gòu),采用最新的P7 CPU和PCIE技術(shù)。
IBM DS8000采用了兩臺(tái)小型機(jī)做雙控的類中端架構(gòu)。DS8870 采用Power7處理器,兩個(gè)小機(jī)之間的連接也從RIO-G變?yōu)镻CIE。后端的磁盤框連接沒有采用SAS,而是采用FC-AL技術(shù),但I(xiàn)BM沒有采用傳統(tǒng)的仲裁環(huán)技術(shù),而是采用交換式的FC-AL技術(shù)(我前面的帖子分析有誤,這里給IBM平個(gè)反)。至于雙控的切換時(shí)間,前面我也和大家分享過,大約是8-15s。還是不錯(cuò)的。
至于邏輯圖,大家可以參考這個(gè)。DS8870支持一個(gè)Base框和3個(gè)擴(kuò)展框。
· 性能第一。IBM去年發(fā)布了SPC-1和SPC-2,性能非常高。SPC-1略微超過了原來的市場(chǎng)第一HP 3PAR V800,拿到了第一的位置。
大家可以看到,時(shí)延也控制在了10ms之內(nèi),和3PAR一樣,但性能略超過了3PAR。在高端存儲(chǔ)的SPC-1成績(jī)里面,目前還是第一。看來只能寄希望于HW HVS去打破這個(gè)記錄了。
至于SPC-2的成績(jī),IBM也公布了。
看來也不錯(cuò)。我們家上網(wǎng)是4Mbps,而DS8870達(dá)到15,423MBPS,大家可以想象一下多大的帶寬吞吐量。
· 硬盤全部支持FDE(全盤加密)。不管你要不要這個(gè)功能,硬盤都采用FDE硬盤。FDE硬盤每個(gè)硬盤都可以采用一個(gè)獨(dú)立的密鑰進(jìn)行加密,對(duì)系統(tǒng)的性能沒有影響。但FDE硬盤的成本肯定很高,其實(shí)很多用戶掏了不該掏的錢。
· 軟件特性豐富。DS8870采用RAID 1.5技術(shù)(我前面帖子講過)支持自動(dòng)分層存儲(chǔ)和自動(dòng)精簡(jiǎn)配置功能。QoS、快照、復(fù)制、加密等高端存儲(chǔ)有的功能都有了,甚至對(duì)Windows 2012和VAAI都有支持。
· 復(fù)雜的CACHE管理算法。IBM的研究人員發(fā)明了很多Cache管理的算法用來提高各種應(yīng)用場(chǎng)景下的命中率。IBM把Cache按照4K的粒度進(jìn)行精細(xì)化管理,粒度很小。
· 采用DC-UPS直流供電,能效高,獲得能源之星認(rèn)證;
· 支持IPV6,獲得IPV6 REDAY認(rèn)證和USGV6認(rèn)證。
但DS8870我看了一遍,也沒有什么出色的地方,相比原來的DS8800,最大的區(qū)別就是性能提升。DS8870在DS8800發(fā)布2年后發(fā)布的,由于更新不多吧,因此IBM沒有叫它DS8900,可能也是這個(gè)原因吧。
說說我對(duì)DS8870不滿的地方吧。
· 不支持ISCSI,主機(jī)接口只有FC/FICON??蛻舻慕M網(wǎng)不方便,特別是遠(yuǎn)程復(fù)制,需有購買FC/IP轉(zhuǎn)換設(shè)備,增加客戶投資和組網(wǎng)復(fù)雜度
· 方案限制太多。DIF只支持大機(jī)上的Linux系統(tǒng);很多性能聯(lián)動(dòng)方案(可以對(duì)應(yīng)用進(jìn)行感知),只支持AIX+DB2。
總的來說,IBM DS8870是新瓶裝舊酒,沒啥新內(nèi)容。架構(gòu)和軟件特性都沒有什么大變化。
我看完DS8870資料的感覺就是,如果我采用IBM小機(jī)+DB2數(shù)據(jù)庫,DS8870是不錯(cuò)的選擇,因?yàn)樗麄兒?jiǎn)直就是一個(gè)整體,和一體機(jī)感覺差不多。如果采用ORACLE數(shù)據(jù)庫,或者X86平臺(tái),DS8870就沒有太多的亮點(diǎn)了。
根據(jù)IDC的數(shù)據(jù),今天我們來仔細(xì)看一下DS8000在2012年到2013年Q1的在中國區(qū)的表現(xiàn)。
一共5個(gè)季度,DS8000在中國區(qū)一共銷售了711臺(tái)??梢钥吹?,主體出貨是DS8800,但DS8870沒有看到(也可能IDC放在DS8800里面了)。
從端口分布可以看到,大機(jī)環(huán)境銷售占了1/3,Open systems還是占大頭,占了2/3的份額。
從行業(yè)的分布看,金融、電信和公安是IBM的產(chǎn)糧地。制造業(yè)、保險(xiǎn)、電力、交通、石油和醫(yī)療也有不俗表現(xiàn)。個(gè)人感覺,Snowden事件出來后,公安、能源等估計(jì)有采購國產(chǎn)設(shè)備的趨勢(shì)。金融和電信可能會(huì)緩慢一些,但前幾天金融圈的一位朋友在微信朋友圈了分享了一條信息,銀監(jiān)會(huì)正在討論去IOE方案(IBMORACLEEMC),不知道消息是否屬實(shí)。但由于目前沒有任何國產(chǎn)存儲(chǔ)支持大機(jī),因此針對(duì)大行困難很大,估計(jì)可以學(xué)電力D5000項(xiàng)目,做兩套系統(tǒng)并行,一套外商的,一套國產(chǎn)的,當(dāng)出現(xiàn)問題有替代方案。
在各省勢(shì)力分布方面,我們看到北京占據(jù)半壁江山。這個(gè)主要是金融和電信的集采政策造成,當(dāng)然,很多的數(shù)據(jù)中心也在北京。但我們也看到,內(nèi)蒙、河北、東三省和安徽這些不算特別發(fā)達(dá)的省份,IBM居然銷售了那么多,甚至超過了很多發(fā)達(dá)省份。這個(gè)也說明這些省份可能由于專業(yè)人才缺乏,反而傾向采用IBM的整體解決方案,帶動(dòng)了DS8000的銷售。發(fā)達(dá)的省份其實(shí)和國外一樣,更加喜歡采用專業(yè)的存儲(chǔ)設(shè)備,如EMC、HDS等。
前面的的分析講過,由于IBM DS8000針對(duì)自己的產(chǎn)品做了很多定制化的東西,大機(jī)環(huán)境就不說了,就是在p系列小機(jī)+DB2的環(huán)境下,DS8000有很多針對(duì)性的特性:
這些針對(duì)應(yīng)用的聯(lián)動(dòng)特性,我相信是其他存儲(chǔ)廠商無法支持的。因此,如果用戶選擇了DB2數(shù)據(jù)庫,DS8000確實(shí)是一個(gè)省事的選擇。幸好,DB2目前份額還不太高。
我們從Gartener的數(shù)據(jù)可以看到,Oracle是數(shù)據(jù)庫市場(chǎng)的老大,占領(lǐng)將近一半的市場(chǎng)份額。而DB2大約占了1/5的市場(chǎng)份額。這個(gè)是其他高端存儲(chǔ)廠商的萬幸,如果DB2的市場(chǎng)地位如ORACLE目前這樣,要想和DS8000競(jìng)爭(zhēng)將更加困難。
傳統(tǒng)的RAID 1.0如果改良后,變身為RAID 1.5來實(shí)現(xiàn)Tier和Thin功能。下面就以我理解的DS8870的RAID 1.5切西瓜原理為例,來幫助大家再次理解我的西瓜刀法,哈哈。
首先,DS8870按照一定的原則選擇8塊一樣的磁盤(由于DS8870后端采用FC-AL,因此選擇盤的時(shí)候最少要跨兩個(gè)環(huán)路才能保證比較好的性能)組織一個(gè)Array site。注意,必須是8塊盤。DS8870購買的時(shí)候,都是以16塊盤為單位進(jìn)行購買的,SSD支持以8塊為單位購買。
這8塊盤選擇RAID級(jí)別后就組成了一個(gè)Array。這些RAID級(jí)別只能從下面的幾種6種類型里面選擇:
但是,還有很多的限制。比如SATA盤,只能支持RAID 6,當(dāng)然,你可以做成RAID 10,但需要向IBM特別申請(qǐng),RAID 5絕對(duì)是不允許的。原因大家都懂的,就是害怕可靠性問題。
大家可以看到,Array是有RAID屬性的。每一個(gè)RAID Array組成一個(gè)Rank,IBM然后拿出從西瓜哥購買的西瓜刀,切成1GB(嚴(yán)格來說,是1GiB)的切片Extent。每個(gè)Extent包含數(shù)據(jù)和元數(shù)據(jù)區(qū)域。然后選擇多個(gè)Rank組成Extent Pool。
如果你需要做Tier,那么你需要選擇不同類型硬盤的Rank來組成Extent Pool。比如,你需要做3層分層存儲(chǔ),你需要選擇的Rank必須包含有SSD的Rank,SAS的Rank和NL-SAS的Rank。從上面分析可以看到,DS8870的Tier的粒度是1GB。
最后一步,你從Extent Pool選擇你需要的空間來組成LUN,然后分配給主機(jī)使用。這些LUN其實(shí)都在整個(gè)Pool都條帶化了(striping),因此,不管Pool是否是Tier的Pool,性能都會(huì)提高,克服了傳統(tǒng)RAID 1.0只能8塊硬盤同時(shí)讀寫的缺陷,一個(gè)LUN也可以跨越幾十塊硬盤了。不過這里再次強(qiáng)調(diào),一個(gè)RANK數(shù)據(jù)丟失了,整個(gè)POOL都完了。
但大家都知道,LINUX和UNIX主機(jī)的LVM卷管理軟件也會(huì)做Striping,包括IBM自己的SVC也可以做Striping,因此,有可能存儲(chǔ)做了,主機(jī)(或者SVC)再做一次Striping。這種現(xiàn)象我們稱為雙重條帶現(xiàn)象。Double Striping可能會(huì)造成性能下降,下面這個(gè)示意圖就是,兩次條帶,正好相當(dāng)于不做條帶,性能就會(huì)出現(xiàn)問題。大家以后在實(shí)施的時(shí)候要注意。
如果需要支持Thin LUN,本來IBM應(yīng)該再從西瓜哥購買的一把小刀,把Extent再切成更小的塊的。但估計(jì)是IBM看不起西瓜哥的小刀吧,干脆不切了。直接按照1GB Extent的粒度來做分配(但好像IBM V7000就切成32K粒度,不知道DS8000以后是否要改?)這個(gè)谷粒 粒度,我感覺太大了,哈哈,一頓飯吃一幾顆就飽了。這種支持Thin的卷IBM叫ESE(extent space efficient volumes)。
這個(gè)1GB的粒度,做Thin的時(shí)候雖然有點(diǎn)浪費(fèi),但I(xiàn)BM財(cái)大氣粗,無所謂,每次多分一點(diǎn)空間,省事。但做快照是,這個(gè)粒度成問題了。你想象一下,數(shù)據(jù)庫的I/O典型是8K,一個(gè)8K的I/O下來,快照你需要分配1GB的空間,空間浪費(fèi)好辦,但COW的原來大家都懂,整個(gè)1GB的數(shù)據(jù)塊的數(shù)據(jù)你都需要COPY到快照資源池里。這個(gè)搬運(yùn)的數(shù)據(jù)量太大了,對(duì)系統(tǒng)的性能影響太大。怎么辦?IBM沒有辦法,只能再找西瓜哥購買一把小刀,把Extent切成64K的Track,這樣的卷叫TSE(track space efficient volumes),專門給快照使用。前面我們講到,TSE不能建立在SATA的RANK上,主要考慮性能問題吧。
好,最后我們?cè)倏匆幌翫S8870的邏輯圖,大家按照箭頭再回顧一下IBM的西瓜刀法。
不過,別忘啦,RAID 1.5雖然解決了Tier和Thin的問題,但Extent Pool里面任何一個(gè)RAID Array壞了,這個(gè)Pool的數(shù)據(jù)都沒有了。這也容易理解IBM讓SATA盤必須用RAID 6的原因了。
好了,希望今天以后,很多人都說,哦,我也清楚什么是RAID 1.5,什么是LUN虛擬化了,我就覺得特別有成就感。
希望大家積極反饋你的意見和建議,微信掃描如下二維碼,關(guān)注微信公眾號(hào)“高端存儲(chǔ)知識(shí)”,與作者微信互動(dòng)。