從近兩年開始,一場起源于國內某知名互聯網企業的“去IOE(代指由IBM小型機、Oracle數據庫和EMC高端存儲為代表的封閉式高成本IT架構)”運動在國內引起了巨大反響,一些傳統企業也開始紛紛效仿,希望通過去掉IOE實現成本的降低,并讓IT架構更靈活可控。
然而對于一些IOE的重度用戶,比如金融、電信企業等,去掉已經采用多年且磨合成熟的經典組合談何容易。將核心的業務應用遷移到新的平臺上,需要考慮的問題很多,這使得大部分企業對去IOE只能紙上談兵。當然,在這個方向上總要有先行者。據了解,四川電信在今年5月,成功將核心CRM系統的Oracle數據庫從IBM P595小型機遷移到基于x86的私有云平臺上。對于這次成功的去“I”項目,TechTarget記者也有幸采訪到了四川電信企業信息化部總經理梁天健和運維部經理李華,讓他們來講述一下項目背后的故事,以及對去IOE的看法。
小型機vs. x86虛擬化平臺
究竟是小型機還是x86?對于這個問題,梁天健說:“只有大金主才有實力不必糾結于這些事情,我們不是。”
在大家的印象中,國內的電信運營商應該是不差錢的,但事實并非如此。為了提升數據庫的緩存命中率,為了增加數據庫的并發連接數,這些都需要對小型機進行內存等硬件資源的擴容,動輒幾十、上百萬的預算對四川電信來說已經成為一種壓力。梁天健測算了CRM系統數據庫向x86遷移帶來的成本節省:采用x86平臺,以設備生命期周期3年計算,服務器+虛擬化軟件+電費+維保費用,9年的成本是700萬左右 ;采用小型機,以設備生命周期8年計算,服務器+電費+維保費用,8年的成本是1800萬左右。當然,成本只是一方面的考慮。在梁天健看來,從小型機遷移到x86 PC服務器上還存在著諸多的好處。
“四川電信這次向x86平臺的遷移,并不是去IOE大潮下的一場秀,而是IT基礎平臺發展的必然選擇。”梁天健說。
據了解,四川電信在08、09年就已經開始在IT系統中引入x86及虛擬化;2010年實現了將web服務器還有小型數據庫運行在x86虛擬化環境上;2011年實現了重要系統J2EE Server、應用、非關鍵系統數據庫運行在x86虛擬化環境上;同時又在前兩年實現了x86虛擬化環境向統一私有云平臺的轉換。因此這次將核心數據庫遷移到基于x86的私有云平臺上是一個合乎發展進程的必然事件。
四川電信分公司核心數據庫遷移現場
在梁天健看來,使用虛擬機在滿足四川電信的業務需求上沒有任何問題。從可用性來說,自2010年以來,Oracle數據庫還沒有出現過由于虛擬機層面導致的問題;而對于性能,單純的虛擬化在I/O方面的確會有些損失,但帶來的影響并沒有足夠大到引起I/O不足的地步。
實際上,使用虛擬化平臺還有以下幾個明顯的好處:
1、實現標準化管理:在某些大型企業管理里面,數據庫的部署可以說是五花八門,跟部署人員的水平和習慣有很大關系,安裝目錄、版本、補丁、系統參數以及部署不當導致問題和隱患的情況是非常多的。使用虛擬機模板來部署,版本、補丁等實現了標準化,這是系統運維和管理標準化的基礎。高
2、可用性:對于物理機,特別是小型機,如果機器故障或者是停機維護,時間是相對較長的。而對于虛擬機來說,換一臺資源池中的其他機器來啟動虛擬機,停機時間相對可控、較短。對于重要系統,虛擬機本身(主要操作系統)也是可以備份的。將一個穩定系統備份之后,即使發生rm /這樣的錯誤命令,恢復起來也比重裝或從磁帶恢復要快。
3、硬件升級更為方便:如果物理機的性能不足以支持系統,或者機器老化,再或者購置了新的機器用來代替原來的設備,只需要將虛擬機在新的機器上運行即可。遷移十分方便快捷。
4、集中管理,集中監控,提高運維效率:虛擬化平臺本身帶有集中管理和監控功能,這對大型企業環境來說是非常具有價值的。 著手去掉小型機
梁天健表示,對于電信運營商、銀行這種大型企業來說,系統的可用性是運維部門KPI的重要組成部分,一個系統的運行穩定與否,通常是與系統的負荷有關。比如一些BUG(包括操作系統的BUG)就是在高并發高負載下出現的。越大型的系統,影響可用性的因素就越多。對于IT部門來說,可能會面臨著這樣的情況:辛辛苦苦幾個月,熬了幾個通宵,結果系統中斷時間過長,抹殺了所有的努力。因此到目前為止,在國內電信、銀行等企業將核心業務系統的Oracle數據庫遷移到以x86為核心的虛擬化平臺上,這樣的案例是非常少見的,而四川電信就是其中之一。
據了解,為了保證整個遷移過程的順利進行,四川電信從去年就啟動了項目計劃。同時為了確保遷移后系統的平穩運行,實施優化先行的策略,四川電信還引入了專業合作伙伴對CRM系統提供優化建議,使得一期優化整體性能提升超過了30%。
“實際上因為之前已經有大量的x86虛擬機平臺的實施及維護經驗,因此單純將數據庫遷移到虛擬化平臺并不是我們最擔心的,”梁天健說:“由于此次遷移還同時將Oracle數據庫的大版本升級到11g,應用上對于新版本數據庫能否適應,是否會有意外的性能波動,才是最需要關注的難點,這也是我們需要聘請一些專業合作伙伴的原因,他們在項目中提供了專業咨詢并負責升級遷移過程中應用系統的性能評估、優化及保障,非常感謝這些合作伙伴的辛苦付出。”
據了解,由于這是國內首次將電信級核心數據庫遷移到虛擬化平臺中,四川電信將CRM數據庫的升級遷移分成了兩個大區依次進行,在今年的5月初先進行了A大區的遷移,然后經過一段運行考驗,在5月下旬繼續進行了B大區的遷移。目前整個CRM系統已經在x86虛擬環境中穩定運行了一個多月,事實證明四川電信這次遷移升級是完全正確的選擇。
遷移前后的性能對比
四川電信運維部經理李華是本次遷移升級項目的現場指揮,據他介紹,本次遷移項目開始之前,四川電信在IBM P595小型機上運行Oracle RAC集群,P595是Power 5時代最高端的IBM小型機,即使滿配CPU才64核,而由于成本問題,最初配置的CPU不足,同樣每個節點內存只有近200GB,而現在每個節點最高連接數為8000,同時由于主機上一些遺留配置問題,結果只能給數據庫分配不到50GB的緩存,這就導致了高端設備配置低端化,資源緊張。
在遷移之后,兩節點的Oracle RAC升級為11.2.0.3,運行在以PC服務器為物理機的虛擬化環境中,每個節點內存為256GB(物理機實際有1TB內存),給數據庫分配了128GB SGA,內存剩余量還很多(80G以上),這就是開放式架構的低端設備配置高端化,性價比相當優越。
由于低端設備高配化,在業務高峰期,新系統中兩個節點的CPU利用率都不超過20%,即使一個節點發生故障宕機,由單一節點來負載所有業務,CPU也不會超過40%。而原運行在P595小型機上的系統,在業務高峰期單個節點的CPU占用通常會在50%以上,如果高峰期一臺機器意外宕機,實際上剩余單機面臨的壓力會十分巨大。
最后如果再從性價比來看,這樣一臺幾乎頂配的x86 PC服務器的價格遠遠低于同等計算能力的IBM小型機,價格大約在30萬人民幣左右,而后者的價格通常都是數百萬。
對于更詳細的性能對比,TechTarget記者還采訪到了負責本次遷移升級項目系統優化及性能保障的云和恩墨公司西區總經理熊軍,他向我們展示了兩幅性能圖表:其中CPU Time技術指標是衡量一個數據庫系統在CPU上花費了多少時間,在同等業務負載的情況下,如果CPU Time越低則意味著CPU的使用效率越高。從遷移前后兩幅圖標的對比可以看出,遷移前CPU Time的平均使用為10左右,而遷移后降為平均7.5,也就意味著CPU效率提升大約25%。這樣的數字再參考上面的硬件價格比,實際上是以更低廉的價格換來了更卓越的性能。
圖一 遷移前CPU性能圖表
圖二 遷移后CPU性能圖表
“去O”不如“減O”
在成功去掉小型機之后,TechTarget記者還向梁天健詢問了關于去E(EMC存儲)和去O(Oracle數據庫)的話題。
梁天健認為,四川電信的私有云平臺是架構在高端存儲上的,去E實際上成為一個難題。不過在去E之前,對于IT基礎架構還有其他可以做的事,比如將網絡從1Gbps升級到10Gbps,以適應數據爆炸對網絡帶寬越來越多的要求。如果要去E,那么存儲虛擬化、軟件定義存儲也許是可以實施的方向。而如何用好SSD硬盤來提升存儲的IO能力比去E更重要。目前四川電信已經在這個層面開始探討,計劃孕育下一輪存儲層面的技術變革。
再談到去O,梁天健的態度很明確,從技術層面來講,目前很多企業連Oracle這樣具有高可用、高性能、易用性強的數據庫都沒有用好,去O根本無從談起。對于這些企業,他們的首要目標應該是提升運維和開發水平,而不是為了去而去。真要談去O,可能MySQL會是首選。而MySQL數據庫在復雜SQL、數據存儲等方面都有著不少的缺點。從成本上說,除了國有幾大行和中移動等少數“土豪”之外,其他企業在Oracle上所花的成本相對于其他投入來說,并不算高。如果真換成MySQL,每年所花的成本可能會遠遠大于使用Oracle的成本。
那么是不是在數據庫層面,傳統企業已經沒有可以改善的余地了?梁天健認為答案是否定的:“我們不去O,但是我們可以嘗試減O。何謂‘減O’?就是將假設現在的200個獨立的Oracle數據庫整合到20個更大型的Oracle數據庫中去。”這樣做的好處是顯而易見的:
1、減少硬件開銷,合理利用硬件資源池。很多獨立的Oracle數據庫系統只使用了5%的CPU,只用了20%的內存,只用了幾十GB甚至幾個GB的存儲,但是它用不到的硬件資源也無法簡單地分享給其它系統使用。整合在一起,正可以高效利用所有硬件資源。
2、減少管理困難度。管理數百個獨立的Oracle數據庫在復雜度上超過管理幾十個數據庫。
當然,“減O”同樣具有風險,實施需謹慎。梁天健認為,以前一個系統出現故障,也就是影響這一個系統,但是整合在一起,一個系統的數據庫占用了100%的I/O,會導致其它的系統也同樣受到干擾。這需要專業的資源控制來盡量降低風險。此外,多個數據庫整合在一起,新的硬件到底該具備怎樣的計算能力、存儲能力?性能容量規劃具體該如何計算?這需要更加專業的規劃設計才能做到。對于這樣的方案,梁天健稱四川電信還會繼續大力發展跟第三方專業服務商的合作,以期在不遠的將來可以開始逐步實現“減O”工程。
“總而言之,到底要不要去IOE,是由企業IT平臺架構和業務發展需要決定,而不是一場運動,企業切忌盲目跟風。”梁天健說。