您當(dāng)前的位置是:  首頁(yè) > 新聞 > 國(guó)際 >
 首頁(yè) > 新聞 > 國(guó)際 >

從Liberty到Ocata的OpenStack版本升級(jí)之旅

2017-11-14 10:46:16   作者:EasyStack   來源:開源云中文社區(qū)   評(píng)論:0  點(diǎn)擊:


  導(dǎo)讀
  在升級(jí)過程中,應(yīng)該盡量減少生產(chǎn)環(huán)境的中斷時(shí)間,因此需要優(yōu)化升級(jí)過程,平滑升級(jí)。
  澳大利亞悉尼當(dāng)?shù)貢r(shí)間11月6號(hào)上午9點(diǎn),第16屆OpenStack峰會(huì)在悉尼國(guó)際會(huì)議中心盛大開幕,來自全球52個(gè)國(guó)家2300余名與會(huì)者,將就以O(shè)penStack為核心的開放基礎(chǔ)架構(gòu)相關(guān)技術(shù)和商業(yè)實(shí)踐展開為期三天的討論,本文為第三天的討論內(nèi)容之一。
  OpenStack 每年發(fā)布兩個(gè)大版本,每個(gè)版本都包含了大量的新特性以及性能穩(wěn)定性的提升。
  升級(jí)的環(huán)境信息如下圖所示,節(jié)點(diǎn)分為管理節(jié)點(diǎn),控制節(jié)點(diǎn),計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)。節(jié)點(diǎn)的OpenStack服務(wù)都是容器化的,通過Ansible部署。
  從組件角度來看,OpenStack升級(jí)主要包含Package升級(jí);配置更新以及數(shù)據(jù)庫(kù)更新幾個(gè)主要步驟。縱向來看需要升級(jí)操作系統(tǒng)、Host Package、Ceph、基礎(chǔ)組件升級(jí)(Rabbitmq,galera)以及各OpenStack組件。采用的升級(jí)策略是逐個(gè)版本升級(jí),避免跨版本。
  OpenStack組件有比較類似的升級(jí)步驟;A(chǔ)組件如MySQL、Rabbitmq都有自己的備份和升級(jí)步驟。通過Ansible playbook進(jìn)行自動(dòng)化的升級(jí)和回滾。
  演示階段,首先演示了Neutron組件從Mitaka到Newton的升級(jí)。通過Ansible-playbook自動(dòng)化升級(jí)。 執(zhí)行了更新配置,Bootstrap新版本容器,Syncdb等操作。另外演示了Ocata到Newton的回滾。
  可以看到,容器化簡(jiǎn)化了升級(jí)和回滾過程,隔離了部分復(fù)雜性,使得整個(gè)過程更加可控。從直接主機(jī)部署,到容器化部署到基于容器編排引擎(如Kubernetes)的部署,OpenStack的升級(jí)與回滾會(huì)越來越容易和成熟。
  那些不為人知的故事
  現(xiàn)在OpenStack的應(yīng)用領(lǐng)域越來越廣泛,來自Platform9的工程師分享了他們?cè)贠penStack運(yùn)行科學(xué)計(jì)算任務(wù)的經(jīng)驗(yàn)。
  科學(xué)計(jì)算任務(wù)一般是計(jì)算密集的,對(duì)計(jì)算性能比較敏感。需要根據(jù)科學(xué)計(jì)算的特點(diǎn)來進(jìn)行性能調(diào)優(yōu)。
  一是可以給虛機(jī)Qemu-kvm進(jìn)程合理配置CPU affinity來達(dá)到更好的性能。目前Nova已經(jīng)有了CPU pinning的支持,在session ‘All you need to know about CPU pinning and how to make it work?’ 中,給出了非常詳細(xì)的解釋,從NUMA架構(gòu)基礎(chǔ),Kernel對(duì)CPU affinity的支持以及OpenStack對(duì)CPU pinning的支持都作了詳細(xì)的解釋和說明,大家可以從基金會(huì)的網(wǎng)站上找到session的詳細(xì)信息。
  而且,可以利用云的靈活性,根據(jù)計(jì)算負(fù)載進(jìn)行彈性自動(dòng)擴(kuò)展。這點(diǎn)可以利用Murano以及Heat提供的應(yīng)用編排和Murano的Auto-scaling機(jī)制來實(shí)現(xiàn)。
  為此,他們發(fā)起了一個(gè)新的項(xiàng)目Tasker,基于OpenStack為科學(xué)計(jì)算任務(wù)提供更好的管理靈活性以及更優(yōu)的性能。
  Tasker的架構(gòu)如下圖所示,基于Nova、Heat和Murano實(shí)現(xiàn)自動(dòng)化的編排以及性能優(yōu)化。
  Tasker主要實(shí)現(xiàn)了兩個(gè)概念,一是模板,定義了一個(gè)任務(wù)的藍(lán)圖,包括硬件要求,最大以及最小的主機(jī)數(shù)量等。另一個(gè)是應(yīng)用,及模板的實(shí)例化。Tasker會(huì)根據(jù)模板定義以及OpenStack環(huán)境資源情況盡可能創(chuàng)建最優(yōu)化的資源集合。
  Tasker項(xiàng)目是OpenStack適應(yīng)特定任務(wù)場(chǎng)景的一次有益嘗試,提供了解決特定場(chǎng)景下優(yōu)化性能的一種思路。同時(shí),我們也看到另外一種可能性就是在一定程度上改造現(xiàn)有的應(yīng)用和編排引擎,例如,提供一種擴(kuò)展機(jī)制,通過不同的插件可以為應(yīng)用引擎擴(kuò)展特定的領(lǐng)域知識(shí)。從而已一種更加輕量級(jí)的方式來進(jìn)行任務(wù)編排的優(yōu)化。
  感謝 EasyStack 工程師 發(fā)自悉尼現(xiàn)場(chǎng)的報(bào)道
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專題