連鴻鵬
(福建師范大學(xué)協(xié)和學(xué)院,福州 350117)
傳統(tǒng)IT架構(gòu)轉(zhuǎn)型云計(jì)算的因素中,適應(yīng)業(yè)務(wù)變化和改善IT生態(tài)是一個(gè)非常重要的驅(qū)動(dòng)因素,面對(duì)新興的云計(jì)算技術(shù)和目前雖然略顯臃腫但是滿足企業(yè)各種業(yè)務(wù)的傳統(tǒng)IT架構(gòu),轉(zhuǎn)型云計(jì)算平臺(tái)確實(shí)是一項(xiàng)值得商榷的事情。
針對(duì)傳統(tǒng)企業(yè)的顧慮和困惑,本文擬將通過基于OpenStack高可用實(shí)踐企業(yè)私有云桌面,對(duì)云計(jì)算技術(shù)在解決保障數(shù)據(jù)安全和滿足復(fù)雜多變的業(yè)務(wù)需求兩方面做出有益探索,旨在探索和展示云計(jì)算技術(shù)在解決傳統(tǒng)企業(yè)員工PC管理的優(yōu)勢(shì)。
Redhat的OpenStack高可用架構(gòu)方案主要有兩種,一種是基于Keepalived的高可用方案,另一種是基于HAproxy和Pacemaker的高可用方案。
與Redhat的OpenStack高可用架構(gòu)不同,Mariantis作為一家致力于OpenStack云計(jì)算環(huán)境落地的創(chuàng)業(yè)公司,Mariantis在架構(gòu)的設(shè)計(jì)上著眼于部署實(shí)施成本和后期運(yùn)維的壓力。所以,為了減輕后期運(yùn)維的壓力,Mariantis強(qiáng)烈建議使用高可用架構(gòu)。在OpenStack眾多的服務(wù)集下,如何防止因?yàn)閱吸c(diǎn)故障導(dǎo)致的服務(wù)宕機(jī)顯得尤為關(guān)鍵,至少三臺(tái)控制節(jié)點(diǎn)的要求有效地降低了單點(diǎn)故障可能引發(fā)的問題。在部署落地成本的考慮上,則建議采用計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)節(jié)點(diǎn)混合部署的架構(gòu),可以減輕項(xiàng)目實(shí)施落地環(huán)境對(duì)于硬件資源的需求。
基于OpenStack云計(jì)算環(huán)境的云桌面系統(tǒng),首先需要解決的是實(shí)例創(chuàng)建的問題,如果實(shí)例都無法創(chuàng)建,那么更談不上將實(shí)例以桌面的形式發(fā)布給用戶使用。在OpenStack中創(chuàng)建虛擬機(jī),是通過Nova組件提供服務(wù),虛擬機(jī)創(chuàng)建流程一次需要 經(jīng) 過 Nova-API、Conductor、Scheduler、Placement、Nova-Compute等主要服務(wù)。
本平臺(tái)參考攜程全球呼叫中心云桌面的架構(gòu)設(shè)計(jì),為了增大包括OpenStack基礎(chǔ)架構(gòu)在內(nèi)的云桌面體系的資源彈性,減小OpenStack云計(jì)算基礎(chǔ)設(shè)施與云桌面系統(tǒng)應(yīng)用的粘性。便于后期OpenStack云計(jì)算環(huán)境作為物理硬件設(shè)施為其他系統(tǒng)提供支持,也為云桌面系統(tǒng)的整體跨平臺(tái)可移植提供可能。擬采用松耦合的結(jié)構(gòu),以“搭積木”的方式設(shè)計(jì)整體框架,然后對(duì)OpenStack高可用系統(tǒng)和云桌面系統(tǒng)分別進(jìn)行詳細(xì)設(shè)計(jì)。
在整體框架中,實(shí)現(xiàn)OpenStack基礎(chǔ)架構(gòu)與云桌面系統(tǒng)解耦,OpenStack基礎(chǔ)架構(gòu)的致力于向云桌面系統(tǒng)提供實(shí)例,云桌面系統(tǒng)自身解決用戶登陸鑒權(quán)、桌面操作等功能。底層存儲(chǔ)通過Cinder對(duì)接開源統(tǒng)一存儲(chǔ)解決方案Ceph提供塊存儲(chǔ)服務(wù),為存儲(chǔ)高可用提供支持。整體架構(gòu)設(shè)計(jì)如下圖:
圖1 OpenStack高可用架構(gòu)設(shè)計(jì)圖
在本架構(gòu)設(shè)計(jì)中OpenStack集群有6個(gè)節(jié)點(diǎn),其中,有三個(gè)控制節(jié)點(diǎn),三個(gè)計(jì)算節(jié)點(diǎn),存儲(chǔ)節(jié)點(diǎn)和網(wǎng)絡(luò)節(jié)點(diǎn)分布在6個(gè)節(jié)點(diǎn)上。
(1)控制節(jié)點(diǎn):部署OpenStack API服務(wù)及各種功能組件如數(shù)據(jù)庫、消息隊(duì)列服務(wù)。
(2)計(jì)算節(jié)點(diǎn):部署Nova-compute和Neutron-Linuxbridge-Agent,該節(jié)點(diǎn)服務(wù)實(shí)例的創(chuàng)建。
(3)網(wǎng)絡(luò)節(jié)點(diǎn):項(xiàng)目中不設(shè)計(jì)獨(dú)立的網(wǎng)絡(luò)節(jié)點(diǎn),而是分布在整個(gè)集群的每個(gè)節(jié)點(diǎn)上。其中DHCP agent、L3 agent、Linux bridge agent、Metadata agent設(shè)計(jì)分布在控制節(jié)點(diǎn),Neutron-Linuxbridge-Agent設(shè)計(jì)分布在計(jì)算節(jié)點(diǎn)。
(4)存儲(chǔ)節(jié)點(diǎn):存儲(chǔ)節(jié)點(diǎn)也不設(shè)計(jì)獨(dú)立的節(jié)點(diǎn),分布在整個(gè)集群的每個(gè)節(jié)點(diǎn)上。而且,規(guī)劃存儲(chǔ)只提供塊存儲(chǔ)服務(wù)。其中,cinder-scheduler分布在控制節(jié)點(diǎn),cinder-volume分布在整個(gè)集群的所有節(jié)點(diǎn)。
關(guān)于OpenStack高可用的設(shè)計(jì),具體的擬通過HAproxy+Keepalived的方案提供高可用支持。
(1)HAproxy:HAproxy提供集群服務(wù)的負(fù)載均衡任務(wù),針對(duì)不同服務(wù)的特點(diǎn),設(shè)計(jì)不同的負(fù)載均衡策略,從而實(shí)現(xiàn)服務(wù)的服務(wù)的負(fù)載均衡效果。
(2)Keepalived:Keepalived作為軟件負(fù)載均衡器,同樣提供基于VRRP的LVS負(fù)載均衡器故障遷移能力。項(xiàng)目中擬設(shè)計(jì)admin-node為Active,node-1和node-2為Backup,同時(shí)利用Source Hash Scheduling算法,通過在靜態(tài)Hash表中查詢?cè)碔P地址以確當(dāng)請(qǐng)求轉(zhuǎn)發(fā)的后端服務(wù)器。
在OpenStack的集群高可用設(shè)計(jì)中,還遵循以下規(guī)則:
(1)能夠?qū)崿F(xiàn)Active/Active方案的,盡量選擇Active/Active方案。
(2)組件自身有HA方案的,耦合自身HA方案,不通過HAproxy的代理。
(3)有流量區(qū)分地規(guī)劃網(wǎng)絡(luò)。
本項(xiàng)目中云桌面與以往的硬件瘦客戶端或軟件客戶端不同的,本項(xiàng)目系統(tǒng)通過瀏覽器作為云桌面客戶端,瀏覽器通過訪問Web服務(wù)器獲取客戶端,并在Web服務(wù)器中鑒權(quán),云桌面系統(tǒng)與OpenStack集群之間主要通過Web服務(wù)器向OpenStack集群發(fā)送執(zhí)行命令實(shí)現(xiàn)對(duì)實(shí)例的操作。
本項(xiàng)目在研究分析國(guó)內(nèi)外云計(jì)算領(lǐng)域多年研究取得的寶貴經(jīng)驗(yàn)和知名廠商的高可用方案基礎(chǔ)上,結(jié)合實(shí)驗(yàn)室實(shí)際情況進(jìn)行合理的規(guī)劃設(shè)計(jì),利用有限的資源條件初步實(shí)現(xiàn)了基于OpenStack高可用的私有云桌面系統(tǒng),為企業(yè)的OpenStack私有云落地應(yīng)用提供實(shí)踐經(jīng)驗(yàn)。
其中,內(nèi)網(wǎng)yum源的建設(shè)為后期生產(chǎn)環(huán)境部署落地提供支持。對(duì)于整個(gè)基于OpenStack高可用私有云環(huán)境的云桌面系統(tǒng)而言,最大的亮點(diǎn)和創(chuàng)新在于架構(gòu)的高度松耦合,OpenStack私有云為云桌面系統(tǒng)提供云桌面實(shí)例的方式通過基于C/S模式的網(wǎng)絡(luò)通訊系統(tǒng)實(shí)現(xiàn),具有一定的創(chuàng)新性。
[1] 劉源,蔣建峰.基于SPICE協(xié)議的虛擬云桌面訪問技術(shù)的研究與應(yīng)用[J].科技資訊,2016,14(30):1-2.