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