連鴻鵬
(福建師范大學(xué)協(xié)和學(xué)院,福州 350117)
傳統(tǒng)IT架構(gòu)轉(zhuǎn)型云計算的因素中,適應(yīng)業(yè)務(wù)變化和改善IT生態(tài)是一個非常重要的驅(qū)動因素,面對新興的云計算技術(shù)和目前雖然略顯臃腫但是滿足企業(yè)各種業(yè)務(wù)的傳統(tǒng)IT架構(gòu),轉(zhuǎn)型云計算平臺確實是一項值得商榷的事情。
針對傳統(tǒng)企業(yè)的顧慮和困惑,本文擬將通過基于OpenStack高可用實踐企業(yè)私有云桌面,對云計算技術(shù)在解決保障數(shù)據(jù)安全和滿足復(fù)雜多變的業(yè)務(wù)需求兩方面做出有益探索,旨在探索和展示云計算技術(shù)在解決傳統(tǒng)企業(yè)員工PC管理的優(yōu)勢。
Redhat的OpenStack高可用架構(gòu)方案主要有兩種,一種是基于Keepalived的高可用方案,另一種是基于HAproxy和Pacemaker的高可用方案。
與Redhat的OpenStack高可用架構(gòu)不同,Mariantis作為一家致力于OpenStack云計算環(huán)境落地的創(chuàng)業(yè)公司,Mariantis在架構(gòu)的設(shè)計上著眼于部署實施成本和后期運維的壓力。所以,為了減輕后期運維的壓力,Mariantis強烈建議使用高可用架構(gòu)。在OpenStack眾多的服務(wù)集下,如何防止因為單點故障導(dǎo)致的服務(wù)宕機顯得尤為關(guān)鍵,至少三臺控制節(jié)點的要求有效地降低了單點故障可能引發(fā)的問題。在部署落地成本的考慮上,則建議采用計算、存儲、網(wǎng)絡(luò)節(jié)點混合部署的架構(gòu),可以減輕項目實施落地環(huán)境對于硬件資源的需求。
基于OpenStack云計算環(huán)境的云桌面系統(tǒng),首先需要解決的是實例創(chuàng)建的問題,如果實例都無法創(chuàng)建,那么更談不上將實例以桌面的形式發(fā)布給用戶使用。在OpenStack中創(chuàng)建虛擬機,是通過Nova組件提供服務(wù),虛擬機創(chuàng)建流程一次需要 經(jīng) 過 Nova-API、Conductor、Scheduler、Placement、Nova-Compute等主要服務(wù)。
本平臺參考攜程全球呼叫中心云桌面的架構(gòu)設(shè)計,為了增大包括OpenStack基礎(chǔ)架構(gòu)在內(nèi)的云桌面體系的資源彈性,減小OpenStack云計算基礎(chǔ)設(shè)施與云桌面系統(tǒng)應(yīng)用的粘性。便于后期OpenStack云計算環(huán)境作為物理硬件設(shè)施為其他系統(tǒng)提供支持,也為云桌面系統(tǒng)的整體跨平臺可移植提供可能。擬采用松耦合的結(jié)構(gòu),以“搭積木”的方式設(shè)計整體框架,然后對OpenStack高可用系統(tǒng)和云桌面系統(tǒng)分別進行詳細設(shè)計。
在整體框架中,實現(xiàn)OpenStack基礎(chǔ)架構(gòu)與云桌面系統(tǒng)解耦,OpenStack基礎(chǔ)架構(gòu)的致力于向云桌面系統(tǒng)提供實例,云桌面系統(tǒng)自身解決用戶登陸鑒權(quán)、桌面操作等功能。底層存儲通過Cinder對接開源統(tǒng)一存儲解決方案Ceph提供塊存儲服務(wù),為存儲高可用提供支持。整體架構(gòu)設(shè)計如下圖:

圖1 OpenStack高可用架構(gòu)設(shè)計圖
在本架構(gòu)設(shè)計中OpenStack集群有6個節(jié)點,其中,有三個控制節(jié)點,三個計算節(jié)點,存儲節(jié)點和網(wǎng)絡(luò)節(jié)點分布在6個節(jié)點上。
(1)控制節(jié)點:部署OpenStack API服務(wù)及各種功能組件如數(shù)據(jù)庫、消息隊列服務(wù)。
(2)計算節(jié)點:部署Nova-compute和Neutron-Linuxbridge-Agent,該節(jié)點服務(wù)實例的創(chuàng)建。
(3)網(wǎng)絡(luò)節(jié)點:項目中不設(shè)計獨立的網(wǎng)絡(luò)節(jié)點,而是分布在整個集群的每個節(jié)點上。其中DHCP agent、L3 agent、Linux bridge agent、Metadata agent設(shè)計分布在控制節(jié)點,Neutron-Linuxbridge-Agent設(shè)計分布在計算節(jié)點。
(4)存儲節(jié)點:存儲節(jié)點也不設(shè)計獨立的節(jié)點,分布在整個集群的每個節(jié)點上。而且,規(guī)劃存儲只提供塊存儲服務(wù)。其中,cinder-scheduler分布在控制節(jié)點,cinder-volume分布在整個集群的所有節(jié)點。
關(guān)于OpenStack高可用的設(shè)計,具體的擬通過HAproxy+Keepalived的方案提供高可用支持。
(1)HAproxy:HAproxy提供集群服務(wù)的負載均衡任務(wù),針對不同服務(wù)的特點,設(shè)計不同的負載均衡策略,從而實現(xiàn)服務(wù)的服務(wù)的負載均衡效果。
(2)Keepalived:Keepalived作為軟件負載均衡器,同樣提供基于VRRP的LVS負載均衡器故障遷移能力。項目中擬設(shè)計admin-node為Active,node-1和node-2為Backup,同時利用Source Hash Scheduling算法,通過在靜態(tài)Hash表中查詢源IP地址以確當請求轉(zhuǎn)發(fā)的后端服務(wù)器。
在OpenStack的集群高可用設(shè)計中,還遵循以下規(guī)則:
(1)能夠?qū)崿F(xiàn)Active/Active方案的,盡量選擇Active/Active方案。
(2)組件自身有HA方案的,耦合自身HA方案,不通過HAproxy的代理。
(3)有流量區(qū)分地規(guī)劃網(wǎng)絡(luò)。
本項目中云桌面與以往的硬件瘦客戶端或軟件客戶端不同的,本項目系統(tǒng)通過瀏覽器作為云桌面客戶端,瀏覽器通過訪問Web服務(wù)器獲取客戶端,并在Web服務(wù)器中鑒權(quán),云桌面系統(tǒng)與OpenStack集群之間主要通過Web服務(wù)器向OpenStack集群發(fā)送執(zhí)行命令實現(xiàn)對實例的操作。
本項目在研究分析國內(nèi)外云計算領(lǐng)域多年研究取得的寶貴經(jīng)驗和知名廠商的高可用方案基礎(chǔ)上,結(jié)合實驗室實際情況進行合理的規(guī)劃設(shè)計,利用有限的資源條件初步實現(xiàn)了基于OpenStack高可用的私有云桌面系統(tǒng),為企業(yè)的OpenStack私有云落地應(yīng)用提供實踐經(jīng)驗。
其中,內(nèi)網(wǎng)yum源的建設(shè)為后期生產(chǎn)環(huán)境部署落地提供支持。對于整個基于OpenStack高可用私有云環(huán)境的云桌面系統(tǒng)而言,最大的亮點和創(chuàng)新在于架構(gòu)的高度松耦合,OpenStack私有云為云桌面系統(tǒng)提供云桌面實例的方式通過基于C/S模式的網(wǎng)絡(luò)通訊系統(tǒng)實現(xiàn),具有一定的創(chuàng)新性。
[1] 劉源,蔣建峰.基于SPICE協(xié)議的虛擬云桌面訪問技術(shù)的研究與應(yīng)用[J].科技資訊,2016,14(30):1-2.