范喆 發(fā)表于:14年07月31日 19:00 [原創(chuàng)] DOIT.com.cn
2014年7月31日,由DOIT傳媒和存儲在線舉辦的首屆中國閃存峰會在亮馬河飯店盛大召開,來自搜狐研究院基礎(chǔ)架構(gòu)部的彭毅為我們分享了《優(yōu)化性能,提高利用率——SSD助力搜狐服務(wù)器應(yīng)用》,與大家共同探討搜狐在服務(wù)器應(yīng)用中把SSD引入到基礎(chǔ)架構(gòu)中所帶來的收益。
以下是演講文字實(shí)錄:
大家好,我是來自搜狐研究院基礎(chǔ)架構(gòu)部的彭毅,很高興跟大家探討一下搜狐在服務(wù)器應(yīng)用中把SSD引入到搜狐的基礎(chǔ)架構(gòu)中給搜狐帶來的收益。
搜狐公司旗下有很多的業(yè)務(wù),包括搜狐的門戶業(yè)務(wù),還有搜狐獨(dú)立的上市子公司,專門做游戲領(lǐng)域的暢游,以及搜狐視頻,搜狐焦點(diǎn),還有我們經(jīng)常做一些搜索使用的搜狗,搜索引擎,及搜狗地圖,還有大家耳熟能詳?shù)乃压份斎敕ǖ。在這些業(yè)務(wù)中,當(dāng)然搜狐還有很多其他的一些業(yè)務(wù)。
在這些主要的業(yè)務(wù)中,各個(gè)業(yè)務(wù)部門的技術(shù)人員與搜狐基礎(chǔ)架構(gòu)的技術(shù)人員在經(jīng)常探討業(yè)務(wù)與基礎(chǔ)架構(gòu)的有機(jī)整合。在業(yè)務(wù)對性能需求的同時(shí),基礎(chǔ)架構(gòu)會針對業(yè)務(wù)的需求給他們提供各種各樣的解決方案,在其中,搜狐在使用SSD的業(yè)務(wù)是在2008年的8月份左右。首先是在搜狗的搜索引擎其中的一個(gè)索引的這么一個(gè)模塊出現(xiàn)了一個(gè)非常強(qiáng)的一個(gè)I/O的瓶頸。在這個(gè)時(shí)候我們?yōu)檫@個(gè)業(yè)務(wù)尋找解決方案的時(shí)候,我們看到了SSD給我們帶來的一些益處。
當(dāng)時(shí)我們部署SSD的動力,發(fā)現(xiàn)在搜狐的業(yè)務(wù)中,有很多像數(shù)據(jù)庫業(yè)務(wù),像其他的一些比如說搜索引擎,還有一些視頻業(yè)務(wù),在解決I/O的時(shí)候往往都是在傳統(tǒng)方式下使用多硬盤解決I/O的性能問題。但是,隨著傳統(tǒng)硬盤的發(fā)展,我們發(fā)現(xiàn)一個(gè)很大的問題,就是硬盤的容量增長遠(yuǎn)遠(yuǎn)大于它的性能增長。傳統(tǒng)磁盤靠轉(zhuǎn)速和吞吐量解決性能問題,但是容量增長遠(yuǎn)遠(yuǎn)大于轉(zhuǎn)速。當(dāng)搜狐使用1500轉(zhuǎn)的傳統(tǒng)硬盤時(shí),不僅僅是在功耗上、在制冷上,在大量引入1500轉(zhuǎn)的春秋硬盤對機(jī)房產(chǎn)生的功耗及散熱也給我們的基礎(chǔ)架構(gòu)帶來非常大的挑戰(zhàn)。我們需要有一種技術(shù)手段,或者一種新興技術(shù)幫助我們解決我們遇到的問題。
在搜狐對SSD進(jìn)行研究的過程中,我們發(fā)現(xiàn)SSD性能上已經(jīng)完完全全滿足了我們業(yè)務(wù)上遇到的一些問題。但是,最關(guān)鍵的問題主要是成本與容量比值的問題,也就是說,我們互聯(lián)網(wǎng)公司經(jīng)常講的性價(jià)比的問題。就是我們解決一個(gè)性能問題的同時(shí),它所付出的成本是什么樣的。
在搜狐部署SSD的應(yīng)用過程中,我們也有很多對能耗的考慮。因?yàn)橄窕ヂ?lián)網(wǎng)公司它的服務(wù)器規(guī)模非常大,一般互聯(lián)網(wǎng)公司在幾萬臺服務(wù)器的規(guī)模,在大量的數(shù)據(jù)中心服務(wù)器運(yùn)轉(zhuǎn)的時(shí)候要消耗大量的電能,傳統(tǒng)磁盤是機(jī)械格式的硬盤,在工作當(dāng)中要消耗大量的電力。我們部署SSD的時(shí)候同時(shí)也能減少我們服務(wù)器對能耗的消耗,對我們數(shù)據(jù)中心的減耗也帶來了一個(gè)非常明顯的變化。而且還有在一個(gè)比較突出的情況是什么呢?就是比如我們有一些,像08年奧運(yùn)會的時(shí)候北京有很多地區(qū)對電力的需求是突增的,包括有一些數(shù)據(jù)中心有大量的用戶在互聯(lián)網(wǎng)進(jìn)行訪問,當(dāng)時(shí)搜狐是2008奧運(yùn)會互聯(lián)網(wǎng)的贊助商,當(dāng)時(shí)有很多用戶訪問我們公司的服務(wù)器,對整個(gè)機(jī)房能耗的增長是非常大的。
那么,在這個(gè)時(shí)候因?yàn)殡娏儆谶@個(gè)機(jī)電設(shè)施,它不能很快的順應(yīng)我們的需求,它有一定的滯后性。那么,在這個(gè)時(shí)候,我們就利用SSD代替?zhèn)鹘y(tǒng)磁盤,減少I/O消耗的同時(shí)對電力的增加。從2008年的下半年開始,在搜狐的各個(gè)業(yè)務(wù)線上我們開始尋找有可能啟用SSD的一些業(yè)務(wù),尋找這些業(yè)務(wù)的同時(shí),我們首先有我們的部門對傳統(tǒng)的磁盤和SSD進(jìn)行了一些相應(yīng)的研究和一些報(bào)告的制作。當(dāng)時(shí)我們針對普通磁盤的轉(zhuǎn)速,內(nèi)部傳輸速率,包括接口方式等等一些相關(guān)的傳統(tǒng)磁盤的指標(biāo)的評定點(diǎn)與SSD進(jìn)行了一些相關(guān)的對比。在這一塊,我們得到就是說,傳統(tǒng)磁盤的容量非常大,但是成本非常低,而且這種磁盤是非常成熟的,而SSD性能非常高,功耗也是極低的,而且存儲結(jié)構(gòu)非常簡單,減少了很多機(jī)械結(jié)構(gòu)。但是,SSD也有一定的問題,就是單盤的容量在2008年那個(gè)時(shí)候還是非常低,和傳統(tǒng)磁盤的容量比還是有非常大的差異。我們當(dāng)時(shí)啟用的最大容量是160G的SSD,而且對SSD使用的性能相關(guān)指標(biāo)的時(shí)候都有一個(gè)寫入壽命的非常強(qiáng)烈的一個(gè)指標(biāo),在這一塊也是我們當(dāng)時(shí)啟用SSD的時(shí)候考慮的一個(gè)關(guān)鍵的點(diǎn),我們在可能啟用的SSD的業(yè)務(wù)上進(jìn)行了三年的預(yù)算,就是對業(yè)務(wù)線目前的I/O的寫入量進(jìn)行了三年的估算。當(dāng)我們的估算值不低于這個(gè)寫入壽命的時(shí)候,我們在業(yè)務(wù)上推薦使用SSD。
因?yàn)閭鹘y(tǒng)磁盤我們知道一旦出現(xiàn)一些災(zāi)難的情況下,當(dāng)然傳統(tǒng)磁盤可以有很好的保護(hù),比如說備份手段,可以很好的解決數(shù)據(jù)的安全問題。但是,在SSD的年代,SSD的盤還非常貴,我們引入Rade技術(shù)相應(yīng)不是很現(xiàn)實(shí)。然后我們看到這個(gè)傳統(tǒng)磁盤的時(shí)候,對它進(jìn)行數(shù)據(jù)恢復(fù)的時(shí)候,它相應(yīng)的數(shù)據(jù)恢復(fù)技術(shù)是非常成功的。但是,電存儲,尤其SSD這種電存儲技術(shù),當(dāng)數(shù)據(jù)盤,尤其Flash這種顆粒級損壞的時(shí)候我們數(shù)據(jù)是非常難以恢復(fù)的,所以這一塊也是對我們在尋找可使用SSD這個(gè)業(yè)務(wù)時(shí)候?qū)ξ覀兲岢隽吮容^大的挑戰(zhàn)。我們就找了一些搜狐內(nèi)部首先是允許有一些數(shù)據(jù)丟失的業(yè)務(wù),就是它從架構(gòu)上已經(jīng)解決了數(shù)據(jù)丟失之后,它的數(shù)據(jù)可以從架構(gòu)上進(jìn)行重構(gòu)。
當(dāng)時(shí)我們選用SSD的時(shí)候也看到很多的固態(tài)硬盤它帶有緩存,就是寫入的時(shí)候有一個(gè)低RAM緩存。但是,所有帶有低RAM緩存的SSD產(chǎn)品都需要已有電容給它供電,保證突然斷電的時(shí)候數(shù)據(jù)不會丟失,這也是我們選擇SSD盤的時(shí)候給我們帶來的一些比較大的挑戰(zhàn)。
目前在搜狐的SSD硬盤的使用中主要帶來兩個(gè)場景的應(yīng)用,一個(gè)是把相對大容量的固態(tài)硬盤作為我們數(shù)據(jù)盤存儲真實(shí)的數(shù)據(jù),然后它我們的收益主要有大幅度提高了I/O性能,節(jié)省了很多的功耗,提高了處理器的利用率。在一臺服務(wù)器中,因?yàn)楝F(xiàn)在CPU的速度越來越快,我們知道計(jì)算機(jī)系統(tǒng)遵循木桶原理,所有它的性能取決于最短的板,SSD的引入對我們服務(wù)器的處理器的利用率提高了很多。
目前這種大容量的固態(tài)硬盤作為數(shù)據(jù)盤主要應(yīng)用在像搜索、地圖,包括視頻,還有一些數(shù)據(jù)庫應(yīng)用中,他們作為我們的數(shù)據(jù)盤來存儲。在這一塊,我們數(shù)據(jù)庫這一塊的引入相對來說比較晚,搜狐在數(shù)據(jù)庫應(yīng)用中是在2009年下半年,接近年末的時(shí)候才開始嘗試使用固態(tài)硬盤,因?yàn)橄駭?shù)據(jù)庫業(yè)務(wù)是相對來說比較核心的業(yè)務(wù),它對數(shù)據(jù)的安全是非常在意的。數(shù)據(jù)庫的DBI他們更愿意用傳統(tǒng)成熟的技術(shù)有效的解決數(shù)據(jù)安全問題。在這一塊,他們會采取傳統(tǒng)的技術(shù)手段,然后比如一些相關(guān)的手段,用大型的盤陣系統(tǒng),提高整個(gè)系統(tǒng)的I/O水平。但是,從2009年開始,我們不斷和他們進(jìn)行溝通,跟他們說大家可以嘗試一下這個(gè)SSD這個(gè)固態(tài)硬盤,他們會給你們提供大量的收益,而且在這一塊也不會造成非常突發(fā)的數(shù)據(jù)的損壞。
所以,在2009年的時(shí)候我們數(shù)據(jù)庫開始嘗試在一些備庫上開始使用SSD固態(tài)硬盤,在正式的產(chǎn)品庫上,實(shí)際上最早應(yīng)用是在2010年的上半年,在搜狗的輸入法,在索引庫上,輸入法的詞庫上成功的使用了固態(tài)硬盤。因?yàn)檫@個(gè)業(yè)務(wù)它的特點(diǎn)是和固態(tài)硬盤的標(biāo)準(zhǔn)的應(yīng)用領(lǐng)域有些差異,我們在尋找固態(tài)硬盤作為我們內(nèi)部應(yīng)用點(diǎn)的時(shí)候,我們會著重找業(yè)務(wù)的情況是什么呢?它要大量的讀寫,而沒有很大量的數(shù)據(jù)寫入的情況下來進(jìn)行選取,而輸入法的詞庫它正好和我們之前選取的這個(gè)點(diǎn)有一個(gè)相反的地方,就是它有大量的數(shù)據(jù)寫入,每天都有大量的數(shù)據(jù)寫入,而讀取和寫入的比大概是一個(gè)5:5的比例。所以,在這一塊,是我們也做了一些技術(shù)處理,后面我們會講到這個(gè)應(yīng)用的場景。
另外的一種應(yīng)用就是我們選取了相對容量較小的SSD,我們當(dāng)時(shí)宣傳40G的SSD作為我們的系統(tǒng)盤。當(dāng)時(shí)是我們給一個(gè)業(yè)務(wù)線在尋找解決一個(gè)盤類的情況下,大概也是在2009年的下半年的時(shí)候,存儲服務(wù)器那個(gè)時(shí)候突然就興起了在國內(nèi),所有的IT公司基本上都在研究存儲服務(wù)器的應(yīng)用空間。這個(gè)時(shí)候搜狐也在選擇和考慮使用這種存儲服務(wù)器作為我們大量的數(shù)據(jù)存放的點(diǎn)。但是這個(gè)時(shí)候我們傳統(tǒng)的服務(wù)器基本上那個(gè)時(shí)候的磁盤還在146G,SAS 10K的146G,300G這個(gè)容量,因?yàn)樗押鶕?jù)它的傳統(tǒng)的做法會找出一塊單獨(dú)的盤進(jìn)行OS的部署,然后其他的磁盤來存數(shù)據(jù)。當(dāng)存儲服務(wù)器上來的時(shí)候,它的磁盤都是以T級為單位。這個(gè)時(shí)候我們?nèi)绻怯梢粔K磁盤裝SSD對我們來說空間的浪費(fèi)非常大,這時(shí)候我們有幾種辦法,要么改變傳統(tǒng)的運(yùn)維的相關(guān)工具,重新制定一套運(yùn)維的標(biāo)準(zhǔn)及進(jìn)行一些運(yùn)維工具的二次開發(fā),重新改變我們之前的運(yùn)維習(xí)慣;蛘呶覀冞M(jìn)行一種特殊的手段,然后進(jìn)行數(shù)據(jù)存儲。
后來我們和ODM一塊兒進(jìn)行了一些研究,我們成功在一個(gè)存儲服務(wù)器內(nèi)部安裝了一個(gè)40G的SSD,然后通過性能的連接,然后進(jìn)行了一些改造,然后把這個(gè)盤成功引入進(jìn)去,然后直接在主辦的藍(lán)橋上把這塊盤識別起來,裝上SSD,這樣給我們帶來的收益非常大。以前一臺存儲服務(wù)器,按照原來標(biāo)準(zhǔn)使用只能使用一塊盤,只有11T的空間,現(xiàn)在我們又得到更多的盤位,現(xiàn)在這塊服務(wù)器就變成了12塊數(shù)據(jù)盤。后來這個(gè)案例進(jìn)行了一些宣傳,后來看到很多做存儲服務(wù)器的廠商都陸陸續(xù)續(xù)推出了“12+2”的規(guī)格,就是12塊大盤加2塊小盤的規(guī)格。而且最開始我們作為系統(tǒng)盤僅僅想給我們節(jié)省出一個(gè)盤位來,后來把SSD引入到系統(tǒng)盤這個(gè)應(yīng)用場景中,我們發(fā)現(xiàn)還有其他很多收益。因?yàn)榛ヂ?lián)網(wǎng)公司服務(wù)器的上線基本上成批量,一次上線幾百臺,幾千臺,數(shù)據(jù)的輸送對互聯(lián)網(wǎng)公司來說是比較痛苦的過程。SSD作為系統(tǒng)盤之后,我們發(fā)現(xiàn)在OS的部署這一塊對我們來說很輕松,以前基本上30分鐘左右才能部署完一臺服務(wù)器,現(xiàn)在十幾分鐘就可以部署完,在這個(gè)場景下,也給我們節(jié)省了大量的時(shí)間成本,這一塊對我們收益也是非常大的。而且因?yàn)槲覀兊氖褂没旧隙际荓inux的系統(tǒng),在那個(gè)年代內(nèi)存還不是很大,基本上16G,32G就已經(jīng)算非常豪華的配置了。在那個(gè)時(shí)候有很多的應(yīng)用,在調(diào)用大量內(nèi)存的時(shí)候,它沒有更多的可靠空間的時(shí)候,它就會在磁盤上開一個(gè)smart區(qū)域,把暫時(shí)不用的數(shù)據(jù)寫到Smart空間。在這個(gè)場景下,不僅僅是給我們解決了服務(wù)器的存儲容量的問題,而且還給我們得到了系統(tǒng)的性能的提升。
目前SSD作為一個(gè)系統(tǒng)盤基本上已經(jīng)成為搜狐的一個(gè)標(biāo)配了,在這一塊我們基本上所有的非特定業(yè)務(wù)的服務(wù)器都會有一塊到兩塊SSD作為OS盤。目前,我們現(xiàn)在看到的SSD的容量越來越大,成本也越來越低,我們選用的一個(gè)小容量的SSD目前也已經(jīng)停產(chǎn)了。這一塊我們這個(gè)部門還在做一些更深的研究,我們現(xiàn)在在利用技術(shù)把筆記本的一些SSD再引入到服務(wù)器中來,通過這些技術(shù)降低我們在服務(wù)器應(yīng)用中的成本。
現(xiàn)在和大家分享一下搜狐在SSD的選用場景應(yīng)用還有一些我們在使用SSD中的一些特殊的技術(shù)相關(guān)的一些東西。我這個(gè)部門是基礎(chǔ)架構(gòu)部門,它負(fù)責(zé)搜狐硬件的一些評測相關(guān)的東西,還有一些基礎(chǔ)架構(gòu)的應(yīng)用場景的研究工作。在SSD這塊評測中,我們通過之前對SSD的了解及技術(shù)的跟蹤,我們發(fā)現(xiàn)對影響SSD這塊的主要性能,第一部分就是主控芯片,主控芯片有很多家,英特爾等。第二個(gè)影響它的速度就是NAND Flash芯片,還有就是緩存,還有比如它采用的是幾路并發(fā),什么接口,這些也會影響。但從我們評測的過程中得到的數(shù)據(jù)分析,這三部分是影響一個(gè)SSD它的最關(guān)鍵的三個(gè)要素,所以在這一塊,我們在做SSD測試的時(shí)候,我們不僅僅是在進(jìn)行一個(gè)跑分的測試,還要對固態(tài)硬盤進(jìn)行一些排解,要看到你的主控芯片是什么等級,NAND Flash芯片是什么等級,緩存是什么樣的。我們認(rèn)為這些技術(shù)可能相對來說對企業(yè)級的應(yīng)用場景,尤其像數(shù)據(jù)庫的應(yīng)用可能不太適合,我們就會選擇其他的進(jìn)行緩沖技術(shù)處理的SSD。
在SSD選用的應(yīng)用場景下,我們基本上著重在兩點(diǎn)選用。第一點(diǎn)就是具有非常高的IO瓶頸的這樣一個(gè)應(yīng)用。首先這樣的應(yīng)用有非常強(qiáng)烈的使用SSD,就是更快能解決IO瓶頸的這些設(shè)備跟技術(shù)的強(qiáng)烈的愿景。然后,我們會選取大量的以讀為主的業(yè)務(wù),而且它的讀,絕大部分讀操作是隨機(jī)的讀取,而不是順序的讀取。在這一塊我們選擇業(yè)務(wù)的時(shí)候,尤其是搜狐初期使用SSD,那個(gè)時(shí)候相對來說還比較新,很多業(yè)務(wù)使用傳統(tǒng)磁盤他們覺得可以滿足自己的需求,但是IO也是他們一個(gè)比較突出的問題。然后有新技術(shù)突然出現(xiàn)的時(shí)候,有新的設(shè)備,他們覺得這個(gè)東西還比較早,不成熟,然后他們在應(yīng)用的時(shí)候也會有一些擔(dān)心,我們開始就按這兩點(diǎn)去尋找一些內(nèi)部應(yīng)用的場景。但是,這一塊隨著我們的實(shí)踐,我們還是得到了非常大的收益,目前現(xiàn)在各個(gè)業(yè)務(wù)線基本上已經(jīng)對固態(tài)硬盤有了非常大的認(rèn)識,然后他們一旦在服務(wù)器應(yīng)用中遇到了IO瓶頸的問題,但是首先肯定會想到SSD。
然后,SSD的寫入壽命是一個(gè)最大的應(yīng)用的難題。在這一塊,我們開始對寫入壽命這一塊還沒有特別大的在意,我們只是在場景中,在上線之前我們會進(jìn)行一個(gè)特定的時(shí)間點(diǎn)的場景的計(jì)算,在一定時(shí)期看這個(gè)業(yè)務(wù)線會不會把這個(gè)磁盤的寫入容量寫滿,一到寫滿的時(shí)候,會有一些性能的問題。在這一塊的時(shí)候,我們剛才提到的那個(gè)輸入法的詞庫,在這一塊我們遇到一個(gè)非常大的挑戰(zhàn)。這個(gè)業(yè)務(wù)它有非常明顯的IO瓶頸問題,而且它的讀寫幾乎全是隨機(jī)的。在這一塊,我們和業(yè)務(wù)線帶一塊兒進(jìn)行溝通的時(shí)候,進(jìn)行了一些預(yù)計(jì)算,給我們得出的結(jié)論非常恐怖;旧纤膱鼍暗膶懭肓,基本上一塊SSD一年就會讓他們寫報(bào)廢,這一塊對于我們來說是不可接受的,一旦數(shù)據(jù)寫入過來之后,而且服務(wù)器都是批量上線,如果一批SSD,或者一個(gè)集群同時(shí)出現(xiàn)這個(gè)問題,對用戶的影響是非常大的。那么,這一塊我們和SSD的技術(shù)人員進(jìn)行了深入溝通,然后我們發(fā)現(xiàn)在超量控制技術(shù)這一塊可以有效的解決我們的問題。當(dāng)時(shí)我們是在這個(gè)業(yè)務(wù)線上進(jìn)行了一些測算之后,然后我們選取了一個(gè)160G的SSD,我們利用超量供給技術(shù),將一塊160G的SSD改成120G上線。
當(dāng)時(shí)我們是考慮到三年的場景,雖然容量上對我們有一些損失,我們只使用了3/4的容量,但是這個(gè)時(shí)候,從目前看,這批的詞庫,目前所使用的這批,從160G修改到120G的SSD目前還在使用,已經(jīng)基本上將近四年多的時(shí)間,快到五年了。親戚我們還沒有進(jìn)行大量的SSD的監(jiān)控,后期我們考慮到SSD有可能,因?yàn)楹芏鄻I(yè)務(wù)線的集群基本上都是批量上的,這一塊我們?yōu)榱朔乐雇话l(fā)的故障,我們在2013年的年底搜狐內(nèi)部啟動了一個(gè)新的項(xiàng)目叫SMART項(xiàng)目,它不僅僅能監(jiān)控所有的底層的硬件服務(wù)器的各種應(yīng)用狀態(tài),而且著重對搜狐內(nèi)部所有的SSD進(jìn)行壽命預(yù)期,就是通過這個(gè)SMART這個(gè)信息對SSD壽命及業(yè)務(wù)的寫入量讀取量的一個(gè)分析,然后進(jìn)行了一個(gè)場景的綜合的一個(gè)計(jì)算之后,它會對每臺機(jī)器上的SSD進(jìn)行一個(gè)生命預(yù)言,這個(gè)生命預(yù)言就是你從使用到現(xiàn)在已經(jīng)使用了多長時(shí)間,那么,預(yù)計(jì)你的這個(gè)業(yè)務(wù)在同樣的IO寫入下還能繼續(xù)寫入多少天,做了這樣一個(gè)功能,給使用SSD的部門進(jìn)行一個(gè)有效的對它購買新的SSD,然后進(jìn)行一些業(yè)務(wù)遷移,給它一個(gè)很好的指導(dǎo)。
通過SMART監(jiān)控SSD這個(gè)技術(shù),每個(gè)SSD廠商的SMART監(jiān)控值所能提供的信息量也是不一樣的。像有些好一些的,它會在所有的SMART關(guān)鍵的技術(shù)上會羅列的非常清楚。但是,我們從前期的IT測試中,我們通過標(biāo)準(zhǔn)的SMART工具讀取出來的每家所能提供的詳細(xì)點(diǎn)是差異非常大的。在這一塊,由于搜狐和英特爾一直保持著非常良好的關(guān)系。然后在這一塊,我們在底層監(jiān)控這一塊得到英特爾工程師大量的技術(shù)支持,他們給了我們很多的指導(dǎo),所以才有我們后來SMART對SSD壽命預(yù)言的這么一個(gè)功能。
我們在應(yīng)用SSD這個(gè)時(shí)候,我們會對很多場景,SSD這個(gè)寫入進(jìn)行一些預(yù)期分析。其實(shí)這個(gè)預(yù)期分析我們在做所有的場景啟用之前,我們只能是對當(dāng)前這個(gè)點(diǎn),或者說它最繁忙的這個(gè)點(diǎn)進(jìn)行一個(gè)預(yù)期上面的預(yù)算。但是,在我們這套系統(tǒng)上了之后,我們會發(fā)現(xiàn)很多業(yè)務(wù)它的寫入和讀取,它的分布是非常奇特的,和它的業(yè)務(wù)非常有相關(guān)性。比如說我們的游戲業(yè)務(wù),它的寫入情況和Web的服務(wù)所寫入的分布是非常不一樣的。Web的業(yè)務(wù)分布基本上在下午兩點(diǎn)到六點(diǎn)是寫入量頻繁的時(shí)間,然后有一個(gè)空缺的時(shí)間,然后在游戲的時(shí)間基本上從十點(diǎn)到夜里兩點(diǎn)的時(shí)候是寫入最頻繁的時(shí)刻。這個(gè)時(shí)刻,雖然SSD我們能預(yù)言他的時(shí)間點(diǎn)是這樣,但是它每天平均的寫入量又是不一樣的。在這一塊,我們后來采用了某一應(yīng)用的一個(gè)特定場景的一個(gè)段之間的預(yù)算,我們在某一個(gè)場景下,我們選取它一個(gè)月,最長到三個(gè)月的寫入的統(tǒng)計(jì),然后根據(jù)它的業(yè)務(wù)寫入的特性,然后進(jìn)行了一些分析,然后就更準(zhǔn)確的能針對我們的場景進(jìn)行一些挑選。
目前現(xiàn)在在搜狐有大量的數(shù)據(jù)庫的機(jī)器,數(shù)據(jù)庫現(xiàn)在我們采用了傳統(tǒng)盤式的SSD,而且因?yàn)楝F(xiàn)在虛擬化技術(shù)都比較普及,我們在搜狐的很多的數(shù)據(jù)庫應(yīng)用下也啟用了虛擬化技術(shù)。但是,虛擬化現(xiàn)在目前看到最大的一個(gè)問題是,因?yàn)镃PU是非?斓,內(nèi)存的容量添加現(xiàn)在也是非常大。那么,就是IO這個(gè)問題是最大的問題。數(shù)據(jù)庫業(yè)務(wù)它的IO其實(shí)是非常的敏感,它的IO的瓶頸是非常大的。那么,我們在這個(gè)數(shù)據(jù)庫業(yè)務(wù)啟用虛擬化之后,確實(shí)因?yàn)閿?shù)據(jù)庫業(yè)務(wù)我們能看到有大量的CPU的空閑,也有內(nèi)存的空閑,網(wǎng)絡(luò)的空閑,就是IO非常滿。我們針對這個(gè)數(shù)據(jù)庫的業(yè)務(wù)這個(gè)場景我們進(jìn)行了一個(gè)設(shè)計(jì),我們對一臺服務(wù)器,對它添加八塊SSD,八塊傳統(tǒng)的盤式的SSD,對服務(wù)器進(jìn)行虛擬化,我們在搜狐很多數(shù)據(jù)庫進(jìn)行了這樣的改造,目前這種應(yīng)用基本上對我們讀寫分離的數(shù)據(jù)庫場景都采用了,這是對我們應(yīng)用比較大的一個(gè)改變。因?yàn)榛ヂ?lián)網(wǎng)公司在之前提出的一些技術(shù)方向就是分布式,然后小型化這樣的一個(gè)過程。那么,這樣對我們來說沒有很多大型的像EMC,Oracle他們提供了很多的更大型的,更安全的數(shù)據(jù)存儲系統(tǒng),也有更快的存儲系統(tǒng),但是對互聯(lián)網(wǎng)的技術(shù)來說,可能利用那樣的技術(shù),或者那樣的系統(tǒng),可能在快速變更這一塊,在運(yùn)營過程中會給我們帶來更大的挑戰(zhàn),所以互聯(lián)網(wǎng)公司基本采取小型分布式的結(jié)構(gòu)。在數(shù)據(jù)庫的應(yīng)用中,SSD的應(yīng)用模型對我們來說也是非常巨大的,這個(gè)場景基本上是在去年把它變成數(shù)據(jù)庫標(biāo)準(zhǔn)的一個(gè)應(yīng)用。
還有一個(gè)就是SSD的電氣特性,就是說,我們在改造之前提到的那個(gè)硬盤存儲服務(wù)器的這一塊。我們發(fā)現(xiàn)很多的傳統(tǒng)的服務(wù)器具有熱插拔功能的傳統(tǒng)服務(wù)器,它的背板在設(shè)置上有很多設(shè)置都是為傳統(tǒng)磁盤設(shè)計(jì)的,而沒有考慮SSD的這個(gè)引入。雖然SSD盤現(xiàn)在在接口形式上或者在數(shù)據(jù)存儲過程中,它在盡量的模擬傳統(tǒng)硬盤,但是它畢竟是一個(gè)電存儲設(shè)備,它不是一個(gè)機(jī)械存儲設(shè)備。在這一塊,我們有一批高性能服務(wù)器想添加SSD的時(shí)候遇到一個(gè)非常大的問題就是背板的問題,這一塊后來我們也是采取辦法,因?yàn)榉⻊?wù)器的廠商不給我們支持,他們認(rèn)為他們服務(wù)器設(shè)計(jì)之初就沒有設(shè)想用戶會使用其他的非磁盤性的存儲。后來因?yàn)閳鼍暗腎O出現(xiàn)了非常嚴(yán)重的問題,我們又不得不上,后來我們又通過一些特殊的裝置,我們做了一個(gè)轉(zhuǎn)化托架,因?yàn)槲覀兒芏喾⻊?wù)器都是有一個(gè)筆記本是光驅(qū)類的,我們做了一個(gè)托架,包括供電的問題,實(shí)際上在服務(wù)器中,添加非設(shè)計(jì)的盤類的存儲空間的時(shí)候,它的供電是一個(gè)非常大的挑戰(zhàn)。我們后來經(jīng)過一些測算之后,我們通過服務(wù)器內(nèi)制的USB口進(jìn)行取電,來給SSD供電。
還有一個(gè)問題就是安置,春秋的服務(wù)器它基本上設(shè)計(jì)完成之后四個(gè)盤就是四個(gè)盤位,我們想添加額外的盤位不是很現(xiàn)實(shí),我們就需要在內(nèi)部空間上尋找可能性,去添加SSD。那么,在內(nèi)部添加SSD的時(shí)候要考慮的因素就非常多,因?yàn)樘砑恿嗽O(shè)備,而破壞了原設(shè)計(jì)者對服務(wù)器內(nèi)部風(fēng)道的設(shè)計(jì),而對散熱產(chǎn)生更多的影響,這個(gè)時(shí)候我們也會針對不同的服務(wù)器進(jìn)行一些特殊的設(shè)置。
還有就是連接的問題,就是所有的數(shù)據(jù)線與主辦的連接問題,服務(wù)器內(nèi)部和PC不太一樣,它對內(nèi)部散熱有非常強(qiáng)烈的要求,而且有很多的硬盤,然后風(fēng)扇也是非常多的在內(nèi)部。服務(wù)器內(nèi)部它的振動遠(yuǎn)遠(yuǎn)大于我們平時(shí)接觸的PC機(jī)和筆記本。所以在連接的一塊,數(shù)據(jù)線的連接簡簡單單插在上面是不行的,我們需要有特殊的辦法進(jìn)行連接加固,進(jìn)行一些穩(wěn)定性的東西。后來我們在這一塊基本上會采用定制某一種內(nèi)置到2.5的轉(zhuǎn)接盒,另外就是帶不影響風(fēng)道設(shè)計(jì)的地方把它固定下來,我們用熱熔膠,或者其他方式固定好,用這種方式來解決。我的分享就到這兒,謝謝大家!
公司簡介 | 媒體優(yōu)勢 | 廣告服務(wù) | 客戶寄語 | DOIT歷程 | 誠聘英才 | 聯(lián)系我們 | 會員注冊 | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.