国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

OpenStack高可用分布式存儲(chǔ)方案設(shè)計(jì)與實(shí)現(xiàn)

2019-02-25 13:14捃,嚴(yán)
關(guān)鍵詞:分布式集群節(jié)點(diǎn)

姚 捃,嚴(yán) 南

(成都理工大學(xué) 工程技術(shù)學(xué)院,四川 樂(lè)山 614000)

1 概 述

云計(jì)算作為互聯(lián)網(wǎng)+時(shí)代重要的技術(shù)支撐,得到了飛速發(fā)展,而OpenStack是云計(jì)算最重要,同時(shí)也是市場(chǎng)占有率最高的開(kāi)源技術(shù)。利用OpenStack建立的分布式存儲(chǔ)系統(tǒng)服務(wù)在企業(yè)、高校與科研領(lǐng)域得到了廣泛應(yīng)用[1-2]。與NTFS、EXT等目的不同,分布式存儲(chǔ)具有良好擴(kuò)展性,能極大地提高數(shù)據(jù)可用性和完整性。同時(shí)分布式存儲(chǔ)的性能和容量能同時(shí)拓展,系統(tǒng)規(guī)模具有很強(qiáng)伸縮性;將OpenStack與Ceph分布式存儲(chǔ)相結(jié)合,在多種分布式存儲(chǔ)方案中具有松耦合、高彈性、可伸縮、高擴(kuò)展、高性能等優(yōu)點(diǎn)[3-6]。同時(shí)由于OpenStack和Ceph都是開(kāi)源項(xiàng)目,具有極度清晰功能模塊和豐富的API接口功能,可對(duì)企業(yè)二次開(kāi)發(fā)。

OpenStack和多數(shù)分布式系統(tǒng)相似,由控制、計(jì)算兩大節(jié)點(diǎn)組成。控制節(jié)點(diǎn)不提供nova-compute的計(jì)算服務(wù)。組件與服務(wù)分布于各個(gè)節(jié)點(diǎn),在安裝了基本服務(wù)后可根據(jù)需求部署更多組件。計(jì)算節(jié)點(diǎn)主要運(yùn)行nova-compute,由于nova-Scheduler的調(diào)度特性,使得虛擬實(shí)例可以在幾個(gè)計(jì)算節(jié)點(diǎn)間切換,或者使用備份機(jī)制實(shí)現(xiàn)故障轉(zhuǎn)移。由此,解決控制節(jié)點(diǎn)的高可用性成為了整個(gè)系統(tǒng)高可用的基礎(chǔ)??刂乒?jié)點(diǎn)所提供的基礎(chǔ)服務(wù)在系統(tǒng)出錯(cuò)后,所面臨的管理和控制故障,稱之為單點(diǎn)故障(SPoF)[7]。對(duì)于單點(diǎn)故障,可以采用設(shè)備的冗余、熱備,維護(hù)和升級(jí)相關(guān)節(jié)點(diǎn),甚至?xí)和9?jié)點(diǎn)等方式來(lái)解決,因此必須有高可用架構(gòu)來(lái)支撐這些技術(shù)方案,并且多數(shù)需要的是自動(dòng)運(yùn)行的方案。 高可用性(high-availability,HA)是針對(duì)大規(guī)模集群系統(tǒng)、分布式系統(tǒng)、云平臺(tái)等項(xiàng)目提出的技術(shù)手段,盡量減少因維護(hù)、故障、高并發(fā)等引起的服務(wù)暫?;虮罎?,以提高系統(tǒng)的穩(wěn)定性和可用性,是目前企業(yè)、數(shù)據(jù)中心、高校實(shí)驗(yàn)室防止單點(diǎn)故障,意外停止服務(wù)的有效手段[8]。

目前各大主流公司的高可用部署模式有:網(wǎng)易的OpenStack云的HA方案、Mirantis的Active-active雙主動(dòng)模式、Hp Helion的Active-active雙主動(dòng)模式、Oracel的Active-passive主備模式等等。

為了實(shí)現(xiàn)OpenStack和Ceph結(jié)合的高可用分布式存儲(chǔ)方案,在比較了多家公司具有可行性的高可用方案[9-10],結(jié)合Mirantis提出的Keepalived+HAProxy的雙活A(yù)ctive+actice模式和Oracle提出的Active+passive主備模式的各自優(yōu)點(diǎn),并且規(guī)避了如可靠性不足、容易產(chǎn)生集群腦裂等問(wèn)題之后[11],提出以三控制節(jié)點(diǎn)為核心,多計(jì)算/網(wǎng)絡(luò)/存儲(chǔ)節(jié)點(diǎn)為擴(kuò)展,在部署過(guò)程中采用Keepalived+HAProxy的雙活模式以實(shí)現(xiàn)負(fù)載均衡和IP漂移,為OpenStack各個(gè)組件提供高可用;利用RabbitMQ Clustering實(shí)現(xiàn)消息隊(duì)列的集群;利用MariaDB Galera實(shí)現(xiàn)數(shù)據(jù)庫(kù)集群;利用vrrp實(shí)現(xiàn)路由冗余的高可用[12];利用Cinder和Ceph結(jié)合的方式實(shí)現(xiàn)存儲(chǔ)和虛擬機(jī)實(shí)例的高可用。整個(gè)平臺(tái)將Active-active的雙活模式、Active+passive的主備模式、分布式集群技術(shù)等高可用技術(shù)加以融合,通過(guò)軟硬件的冗余、IP漂移、故障轉(zhuǎn)移、熱備份、熱遷移等方式實(shí)現(xiàn)了在OpenStack平臺(tái)上的高效、高可用分布式存儲(chǔ),實(shí)現(xiàn)了高性能計(jì)算模式下性能與穩(wěn)定的一種平衡。

2 模型設(shè)計(jì)

該方案采用三控制節(jié)點(diǎn)+多計(jì)算/網(wǎng)絡(luò)/存儲(chǔ)節(jié)點(diǎn)的形式,如圖1所示。

將HAProxy+Keepalived形成的雙活模式部署在三個(gè)控制節(jié)點(diǎn),形成三主動(dòng)模式,實(shí)現(xiàn)以下高可用:

(1)外部高并發(fā)連接時(shí),實(shí)現(xiàn)有效的負(fù)載均衡;

(2)在三個(gè)主動(dòng)節(jié)點(diǎn)之一意外宕機(jī),訪問(wèn)可由另兩個(gè)主動(dòng)節(jié)點(diǎn)瞬間接管;

(3)利用Neutron高可用實(shí)現(xiàn)主備式的虛擬路由器冗余;

圖1 模型架構(gòu)

(4)利用Ceph+Cinder實(shí)施虛擬機(jī)的熱備份、熱遷移。

將Mariadb和RabbitMQ部署于三個(gè)控制節(jié)點(diǎn),利用Galera實(shí)現(xiàn)Mariadb集群,提供較小延遲、讀寫(xiě)到任意節(jié)點(diǎn)、自動(dòng)節(jié)點(diǎn)加入、同步復(fù)制、自動(dòng)成員控制等;RabbitMQ提供了OpenStack的消息隊(duì)列,由RabbitMQ Clustering、RabbitMQ Mirrored Queue實(shí)現(xiàn)高可用,同步集群內(nèi)由任意節(jié)點(diǎn)產(chǎn)生的消息,并且利用同步節(jié)點(diǎn)隨時(shí)接管由于源節(jié)點(diǎn)故障而產(chǎn)生的消息同步任務(wù)。

Memcached默認(rèn)支持雙活高可用模式,將所有節(jié)點(diǎn)的名稱加入OpenStack配置即可。

Keystone、Glance部署于三個(gè)控制節(jié)點(diǎn),采用HAProxy+Keepalived形成三主的HA模式。

Ceph部署是基于RADOS的Ceph對(duì)象存儲(chǔ)集群,本模型使用一個(gè)監(jiān)視器+五個(gè)OSD。Ceph文件系統(tǒng)、Ceph對(duì)象存儲(chǔ)和Ceph塊設(shè)備從Ceph存儲(chǔ)集群讀出和寫(xiě)入數(shù)據(jù)以實(shí)現(xiàn)高可用。

模型采用三網(wǎng)絡(luò)管理,將192.168.2.0網(wǎng)段用于OpenStack六個(gè)節(jié)點(diǎn)的外部訪問(wèn),如遠(yuǎn)程登錄和虛擬機(jī)的外部訪問(wèn)等;將10.0.0.0網(wǎng)段用于節(jié)點(diǎn)間信息管理,如數(shù)據(jù)庫(kù),控制信息,另外Ceph流量也會(huì)走10.0.0.0網(wǎng)絡(luò);將10.0.1.0用于數(shù)據(jù)通信,包括neutron的服務(wù)和vxlan的數(shù)據(jù)等。實(shí)踐結(jié)果表明,三個(gè)獨(dú)立且分工的網(wǎng)絡(luò)是實(shí)現(xiàn)整個(gè)模型高可用必不可少的條件。

整個(gè)模型架構(gòu)基于OpenStack+Ceph的高可用平臺(tái),具體的方案規(guī)劃如圖2所示。

3 環(huán)境安裝

實(shí)現(xiàn)方案所使用的硬件如表1所示。

所有節(jié)點(diǎn)使用DELL PowerEdge R710服務(wù)器,是DELL雙路2U機(jī)架式服務(wù)器,使得控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)都擁有雙路8核心CPU、12 G內(nèi)存、548 GB硬盤(pán)、4個(gè)千兆網(wǎng)卡。優(yōu)點(diǎn)是CPU和內(nèi)存性能佳,在高可用環(huán)境下,為虛擬機(jī)高負(fù)載時(shí)提供不錯(cuò)的計(jì)算能力;缺點(diǎn)是硬盤(pán)空間小,分布式存儲(chǔ)使用范圍受限,同時(shí)網(wǎng)絡(luò)帶寬只有千兆,僅能初步滿足Ceph對(duì)于網(wǎng)絡(luò)性能的要求。

圖2 可用方案

名稱數(shù)量機(jī)型指標(biāo)用途Manager1Dell R7102U機(jī)架式管理節(jié)點(diǎn)Controller2Dell R7102U機(jī)架式控制節(jié)點(diǎn)Compute3Dell R7102U機(jī)架式計(jì)算節(jié)點(diǎn)Network3Dell R7102U機(jī)架式網(wǎng)絡(luò)節(jié)點(diǎn)Ceph5Dell R7102U機(jī)架式存儲(chǔ)節(jié)點(diǎn)Vlan3Cisco-C3560機(jī)架式隔離網(wǎng)段

驗(yàn)證環(huán)境為了盡可能發(fā)揮高可用的優(yōu)勢(shì),采用了三網(wǎng)段策略,利用Cisco 3560交換機(jī)將三個(gè)網(wǎng)段使用VLAN隔離。其中,端口F0/1~6、24屬于VLAN 2,連接OpenStack外部網(wǎng)絡(luò)適配器,24號(hào)端口連接NAT網(wǎng)關(guān)所提供的外部網(wǎng)絡(luò);F0/7~12屬于VLAN 3,連接OpenStack管理網(wǎng)絡(luò)適配器;F0/13~18屬于VLAN 4,連接OpenStack隧道網(wǎng)絡(luò)適配器。由于使用的是本地的YUM源,不需要設(shè)置10.0.0.0和10.0.1.0網(wǎng)段網(wǎng)關(guān),只需指定各個(gè)網(wǎng)卡IP即可,網(wǎng)絡(luò)安裝如圖3所示。

圖3 網(wǎng)絡(luò)安裝方案

要把Ceph塊設(shè)備用于OpenStack,必須先安裝QEMU、libvirt和OpenStack。其中物理主機(jī)安裝OpenStack最少需要8 GB內(nèi)存和4核CPU。

OpenStack里有三個(gè)地方可以和Ceph塊設(shè)備結(jié)合形成分布式存儲(chǔ):images、Volumes和Guest Disks。

驗(yàn)證方案使用Cinder(Volumes)和Ceph結(jié)合的方式,具體的OpenStack/Ceph技術(shù)棧如圖4所示。

4 高可用實(shí)現(xiàn)

下面從三個(gè)方面來(lái)闡述整個(gè)OpenStack+Ceph平臺(tái)的高可用性的實(shí)現(xiàn)。

(1)控制節(jié)點(diǎn)的高可用性,表現(xiàn)在一些基礎(chǔ)服務(wù)(如MariaDB、RabbitMQ、Memcached等)的高可用性;

(2)計(jì)算節(jié)點(diǎn)的高可用性,主要是虛擬機(jī)和存儲(chǔ)的高可用性;

圖4 OpenStack/Ceph技術(shù)棧

(3)網(wǎng)絡(luò)節(jié)點(diǎn)的高可用性,最重要的是L3-Agent和DHCP-Agent的高可用性。

4.1 控制節(jié)點(diǎn)的高可用

控制節(jié)點(diǎn)主要利用了HAProxy+Keepalived形成三控制節(jié)點(diǎn)的三主模式集群,其中HAProxy自身實(shí)現(xiàn)為Active-passive模式的高可用,在任何時(shí)刻只有一個(gè)HAProxy處于Active狀態(tài)并提供服務(wù);Keepalived通過(guò)請(qǐng)求一個(gè)VIP來(lái)請(qǐng)求真實(shí)IP地址,而VIP能夠在一個(gè)控制節(jié)點(diǎn)發(fā)生故障時(shí),自動(dòng)漂移到另外一個(gè)控制節(jié)點(diǎn)上,從而實(shí)現(xiàn)高可用。

HAProxy可以為OpenStack Service API(如httpd,neutron-server,glance-registry,nova-novncproxy,keystone等)和MariaDB-Galera服務(wù)提供負(fù)載均衡,將請(qǐng)求按照一定的算法轉(zhuǎn)到某個(gè)節(jié)點(diǎn)上,由Keepalived為此服務(wù)提供VIP。因此,OpenStack控制節(jié)點(diǎn)集群可配置為HAProxy的后端,實(shí)現(xiàn)雙活模式。

MariaD Galera數(shù)據(jù)庫(kù)的同步多主(Multi-Master)集群,Galera使用底層并行機(jī)制對(duì)數(shù)據(jù)庫(kù)集群進(jìn)行讀寫(xiě),實(shí)現(xiàn)同步復(fù)制。OpenStack支持多節(jié)點(diǎn)寫(xiě)入Galera節(jié)點(diǎn),Galera內(nèi)部支持主/主拓?fù)浣Y(jié)構(gòu)和寫(xiě)入到任何集群節(jié)點(diǎn)。在這樣的配置中,只有一個(gè)節(jié)點(diǎn)是活動(dòng)的,其余節(jié)點(diǎn)是standby狀態(tài)。Galera使用同步復(fù)制并確保每個(gè)集群節(jié)點(diǎn)是相同的。

利用RabbitMQ Clustering實(shí)現(xiàn)消息隊(duì)列的集群,同時(shí)RabbitMQ支持Mirrored Queue高可用技術(shù),集群內(nèi)任意一個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí)消息由同步節(jié)點(diǎn)接管。將RabbitMQ主機(jī)列表配置給OpenStack相關(guān)服務(wù)組件。

Memcached默認(rèn)支持雙活高可用模式,將所有節(jié)點(diǎn)的名稱加入OpenStack配置即可。

圖5列出了整個(gè)控制節(jié)點(diǎn)實(shí)現(xiàn)高可用性的思想。

圖5 控制節(jié)點(diǎn)高可用

4.2 計(jì)算節(jié)點(diǎn)的高可用

計(jì)算節(jié)點(diǎn),主要涉及到虛擬機(jī)的高可用和存儲(chǔ)的高可用,而上層應(yīng)用會(huì)直接決定虛擬機(jī)的高可用性(虛擬機(jī)絕對(duì)的高可用涉及到多方面,如存儲(chǔ)、CPU、內(nèi)存等),同時(shí)生產(chǎn)環(huán)境中的容錯(cuò)設(shè)計(jì)也極大地降低了上層應(yīng)用加入高可用的必要性。

方案設(shè)計(jì)通過(guò)使用Ceph結(jié)合Cinder的分布式存儲(chǔ)方案來(lái)實(shí)現(xiàn)OpenStack實(shí)例的熱遷移與熱備份,實(shí)現(xiàn)計(jì)算節(jié)點(diǎn)在簡(jiǎn)單場(chǎng)景下的高可用性。Ceph-Monitor安裝配置在控制節(jié)點(diǎn),Ceph-Client安裝配置在計(jì)算節(jié)點(diǎn)。

Cinder提供的存儲(chǔ)服務(wù)是作為一個(gè)存儲(chǔ)管理器而非硬盤(pán),真正的硬盤(pán)是下層的LVM、Ceph、GlusterFS等,所以,OpenStack的存儲(chǔ)高可用,幾乎完全由Cinder決定,同時(shí)加入Ceph以完成數(shù)據(jù)存儲(chǔ)的高可用性。

4.3 網(wǎng)絡(luò)節(jié)點(diǎn)的高可用

OpenStack中,網(wǎng)絡(luò)的高可用由L3-Agent、DHCP-Agent、DHCP-server、Virtual-Router等服務(wù)決定,而L2-Agent只在所在的網(wǎng)絡(luò)或者計(jì)算節(jié)點(diǎn)上提供服務(wù),不需要高可用支持。Neutron的高可用采用OpenStack原生自帶的高可用模式,對(duì)不同服務(wù)采用不同的高可用實(shí)現(xiàn)方式。

由于DHCP協(xié)議自身對(duì)多個(gè)DHCP服務(wù)器的支持,因此利用在所有網(wǎng)絡(luò)節(jié)點(diǎn)上部署Agent來(lái)實(shí)現(xiàn)多Server運(yùn)行,從而實(shí)現(xiàn)DHCP-Agent服務(wù)的高可用。在私有網(wǎng)絡(luò)中DHCP分布式地提供IP服務(wù)。

為了同時(shí)兼容高可用性、擴(kuò)展性,使用VRRP的Active-active高可用性方案來(lái)實(shí)現(xiàn)L3-Agent服務(wù)的高可用。作為一種容錯(cuò)協(xié)議,VRRP可以在下一跳路由失效時(shí),由備用路由器繼續(xù)工作,保障網(wǎng)絡(luò)的可靠、通暢。VRRP利用BFD、NQA等協(xié)議快速檢測(cè)、監(jiān)視敏感的上行鏈路,從而Master路由器可以檢測(cè)到故障,并快速切換為Backup路由器代替。方案實(shí)現(xiàn)使用了BFD技術(shù)監(jiān)視Master的狀態(tài)。

5 結(jié)束語(yǔ)

方案從模型的設(shè)計(jì)建立到環(huán)境安裝再到實(shí)現(xiàn),完成了OpenStack+Ceph環(huán)境下的高可用性。在一定的壓力測(cè)試下,能夠有效地規(guī)避單點(diǎn)故障。體現(xiàn)為,在任一控制節(jié)點(diǎn)的斷開(kāi)下不會(huì)影響整個(gè)負(fù)載均衡系統(tǒng)的穩(wěn)定運(yùn)行;在三主動(dòng)的雙活模式下,三個(gè)控制節(jié)點(diǎn)任一的宕機(jī)不會(huì)影響MariaDB、RabbitMQ、Memcache等基礎(chǔ)服務(wù);在單一或少量存儲(chǔ)節(jié)點(diǎn)斷開(kāi)的情況下,Ceph會(huì)提出警告,但不會(huì)停止集群服務(wù),并能快速修復(fù)錯(cuò)誤,重新連接丟失的存儲(chǔ)節(jié)點(diǎn)加入集群服務(wù);在一定頻率的熱備份和熱遷移的基礎(chǔ)上,能提供持續(xù)有效的計(jì)算服務(wù)。即使發(fā)生虛擬機(jī)故障,也能快速恢復(fù),沒(méi)有嚴(yán)重故障表現(xiàn)。

當(dāng)然,方案在大規(guī)模分布式系統(tǒng)的高可用技術(shù)上,還有一定的發(fā)展空間,能進(jìn)一步提升高可用的量化指標(biāo)、進(jìn)一步降低服務(wù)失效時(shí)間、減少服務(wù)和配置工作量和復(fù)雜度。

猜你喜歡
分布式集群節(jié)點(diǎn)
新一代分布式母線保護(hù)裝置
山西公布首批屋頂分布式光伏整縣推進(jìn)試點(diǎn)
基于圖連通支配集的子圖匹配優(yōu)化算法
分布式空戰(zhàn)仿真系統(tǒng)設(shè)計(jì)
功能性新材料產(chǎn)業(yè)集群加速形成
結(jié)合概率路由的機(jī)會(huì)網(wǎng)絡(luò)自私節(jié)點(diǎn)檢測(cè)算法
面向復(fù)雜網(wǎng)絡(luò)的節(jié)點(diǎn)相似性度量*
基于深度學(xué)習(xí)的分布式安全日志分析方法
采用貪婪啟發(fā)式的異構(gòu)WSNs 部分覆蓋算法*
培育世界級(jí)汽車(chē)產(chǎn)業(yè)集群
四子王旗| 温泉县| 上蔡县| 泸州市| 中山市| 靖江市| 西充县| 西乌珠穆沁旗| 丹阳市| 泸州市| 彰武县| 肥西县| 谷城县| 彭阳县| 湖北省| 荆州市| 舟山市| 宁安市| 太原市| 报价| 若尔盖县| 巴塘县| 三门峡市| 靖江市| 宕昌县| 德钦县| 富锦市| 军事| 龙南县| 定边县| 武川县| 阳信县| 台湾省| 安福县| 平顶山市| 金沙县| 贵港市| 青川县| 浪卡子县| 措勤县| 渭源县|