一、天河二號概況在世界超算Top500排名中取得四連冠的天河二號已經(jīng)于2014年初部署在國家超算廣州中心并對外提供服務(wù)。與已有超級計算機(jī)系統(tǒng)的一個重要區(qū)別是,天河二號不僅僅定位在高性能計算,而是通過異構(gòu)多態(tài)的體系結(jié)構(gòu)設(shè)計與實現(xiàn),期望能夠為廣州市、廣東省甚至更大范圍的政府部門和企事業(yè)單位的信息化建設(shè)和大數(shù)據(jù)處理提供強(qiáng)有力的資源支撐。 天河二號的目標(biāo)定位 目前,天河二號的目標(biāo)定位為:滿足高性能計算、高吞吐率信息服務(wù)和海量數(shù)據(jù)處理等多領(lǐng)域復(fù)雜應(yīng)用需求,具體信息如上圖所示。 與此同時,天河二號及輔助設(shè)施的整體投資是24個億,是屬于異構(gòu)多態(tài)體系結(jié)構(gòu),系統(tǒng)有著近20000個節(jié)點:雙路12核E5-2600系列處理器,64GB內(nèi)存、定制的內(nèi)部高速互聯(lián)(224 Gbps)、2個GE、總存儲容量12.4 PB。 由于業(yè)務(wù)需求差異,以往的面向HPC的軟件棧已經(jīng)不能滿足多種應(yīng)用的需要,所以我們采用了云的方式來支持新的業(yè)務(wù),將廣州超算中心打造成支撐智慧城市建設(shè)的公共基礎(chǔ)設(shè)施,服務(wù)于電子政務(wù)建設(shè)、企業(yè)資源租賃、海量信息處理等信息化建設(shè)發(fā)展的多個方面。這是與傳統(tǒng)科學(xué)計算完全不同的應(yīng)用模式,主要的挑戰(zhàn)如下:
二、天河二號上OpenStack的部署及優(yōu)化我們支持的云業(yè)務(wù),首先是黨政機(jī)關(guān),提供私有云部署、云安全解決方案、應(yīng)用遷移、培訓(xùn)支持,提高辦公效率和降低能耗;其次是中小企業(yè),提供資源租賃,私有云部署、混合云部署、安全增強(qiáng),使用戶關(guān)注自身核心業(yè)務(wù);最后是其他行業(yè)用戶,提供私有云部署、混合云部署、應(yīng)用遷移、培訓(xùn)支持,支撐用戶業(yè)務(wù)創(chuàng)新。 我們目前用于支撐業(yè)務(wù)的環(huán)境主要基于OpenStack的IceHouse和Juno兩個版本,后面會逐漸遷移到Juno版。需要注意的是,我們不是簡單的把原生的OpenStack拿過來部署,而是根據(jù)應(yīng)用的需求以及實際的硬件環(huán)境,對OpenStack進(jìn)行了大量的定制和優(yōu)化,這些工作最終形成了我們的企業(yè)級解決方案KylinCloud云平臺。 天河二號對OpenStack的主要增強(qiáng) 主要的增強(qiáng)優(yōu)化包括:重新定義了一套使用流程,全新改寫UI,擴(kuò)展細(xì)粒度配額管理,支持端口轉(zhuǎn)發(fā)。因為有上萬臺機(jī)器及IP是擴(kuò)展的,所以做了相應(yīng)的映射。在調(diào)度方面,支持QoS保障以及擴(kuò)展了多種調(diào)度策略。另外增加了計費(fèi)功能,優(yōu)化監(jiān)測性能。 天河二號OpenStack集群網(wǎng)絡(luò)布局 我們規(guī)模確實比較大,所以選擇了這樣的網(wǎng)絡(luò)布局:50個機(jī)柜、6400個節(jié)點,兩個柜的控制節(jié)點設(shè)置在同一個WLAN,以Cell為調(diào)度單位,管理網(wǎng)絡(luò)/業(yè)務(wù)網(wǎng)絡(luò)分離和基于以太網(wǎng)(部分子云基于TH-NI)。在虛擬主機(jī)方面:提供基于KVM的全虛擬化、基于LXC/Docker的輕量級虛擬化。虛擬網(wǎng)絡(luò)是基于OpenvSwitch,支持多種虛擬網(wǎng)絡(luò)類型。我們也采用了分布式高性能全局塊存儲,基于Ceph構(gòu)建,所有節(jié)點形成一個全局的分布式存儲池,基于TH-NI高速網(wǎng),用作虛擬鏡像、邏輯卷和運(yùn)行實例的統(tǒng)一存儲后端,裸容量6.4PB;IP-SAN存儲:裸容量1PB,萬兆接入云平臺,用于集中的文件存儲或備份;FC-SAN存儲:裸容量500TB,用于高I/O負(fù)載應(yīng)用支持。 另外,在平臺參數(shù)方面我們是這樣優(yōu)化的,主要是調(diào)整數(shù)據(jù)庫、消息隊列的參數(shù)閾值;KVM參數(shù)優(yōu)化:VHostNet、KSM;物理機(jī)OS的虛存優(yōu)化:swappiness;Nova、Neutron等關(guān)鍵服務(wù)的參數(shù)優(yōu)化;開啟服務(wù)的多進(jìn)程;Ceph OSD進(jìn)程優(yōu)化。 負(fù)載均衡和高可用優(yōu)化 為了實現(xiàn)服務(wù)的負(fù)載均衡和高可用,主要做了這些部署與優(yōu)化:控制服務(wù)采用LVS+Keeplived,MySQL集群,RabbitMQ集群,組件之間的數(shù)據(jù)庫、消息隊列的分離,單獨的Neutron集群及L3-Agent高可用,單獨的Cinder-Volume集群。在實現(xiàn)虛擬機(jī)高可用方面,以16個物理節(jié)點為單位構(gòu)建高可用區(qū)域,通過監(jiān)控物理節(jié)點和虛擬機(jī)的狀態(tài),在狀態(tài)發(fā)生異常時及時啟動新的虛擬機(jī)支撐應(yīng)用的運(yùn)行,也定制了靈活的觸發(fā)策略。 軟件動態(tài)加載 另外我們是基于boot from volume和rbd clone做的軟件加載,方便用戶快速的使用需要的應(yīng)用軟件,不必在啟動虛擬機(jī)后再安裝,我們提供了可加載的應(yīng)用軟件列表,以及用戶啟動VM時,勾選需要加載的應(yīng)用軟件,啟動虛擬機(jī)后即可使用軟件。比如你在上圖基礎(chǔ)上怎么做相應(yīng)不同的軟件支持,如果每個軟件都要做一個Image,相對來說開銷比較大,我們就做一個Image的動態(tài)拼合加載,做一個干凈的Base Image,再加上一個增盤,當(dāng)用戶在需要MySQL的時候,就加上一個增量Image,想用Oracle時加載另一個增量Image。 在開發(fā)的時候就在想,如果想要做成一個平臺或者對外提供服務(wù)的平臺的話,運(yùn)維方面的工作不可少,那就需要一個大規(guī)模自動化的運(yùn)維工具,實現(xiàn)對狀態(tài)的預(yù)見,對故障有一個收集和判斷。目前來說,我們的工具主要能夠?qū)崿F(xiàn)虛擬網(wǎng)絡(luò)的帶寬控制,云平臺及支撐組建的健康狀態(tài)監(jiān)測,基于日志分析的故障定位于分析,物理機(jī)與虛擬機(jī)的監(jiān)控與告警,安全補(bǔ)丁與漏洞,Ceph的RBD離線恢復(fù)工具,特性功能Backport與小版本更新。 三、應(yīng)用適配電子政務(wù)類應(yīng)用主要目標(biāo)是,基于天河二號主機(jī)系統(tǒng)的硬件資源,與廣州市電子政務(wù)中心及相關(guān)企事業(yè)合作,為各類電子政務(wù)應(yīng)用提供彈性計算、存儲和網(wǎng)絡(luò)資源以及安全、可靠的服務(wù)平臺。首先就是電子政務(wù)類應(yīng)用,目前廣東省省級教育數(shù)據(jù)中心已上線四個信息管理系統(tǒng),今年年內(nèi)上線14個系統(tǒng),不久的未來,將成為廣州市電子政務(wù)的主要運(yùn)載平臺。 在我們實施時需要做到:遷移已有多種系統(tǒng)和平臺軟件:Redhat/CentOS、Oracle/WebLogic等其他第三方公司開發(fā)的軟件,已有VMWare平臺上部署系統(tǒng)的遷移,數(shù)據(jù)的批量導(dǎo)入,物理/邏輯隔離,服務(wù)的穩(wěn)定性、持續(xù)性,應(yīng)對突發(fā)訪問,與其他服務(wù)提供商之間的容災(zāi)備份。我們采取了這些措施與優(yōu)化:P2V、V2V鏡像轉(zhuǎn)換,負(fù)載感知的虛擬機(jī)規(guī)模自動伸縮;此外,我們才采用了基于Ceph RBD卷的虛擬機(jī)和虛擬卷備份,做到每天一次增備,每周一次全備,同時完善虛擬機(jī)高可用機(jī)制,保證業(yè)務(wù)持續(xù)性。 渲染類應(yīng)用面向各文化科技公司和工作室的業(yè)務(wù)需求,基于天河二號為動漫渲染的復(fù)雜場景和特效提供強(qiáng)大的計算能力支撐,構(gòu)建動漫渲染云,完成高質(zhì)量的渲染任務(wù)和高分辨率的真實感渲染,縮短場景的渲染周期,提高動漫作品的制作效率。目前,某文化科技集團(tuán)已進(jìn)入其生產(chǎn)線,數(shù)量超過千節(jié)點規(guī)模,同時另外一個面向互聯(lián)網(wǎng)的渲染云平臺也開始提供互聯(lián)網(wǎng)服務(wù)。 這就使得單個虛擬機(jī)性能要求高;針對渲染任務(wù)集群的網(wǎng)絡(luò)優(yōu)化,提供高帶寬、低延遲的網(wǎng)絡(luò)傳輸;渲染開始、結(jié)束時有大量的文件讀寫操作,需要對磁盤IO進(jìn)行優(yōu)化;滿足渲染中數(shù)據(jù)存取頻繁的要求;彈性的資源擴(kuò)充機(jī)制,滿足不同渲染任務(wù)對計算能力的不同需求;廣泛的平臺支持,支持多種渲染平臺和軟件。所以,我們限制渲染集群的規(guī)模,減輕共享讀寫帶來的IO瓶頸;使用KSM,降低內(nèi)存消耗;物理機(jī)超線(HT);根據(jù)實際效果調(diào)整內(nèi)存超售比例;調(diào)整物理機(jī)的open file limit;在渲染過程中有大量的(?。┪募x寫;優(yōu)化虛擬機(jī)的網(wǎng)絡(luò)參數(shù),提高帶寬等。 對HPC類應(yīng)用的支持將云計算的優(yōu)勢引入到傳統(tǒng)的高性能計算領(lǐng)域,使用目前成熟的容器技術(shù)為用戶提供可定制、隔離性強(qiáng)、可彈性伸縮、界面友好的HPC集群。目前,諸多HPC應(yīng)用的CPU性能折損在1%以內(nèi)。同時也支持了CPU/MIC異構(gòu)并行,達(dá)到萬級計算核心。 為了做到這些,就要求:接近物理機(jī)的性能,充分利用天河節(jié)點的加速部件和高速網(wǎng),拉通HPC軟件棧,實現(xiàn)全系統(tǒng)資源統(tǒng)一管理,更好的資源共享與隔離,可定制的軟件環(huán)境,滿足彈性的資源使用需求,在一定配額下用戶自助申請資源。所以,我們使用基于Docker的輕量級虛擬化:基于現(xiàn)有HPC環(huán)境制作鏡像,整合HPC軟件棧;虛擬機(jī)直接模式訪問MIC加速器和TH-NI高速網(wǎng);虛擬機(jī)直接訪問主機(jī)掛載的Lustre共享存儲。另外就是全系統(tǒng)計算資源的混合調(diào)度:根據(jù)任務(wù)屬性判斷Host,以及計算節(jié)點角色的按需切換。 至于為什么我會想用Docker,從操作系統(tǒng)角度上看,說白了它只是虛擬化的進(jìn)程空間,性能折損低。具體而言,我是用了Docker的Container功能,因為較底層的LXC相比,它具有一定的高層管理工具,把OpenStack和Container做了一個綁定,將數(shù)據(jù)庫和消息隊列本身的連接數(shù)和使用內(nèi)存數(shù)放大,以及網(wǎng)絡(luò)和KVM開關(guān)都打開。 四、社區(qū)貢獻(xiàn)在以上部署實踐的基礎(chǔ)上,天河二號的云平臺研發(fā)團(tuán)隊深入到OpenStack源代碼內(nèi)部,圍繞遇到的問題和需求開發(fā)了一系列新特性和大量的Bug修復(fù),并積極反饋給社區(qū)。2012年以來團(tuán)隊向社區(qū)貢獻(xiàn)了大量代碼,并在最新的Juno核心組件的代碼貢獻(xiàn)(commit數(shù)目)位居國內(nèi)第二位。關(guān)于Ceph我們也做了一些工作,向Ceph社區(qū)提交100+commits,在最新的v0.93版本中,團(tuán)隊代碼貢獻(xiàn)排名第2,個人排名第4。 五、基于OpenStack打造高效安全的企業(yè)云服務(wù)平臺圍繞著充分發(fā)揮天河二號的性能優(yōu)勢、為中小企業(yè)提供安全、高可用、彈性的高品質(zhì)服務(wù)這一目標(biāo),團(tuán)隊基于OpenStack進(jìn)行了一系列深入的產(chǎn)品化定制與改造,形成了獨立的云服務(wù)解決方案KylinCloud─麒麟云平臺。麒麟云平臺采用互聯(lián)網(wǎng)自助服務(wù)的模式,面向企事業(yè)單位提供IaaS和PaaS層的IT服務(wù),希望成為小微企業(yè)的IT服務(wù)的承載平臺,并基于此構(gòu)建完善的IT服務(wù)生態(tài)環(huán)境。 KylinCloud云平臺架構(gòu) 目前,麒麟云平臺已經(jīng)穩(wěn)定運(yùn)行在天河二號上,在用戶單位的配合與支持下,多個成功應(yīng)用已經(jīng)驗證了其基于天河二號提供云服務(wù)的可用性、可靠性和可擴(kuò)展性,為超級計算機(jī)系統(tǒng)的應(yīng)用開拓了一條嶄新的途徑。 同時,研發(fā)團(tuán)隊也在努力構(gòu)建面向商用硬件的完整解決方案,面向不同用戶、不同應(yīng)用的需求,提供深度定制、安全、可靠的云服務(wù)。此外,麒麟云平臺正在與國內(nèi)著名安全系統(tǒng)解決方案提供商合作,對麒麟云平臺的系統(tǒng)安全、平臺安全和虛擬機(jī)安全進(jìn)行全方位的定制與增強(qiáng)。(責(zé)編/周建?。?/p> 作者簡介:譚郁松,博士,國防科學(xué)技術(shù)大學(xué)計算機(jī)學(xué)院/國家超級計算廣州中心研究員,天河系列超級計算機(jī)的骨干研究人員,一直從事操作系統(tǒng)和云計算等領(lǐng)域的研究工作,目前帶領(lǐng)團(tuán)隊從事超大規(guī)模云平臺和大數(shù)據(jù)處理平臺的研發(fā)。 |