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