999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種OpenStack的業務保障設計

2020-04-09 04:48:53陳墾
計算技術與自動化 2020年1期
關鍵詞:云計算

陳墾

摘? ?要:基于OpenStack云計算管理平臺的原生資源管理技術,通過對接兼容Vmware云計算管理平臺,來實現一種更為合理高效的業務保障技術。通過配置高可用HA來保障物理機、邏輯節點、裸機和虛擬機的業務可用性。通過可用域設置DRS來保障虛擬機的業務連續性。

關鍵詞:OpenStack;云計算;HA

中圖分類號:TP39? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A

A Business Support Design for OpenStack

CHEN Ken?覮

(Wuhan Research Institute of Posts and Telecommunications,Wuhan,Hubei 430079,China)

Abstract:This article achieve a more reasonable and efficient business support technology through docking compatible VMware Cloud management platform based on OpenStack Cloud computing management platform of native resource management technology. Securing the business availability of physical machines,logical nodes,bare metal,and virtual machines by configuring high-availability HA,and securing the business continuity of virtual machines by setting up DRS with available domains.

Key words:OpenStack;Cloud computing;HA

云計算以其高效迅捷的部署和靈活的資源管理得到了眾多支持,并且成為一種成熟的商業模式。云計算通過提供基礎設施或者平臺,來為用戶實現快速部署和應用,并以租賃的方式盈利[1]。在如今龐大的網絡體系中,云計算的出現提高了資源的利用率,使得上層用戶能夠專注于開發,而不受底層影響。可以說,云計算的發展是網絡發展的必然,也是未來最受關注的領域之一[2-3]。作為提供服務的云計算廠商來說,提供一種穩定的計算與存儲業務才能夠獲得用戶的青睞。使用KVM虛擬化技術的OpenStack云計算管理平臺受其社區開源性的制約,并沒有采用Vmware、EC2、Xen等商用虛擬化技術的方案,而是自己開發了一套技術集。由于OpenStack是協同開發的產物,早期的版本并不重視業務穩定性與可靠性管理,而是以有效性為主要目的[4]。隨著OpenStack版本的不斷迭代以及使用率上升,各種原生方案與第三方方案開始部署于各個OpenStack云計算商的產品中,其中比較流行的方案有兩種,一種是Load Balancer + Keepalive保證HA(High Availability)[5];還有一種是Load Balancer + Keepalive + Pacemaker + Corosync 配置 HA,它們都可以某種程度上保證OpenStack的業務可靠性[6]。然而以上方案存在一定的缺陷,Load Balancer雖然可以讓系統達到網絡訪問的負載均衡,但卻沒辦法解決內存、CPU等資源的負載不均衡問題[7];Keepalive實際上是通過配置一個虛擬IP地址來隱藏實際節點IP,而虛擬IP作為一個分發訪問任務的中間站,將訪問均衡分配到不同的實際節點上,如圖1所示,同樣沒法直接均衡內存與CPU的負載。本文基于OpenStack原生技術,結合VMware的技術,通過對接OpenStack與VMware平臺,從而調用DRS(Distributed Resource Scheduler)技術設計一種對OpenStack平臺下管理的實例進行動態資源調度的方案,先于負載超過閾值前均衡內存與CPU,保障業務穩定性[8]。

圖1? ?虛擬IP的使用

1? ?OpenStack原生業務保障

1.1? ?OpenStack靜態資源調度

業務保障基于OpenStack的資源調度,資源調度分為靜態調度與動態調度,其中靜態調度是最為基本,也是實現正常功能所需的技術。靜態調度也可稱之為初始調度,它是實現實例(虛擬機)所進行的最開始的步驟。OpenStack的虛擬機調度策略主要是由FilterScheduler和ChanceScheduler實現的,其中FilterScheduler作為默認的調度引擎實現了基于主機過濾(filtering)和權值計算(weighing)的調度算法,而ChanceScheduler則是基于隨機算法來選擇可用主機的簡單調度引擎[9]。在設計上,OpenStack基于filter和weighter支持第三方擴展,因此用戶可以通過自定義filter和weighter,或者使用json資源選擇表達式來影響虛擬機的調度策略從而滿足不同的業務需求。

所謂filter,是在選取資源(主要是計算資源)時,設立一系列規則和門檻,從而使得OpenStack在創建實例時能夠盡量平衡,不會產生一臺機器超負荷運轉而其他機器空閑的情況[10]。理想的情況下,所有的機器能均分所有負載,比如要運行5個實例,那么就會依次運行于5個計算節點上(如果計算節點數量大于或等于5);如果要運行3個計算節點,那么就有兩個節點運行兩個實例,一個節點運行一個實例,從而實現盡可能的平衡。

以上是一種理想的情況,實際情況是創建的實例有著不同的資源需求(比如所需內存和CPU不同)。這就使得分配實例的時候不能單純的看數量,而應當考慮到資源,也就是從數量的平衡轉移到資源的平衡。假設所有計算節點的能力基本一致,實際情況可能會存在不同的實體機混用,這也造成了計算節點的性能不一致。同時,有些計算節點也運行著其他服務,對內存和CPU資源的過度占用可能會影響其他服務。因此,針對不同的實體機,可能會配置不同的規則,比如可以配置某個節點最多承載5個實例,或者配置其最多負載50%的內存或CPU,以此來人為留出余裕。

Filter的過濾條件有許多,可以是可用域,內存,CPU,磁盤,image等等。當經過這些條件篩選后的節點就會進入weight的過程,即根據一定的評分標準進行優先級的排序。比如默認為根據計算節點空閑的內存量計算權重值,空閑越多的節點權重越高,優先級越高,會優先承載實例,如圖2所示。

圖2? ?初始調度過程

1.2? ?OpenStack的HA

實例創建之時OpenStack會進行靜態的資源調配,這意味著分配好的資源在實例創建之后就不會進行變化,但是實際應用中這樣是存在風險的。某個計算節點可能會無法正常工作,比如網線斷開,電源斷開,或者是某人不小心重啟了網絡服務,以及其他種種導致不能正常承載實例的錯誤。這樣的錯誤一旦發生而實例無法繼續維持,可能會造成業務的中斷,也會成為云計算最大的風險。于是一種用于應急災備的方案被用于OpenStack——高可用HA。

高可用HA系統力求最大限度地減少以下問題:

1. 系統停機

2. 數據丟失

大多數高可用性系統僅在發生故障時才能保證防止系統停機和數據丟失。但是,它們也可以防止級聯故障,在這種情況下,一次故障的發生就會惡化為一系列相應的故障。許多服務提供商保證服務級別協議 (SLA),包括計算服務的正常運行時間百分比,該協議是根據可用時間和系統停機時間 (不包括計劃停機時間) 計算的[11]。

圖3? ?實例的HA

如圖3所示,OVM1和OVM2是兩個實例,通過Virtual IP可以依次訪問它們。當它們都運行了keepalive時,即使所在的Cluster發生了宕機,也可以安全轉移至其它可用的Cluster。

OpenStack目前滿足其自身基礎結構服務的高可用性要求,這意味著接近百分百的正常運行時間對于OpenStack基礎架構本身來說是可行的[12]。但是,OpenStack不能保證單個客戶實例的可用性接近百分百。

集群最小數量被定義為一半以上的節點數量,高可用性環境中的每個集群都應該有奇數的節點。如果多個節點失敗,使集群數量大小低于最小數量,則集群本身將故障。

例如,在七節點集群中,最小數量應設置為 floor(7/2) + 1 = 4。如果最小數量是四個節點,而四個節點同時故障,則集群本身將故障;如果不超過三個節點故障,則集群繼續正常工作。如果拆分為三個節點和四個節點的分區,則四個節點的最小數量將繼續決定分區工作狀態。

當四個節點同時故障時,集群也將繼續工作。但是,如果拆分為三個節點和四個節點的分區,三個節點的最小數量將使雙方都試圖隔離其他資源和主機資源。如果不啟用Fence,它將直接運行每個資源的兩個副本。

2? ?應用DRS

VMware的分布式資源調度(Distributed Resource Scheduler,DRS)可以持續不斷地監控資源池的利用率,并能夠根據商業需要在虛擬機中智能地分配合適的資源。通過這樣的動態分配和平衡計算資源,IT架構和商業目標就可以達成同步。VMware DRS能夠整合服務器,降低IT成本,增強靈活性;通過災難修復,減少停機時間,保持業務的持續性和穩定性;減少需要運行服務器的數量以及動態地切斷當前未需使用的服務器的電源,提高了能源的利用率。

DRS與HA原本是VMware的技術,隨著VMware進入OpenStack社區并提供支持后,兩者之間的融合逐漸加深。在新的OpenStack版本中,對接VMware虛擬機以及相應的HA與DRS技術已經可以實現。

DRS可以在平臺平穩運行時根據配置,協調各個節點之間的負載,實現一定范圍的負載均衡。舉個例子,當設置策略為CPU使用率平衡某個節點的CPU使用率,一旦超過了閾值,就會觸發DRS功能,節點上就進行相應操作來使得CPU降低到某一水平(通常是執行遷移實例來釋放CPU資源),同樣的,也可以設置內存模式來達到控制內存使用率。

2.1? ?OpenStack對接VMware的方案

在OpenStack的新版本中,社區在Nova中提供了兩種連接VMware的Driver,分別是ESXDriver和VCDriver。前者由于丟失了一些VMware的集群特性諸如HA和DRS,已經逐漸被拋棄,因此本文選擇后者作為接口驅動。

由于需要納管VMware虛擬機,而OpenStack原生的KVM與VMware是不同的虛擬化方式,因此我們需要使用一個獨占的物理節點來配置VMware。并且由于VCDriver的局限性,我們還需要在VMware的節點上安裝vCenter。

VMware提供了一種用于OpenStack的計算驅動,名為VMware Nova vCenter Driver,其與OpenStack的交互如圖4所示。

實際上OpenStack只是起到一個控制的作用,由控制節點下發指令,最終還是靠vCenter來完成ESXi主機的控制。上文提到的VMware vCenter Driver會讓Nova-Scheduler將ESXi主機看作OpenStack中一個普通的計算節點進行管理,這樣在OpenStack看來,納管的VMware主機就不具有太多的特殊性,只要通過驅動進行中間代理就能夠下發指令。

圖4? ?Nova vCenter Driver與OpenStack的交互

VMware節點的配置和vCenter的安裝過程較為繁瑣且并非本文所關心的要點,因此本文不再詳細贅述。在成功配置好VMware節點并安裝好vCenter后,需要在OpenStack的控制節點上修改Nova服務的配置文件,即nova.conf文件,具體配置如下:

[DEFAULT]

compute_driver=vmwareapi.VMwareVCDriver

[vmware]

host_ip=

host_username=

host_password=

cluster_name=

datastore_regex=

wsdl_location=https:///sdk/vimService.wsdl? ? ? ? ? ? ? insecure=True

以上配置指定了VMware節點的IP,datestore的用戶名和密碼,集群的名稱等信息,這些信息都是在vCenter的安裝時指定的。

完成以上配置后,便可以在vCenter與OpenStack的Dashboard中看見新建的虛擬機,并且可以使用VMware的DRS特性。

2.2? ?DRS功能的應用驗證

為了驗證對接后的DRS功能,在OpenStack平臺上建立好所需的資源,比如網絡,租戶,集群,硬盤等等。

如圖5所示,在UI界面上可以看見已經建立了一些云主機,也就是實例,首先要確保這些云主機都在同一個節點上,并且該節點所在可用域有至少3個節點。

圖5? ?云主機列表

DRS進程雖然在所有計算節點上都有安裝,但是只會在同一個可用域中的一個節點上運行一個DRS進程,也就是說,只有一個節點的DRS進程是處于active狀態。但是所有的節點都需要配置統一的文件,以設定DRS服務的開啟與否,運行的模式,閾值,輪詢周期等等參數。下面進行DRS配置文件的設置,如圖6所示。

圖6? ?DRS配置

其中enable_global_mode = True表示全局模式,意味著無需對可用域進行其他配置;rs_rule = cpu_percent表示CPU使用率模式;rs_threshold = 50表示閾值為50,即CPU使用率到達50%以上時會觸發DRS功能;rs_name = CPU utilization4為該DRS策略的名稱,方便區分;rs_enable = True表示DRS功能開啟,相當于總開關;rs_stabilization = 3 表示每3次輪詢時間執行一次DRS。

要驗證DRS功能,需要創造條件來觸發節點達到DRS閾值,一個方法就是使用人為加壓來讓計算節點達到閾值。通過編寫一個腳本,可以令計算節點不停的執行某個命令,從而消耗大量CPU資源。在compute-0節點上運行CPU加壓腳本后,使用TOP命令查看節點CPU資源使用情況。

設定CPU超過閾值并且穩定10分鐘后執行DRS,在等待10分鐘后,可以觀察到虛擬機開始執行遷移,此時在控制節點上查看compute-0節點的虛擬機,如圖7所示。

圖7? ?虛擬機運行狀況

在上圖可以看到,第三行的實例,狀態顯示migrating,也就是遷移,說明DRS功能觸發實例執行遷移。

之前設定DRS執行遷移周期為三個輪詢時間,一個輪詢時間為20秒,也就是大約一分鐘遷移一臺,直至CPU使用率降至閾值以下,實際上,在加壓腳本的影響下,哪怕沒有實例存在,CPU使用率也無法降低至50%以下,所以實例只會一直遷移,直至所有實例全部遷出,或者可用域內其他節點無法承載。

30分鐘后,再次查看compute-0上的實例,如圖8所示。

圖8? ?虛擬機遷移后運行情況

從上圖可以看出,對比執行DRS之前,其上的實例已經遷走許多,所有實例都可正常運行。

4? ?結? 論

基于OpenStack原生功能的基礎上,通過對接VMware vSphere平臺,從而實現了HA與DRS的高級功能,設計了一種保障OpenStack云計算平臺業務的方案。本設計在保留OpenStack原有結構的同時,引入了VMware的管理方式,使得該云計算管理平臺有著更好的兼容性,通過使用VMware成熟的設計,加強了OpenStack云計算管理平臺的穩定性。該方案既可發揮災備的作用,也可實現預防的功能,通過手工配置的方式可以讓用戶更加靈活的調整方案,具有廣泛的應用場景。

參考文獻

[1]? ? NANDA S,CHIUEH T. A survey on virtualization technologies[R]. Technical Report,TR-179,New York:Stony Brook University,2005:1—42.

[2]? ? LI Y,LI W,JIANG C. A survey of virtual machine system:current technology and future trends[C]// International Symposium on Electronic Commerce & Security. IEEE Computer Society,2010:332—336.

[3]? ? ROSENBLUM M,GARFINKEL T. Virtual machine monitors:current technology and future trends[J]. Computer,2005,38(5):39—47.

[4]? ? JACKSON K. OpenStack cloud computing cookbook[M]. Birmingham:Packt Publishing Limited,2012:151—154.

[5]? ? CORRADI A,FANELLI M,FOSCHINI L. VM consolidation:a real case based on OpenStack cloud[J]. Future Generation Computer Systems,2014,32(1):118—127.

[6]? ? VYAS U. HA in OpenStack[M]// Applied OpenStack Design Patterns. Apress,2016.

[7]? ? DU Q,QIU J,YIN K,et al. High availability verification framework for OpenStack based on fault injection[C]// International Conference on Reliability,Maintainability and Safety. IEEE,2017:1—7.

[8]? ? SAHASRABUDHE S S,SONAWANI S S. Comparing openstack and VMware[C]// International Conference on Advances in Electronics,Computers and Communications. IEEE,2015:1—4.

[9]? ? SHANMUGANATHAN G,GULATI A,VARMAN P. Defragmenting the cloud using demand-based resource allocation[J]. Acm Sigmetrics Performance Evaluation Review,2013,41(1):67—80.

[10]? 毛軍禮. OpenStack之Nova服務[J]. 計算機與網絡,2018(3):60—63.

[11]? 王侃,劉釗遠. 基于OpenStack云平臺的彈性資源配置系統[J]. 數碼世界,2018(3):199—200.

[12]? 閆映東,文成玉. 中小企業OpenStack云平臺高可用技術研究與實現[J]. 無線互聯科技,2018(5):131—132.

猜你喜歡
云計算
云計算虛擬化技術在電信領域的應用研究
基于云計算的醫院信息系統數據安全技術的應用探討
談云計算與信息資源共享管理
志愿服務與“互聯網+”結合模式探究
云計算與虛擬化
基于云計算的移動學習平臺的設計
基于云計算環境下的ERP教學改革分析
科技視界(2016年22期)2016-10-18 14:33:46
基于MapReduce的故障診斷方法
實驗云:理論教學與實驗教學深度融合的助推器
大學教育(2016年9期)2016-10-09 08:54:03
云計算中的存儲虛擬化技術應用
科技視界(2016年20期)2016-09-29 13:34:06
主站蜘蛛池模板: 真实国产精品vr专区| 国产精品免费电影| 日本午夜网站| 国内黄色精品| 一本大道香蕉中文日本不卡高清二区| 国产午夜不卡| www中文字幕在线观看| 国模视频一区二区| 日韩欧美色综合| 亚洲区第一页| 亚洲天堂在线免费| 狠狠干欧美| 无码专区国产精品一区| 国产精品自在拍首页视频8| 国产成人精品亚洲77美色| 国产自产视频一区二区三区| 国产哺乳奶水91在线播放| 欧美区一区二区三| 欧美日韩高清| 九月婷婷亚洲综合在线| 日韩免费中文字幕| 国产激爽爽爽大片在线观看| AⅤ色综合久久天堂AV色综合 | 热久久这里是精品6免费观看| 久久午夜夜伦鲁鲁片无码免费| 精品国产99久久| 国产丝袜91| 国产精品无码AV中文| 亚洲国产精品无码久久一线| 国产成人高清精品免费5388| 亚洲视屏在线观看| 国产精品久久久久鬼色| 亚洲福利网址| 免费观看三级毛片| 精品精品国产高清A毛片| 91精品网站| 亚洲人妖在线| 久久综合干| 亚洲中文无码h在线观看| 国产精品一区在线观看你懂的| 国产在线拍偷自揄观看视频网站| 亚洲黄色视频在线观看一区| 99资源在线| 伊人AV天堂| 四虎永久在线精品国产免费| 国产午夜精品鲁丝片| 欧美精品三级在线| 1769国产精品免费视频| 久久人体视频| 三上悠亚在线精品二区| 午夜a视频| 成人午夜精品一级毛片| 嫩草在线视频| 一级毛片中文字幕| 欧美a在线| 91精品国产丝袜| 国产免费久久精品99re丫丫一| 亚洲欧洲免费视频| 青青草欧美| 国产精品原创不卡在线| 亚洲天堂精品在线| 亚洲中文字幕久久精品无码一区| 国产综合精品一区二区| 夜夜高潮夜夜爽国产伦精品| 69国产精品视频免费| 亚洲国产综合精品一区| 日韩精品少妇无码受不了| 亚洲成人网在线播放| 国产精品人成在线播放| 欧美精品亚洲精品日韩专区va| 狠狠v日韩v欧美v| 久久黄色小视频| 亚洲第一区在线| 狠狠v日韩v欧美v| 97视频免费看| 亚洲国产精品人久久电影| 国内精品视频在线| 久久综合色88| 国内毛片视频| 韩日无码在线不卡| 久久综合色88| 国产偷倩视频|