聯(lián)想基于OpenStack的高可用企業(yè)云平臺實(shí)踐
在走向移動化、社交網(wǎng)絡(luò)的過程中,無論傳統(tǒng)的PC與手機(jī)都經(jīng)歷著激烈的競爭及快速的技術(shù)轉(zhuǎn)變。作為國內(nèi)IT標(biāo)桿企業(yè)的聯(lián)想集團(tuán),在面臨市場的飛速演變與競爭中提出——從產(chǎn)品向用戶轉(zhuǎn)型的新戰(zhàn)略。而只有可快速迭代、彈性擴(kuò)展的企業(yè)云平臺才能夠支撐聯(lián)想這種業(yè)務(wù)創(chuàng)新的需求。經(jīng)過慎重研究與評估后,聯(lián)想IT選擇了基于OpenStack承載其“互聯(lián)網(wǎng)”戰(zhàn)略的企業(yè)云平臺。經(jīng)過半年多的實(shí)踐,已經(jīng)建設(shè)成為規(guī)模超過3000 Core的OpenStack生產(chǎn)級環(huán)境,數(shù)據(jù)以***10TB/天的速度快速增長,并計(jì)劃在年內(nèi)將10%~20% IT負(fù)載遷移到云環(huán)境。這讓聯(lián)想走在了國內(nèi)企業(yè)級OpenStack的實(shí)踐的前列。
轉(zhuǎn)型與云選型
以往的聯(lián)想的內(nèi)部IT主要面向大型客戶以及渠道為主,系統(tǒng)架構(gòu)以包括IBM Power小機(jī)、AIX、PowerVM、DB2及近年普遍使用的VMware虛擬化的傳統(tǒng)IT架構(gòu)構(gòu)建而成。在向互聯(lián)網(wǎng)企業(yè)轉(zhuǎn)型的過程中,首先在用戶數(shù)與交易量就遠(yuǎn)遠(yuǎn)無法支撐全新的B2C的業(yè)務(wù)。其次在成本方面,聯(lián)想以往的IT架構(gòu)是大規(guī)模采用商用化的解決方案,可靠但不便擴(kuò)展且成本昂貴。
此外,對于IT團(tuán)隊(duì)的效率與安全合規(guī)性,傳統(tǒng)的IT架構(gòu)仍然無法支撐起聯(lián)想面向電商與移動新業(yè)務(wù)轉(zhuǎn)型。2015年,聯(lián)想IT進(jìn)入到基礎(chǔ)架構(gòu)再造的階段——需要采用新的云計(jì)算平臺來支撐新的業(yè)務(wù)。
在選型過程中,聯(lián)想對主流的x86虛擬化技術(shù)、私有云平臺、公有云進(jìn)行了全面分析與對比后,聯(lián)想從穩(wěn)定性、可用性、開放性、以及生態(tài)系統(tǒng)的全面與活躍度等因素考慮,最終認(rèn)為OpenStack云平臺技術(shù)可以滿足聯(lián)想的企業(yè)需求,聯(lián)想確定采用OpenStack作為其業(yè)務(wù)持續(xù)創(chuàng)新的基礎(chǔ)云平臺。
在OpenStack架構(gòu)設(shè)計(jì)之初,聯(lián)想就考慮了容災(zāi)方案,包括虛機(jī)、云硬盤、數(shù)據(jù)庫等,確保在發(fā)生故障時可以迅速切換,確保業(yè)務(wù)的高可靠性。
高可用的架構(gòu)設(shè)計(jì)
在邏輯架構(gòu)上,聯(lián)想企業(yè)云平臺完全通過軟件定義環(huán)境的方式來管理基礎(chǔ)架構(gòu),底層采用x86服務(wù)器以及10Gb網(wǎng)絡(luò),引入互聯(lián)網(wǎng)式的監(jiān)控運(yùn)維解決方案,并用OpenStack平臺來管理所有資源。
聯(lián)想企業(yè)云邏輯架構(gòu)
出于高可用角度、***化的提升云平臺的系統(tǒng)效率,聯(lián)想設(shè)計(jì)了云平臺的物理架構(gòu),并采用高配置的服務(wù)器來構(gòu)成計(jì)算、存儲與網(wǎng)絡(luò)一體的超融合系統(tǒng),通過OpenStack整合為統(tǒng)一的資源池,將計(jì)算節(jié)點(diǎn)和存儲節(jié)點(diǎn)放在同一個物理節(jié)點(diǎn)上。
聯(lián)想企業(yè)云物理架構(gòu)
硬件層面,雙路的System X3650服務(wù)器,以及四路的ThinkServer RQ940,成為了聯(lián)想企業(yè)云平臺的硬件支柱。每節(jié)點(diǎn)用5個SSD硬盤與12個SAS硬盤來構(gòu)成存儲模塊;SSD不僅用來做存儲的緩沖,也是高性能存儲池資源;并通過VM訪問分布式存儲,來實(shí)現(xiàn)系統(tǒng)的高可用性。
為了將OpenStack提升至企業(yè)級服務(wù)水平,我們在計(jì)算、網(wǎng)絡(luò)、存儲等方面解決了很多挑戰(zhàn)。
計(jì)算
在計(jì)算方面,聯(lián)想采用高密度的虛機(jī)部署方式,底層基于KVM 虛擬化技術(shù),通過多種優(yōu)化手段,發(fā)揮物理機(jī)***性能,在計(jì)算存儲融合架構(gòu)下對CPU,內(nèi)存等硬件資源做隔離。最終實(shí)現(xiàn)在每臺雙路CPU計(jì)算節(jié)點(diǎn)上保證50+虛機(jī)仍能平穩(wěn)高效運(yùn)行。
另外,在云環(huán)境里面一般提倡應(yīng)用程序自身高可用來應(yīng)對硬件故障,但仍然有一些應(yīng)用屬于傳統(tǒng)應(yīng)用,對于單個主機(jī)的可用性還有要求。對于不能做高可用的傳統(tǒng)應(yīng)用,聯(lián)想通過Compute HA技術(shù)實(shí)現(xiàn)了計(jì)算節(jié)點(diǎn)的高可用,通過多種檢測手段判定計(jì)算結(jié)點(diǎn)是否發(fā)生故障,將故障物理機(jī)上的虛機(jī)遷到其它可用的物理機(jī)上,整個過程無人值守,***程度減少因?yàn)槲锢頇C(jī)故障導(dǎo)致的業(yè)務(wù)中斷。
網(wǎng)絡(luò)
- 網(wǎng)絡(luò)隔離
使用不同網(wǎng)卡,不同交換機(jī)或不同VLAN將各種網(wǎng)絡(luò)隔離,如:單獨(dú)的OpenStack管理網(wǎng),虛機(jī)生產(chǎn)網(wǎng)絡(luò),存儲網(wǎng)絡(luò),公網(wǎng),PXE網(wǎng)絡(luò)。避免網(wǎng)絡(luò)相互干擾,達(dá)到提高整體帶寬和更好監(jiān)控網(wǎng)絡(luò)的目的。
聯(lián)想OpenStack企業(yè)云平臺網(wǎng)絡(luò)架構(gòu)
- 多Public網(wǎng)絡(luò)
通過多個Public網(wǎng)絡(luò)實(shí)現(xiàn)網(wǎng)絡(luò)靈活性,便于管理安全策略。比如聯(lián)通Public網(wǎng)絡(luò),電信Public網(wǎng)絡(luò),辦公Public網(wǎng)絡(luò)。
- 網(wǎng)絡(luò)及優(yōu)化
使用VLAN網(wǎng)絡(luò)模式,與傳統(tǒng)數(shù)據(jù)中心網(wǎng)絡(luò)更好的整合,通過優(yōu)化VLAN數(shù)據(jù)包處理,達(dá)到很好的網(wǎng)絡(luò)數(shù)據(jù)包處理能力,讓虛機(jī)網(wǎng)絡(luò)帶寬接近物理網(wǎng)絡(luò)帶寬。
- 雙網(wǎng)卡綁定,多交換機(jī)
通過雙網(wǎng)卡綁定到不同的交換機(jī)達(dá)到物理網(wǎng)絡(luò)的高可用。
- 網(wǎng)絡(luò)節(jié)點(diǎn)HA
通過多個網(wǎng)絡(luò)節(jié)點(diǎn),實(shí)現(xiàn)公網(wǎng)的負(fù)載均衡及HA,實(shí)現(xiàn)高性能和高可用, 網(wǎng)絡(luò)節(jié)點(diǎn)使用Router級別的Active/Standby方式實(shí)現(xiàn)HA,使用獨(dú)立的網(wǎng)絡(luò)路由監(jiān)控服務(wù)確保網(wǎng)絡(luò)HA的穩(wěn)定性。
#p#
存儲
聯(lián)想OpenStack云平臺采用Ceph作為統(tǒng)一存儲后端,其中Glance鏡像、Nova虛擬機(jī)系統(tǒng)盤、Cinder云硬盤的數(shù)據(jù)存儲由Ceph RBD提供,利用Ceph的Copy on Write特性,通過修改OpenStack代碼,可做到秒級虛擬機(jī)部署。
Ceph 作為統(tǒng)一存儲后端,其性能無疑是企業(yè)核心應(yīng)用是否虛擬化、云化的關(guān)鍵指標(biāo)之一。在計(jì)算存儲共同運(yùn)行的超融合部署架構(gòu)中,存儲性能調(diào)優(yōu)既要***化存儲性能、又要保證計(jì)算和存儲資源的隔離,保證系統(tǒng)的穩(wěn)定性。針對如下圖所示的整個IO棧,聯(lián)想從下往上,對各層進(jìn)行了優(yōu)化:
- 網(wǎng)絡(luò)方面
打開Jumbo幀,提高數(shù)據(jù)傳輸效率;同時可采用10Gb以太網(wǎng)絡(luò)來承載Ceph Cluster網(wǎng)絡(luò)的流量,提高Ceph數(shù)據(jù)復(fù)制效率。
- 性能方面
利用SSD固態(tài)盤作為Ceph OSD日志盤來提高整個集群IO性能,來達(dá)到關(guān)鍵業(yè)務(wù)(如電商系統(tǒng)的數(shù)據(jù)庫業(yè)務(wù)等)對性能的要求,做到性能和成本的***平衡點(diǎn)。SSD 具有低功耗,響應(yīng)時間短,高IOPS,高吞吐量的特點(diǎn)。在Ceph的日志系統(tǒng),對應(yīng)的是多線程訪問,采用SSD來代替機(jī)械硬盤,可以充分發(fā)揮,SSD隨機(jī)讀寫響應(yīng)時間短,高IO吞吐量的特點(diǎn)。通過調(diào)整IO調(diào)度策略,使之更適合于SSD盤,降低了整個IO的延時。
- 合理規(guī)劃
根據(jù)服務(wù)器上虛擬機(jī)的密度,合理規(guī)劃超融合節(jié)點(diǎn)下Ceph OSD的數(shù)量,并為OSD預(yù)分配CPU和內(nèi)存等資源,同時,為保證系統(tǒng)穩(wěn)定性,采用cgroup、taskset等工具對QEMU-KVM和Ceph OSD進(jìn)行資源隔離。
- 參數(shù)調(diào)優(yōu)
Ceph參數(shù)調(diào)優(yōu)方面,通過調(diào)整Journal,F(xiàn)ileStore的默認(rèn)隊(duì)列、OSD的OP線程數(shù)等參數(shù),可有效提高性能。其它更多調(diào)優(yōu)參數(shù),可通過迭代測試,找到當(dāng)前硬件環(huán)境的***參數(shù)。
- 數(shù)據(jù)高可用
數(shù)據(jù)高可用方面,除了OpenStack已有的數(shù)據(jù)保護(hù)措施之外,聯(lián)想未來規(guī)劃中的兩地三中心也做了數(shù)據(jù)災(zāi)備方案的準(zhǔn)備:
通過專有的低延遲的光纖專線,數(shù)據(jù)可同步存儲在同城備份中心,可異步存儲在異地災(zāi)備中心,***限度保證數(shù)據(jù)安全性。
AD集成
此外,聯(lián)想還將自身的業(yè)務(wù)需求融入到了OpenStack企業(yè)云平臺中,作為一個擁有數(shù)萬名員工的大企業(yè),需要通過AD活動目錄來進(jìn)行認(rèn)證,員工就不用單獨(dú)再建用戶、記口令等;通過協(xié)作方的定制開發(fā),聯(lián)想已將AD功能融入OpenStack企業(yè)云平臺之中。
應(yīng)用成果
在構(gòu)建好整個OpenStack企業(yè)云平臺之后,聯(lián)想面向“互聯(lián)網(wǎng)”轉(zhuǎn)型的關(guān)鍵才得以展開,電子商務(wù)、大數(shù)據(jù)分析、IM、手機(jī)在線業(yè)務(wù)支撐等互聯(lián)網(wǎng)業(yè)務(wù),從測試到生產(chǎn)真正的由聯(lián)想企業(yè)云平臺支撐起來。從創(chuàng)新應(yīng)用的測試團(tuán)隊(duì)反饋來看,聯(lián)想企業(yè)云平臺目前運(yùn)行良好。
在 OpenStack企業(yè)云平臺的建設(shè)過程中,聯(lián)想選擇了國內(nèi)的OpenStack公司EasyStack提供專業(yè)咨詢與服務(wù),幫助聯(lián)想建設(shè)初期平臺,培養(yǎng)了OpenStack專家。對聯(lián)想而言,選擇OpenStack合作伙伴的主要考慮因素,就是對社區(qū)的兼容和不斷的升級,以及企業(yè)級服務(wù)經(jīng)驗(yàn)。
作者:聯(lián)想私有云架構(gòu)師 趙明