資源描述:
《構(gòu)建OpenStack的高可用性》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、構(gòu)建OpenStack的高可用性(HA,HighAvailability)目錄(?)[-]1.CAP理論2.OpenStack的高可用性O(shè)penStackHA3.4.5.同其它大部分分布式系統(tǒng)一樣OpenStack也分為控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)兩種不同功能的節(jié)點(diǎn)??刂乒?jié)點(diǎn)提供除nova-compute以外的服務(wù)這些組件和服務(wù)都是可以獨(dú)立安裝的可以選擇組合6.nova-compute在每個(gè)計(jì)算節(jié)點(diǎn)運(yùn)行暫且假設(shè)它是可信任的或者使用備份機(jī)來實(shí)現(xiàn)故障轉(zhuǎn)移不過每個(gè)計(jì)算節(jié)點(diǎn)配置備份的代價(jià)相比收益似乎太大7.控制節(jié)點(diǎn)的高可靠性是主要問題而且對于不同的組件都有自己的高可靠性需求
2、和方案8.9.nova-api和nova-scheduler的高可靠性10.這樣當(dāng)控制節(jié)點(diǎn)出現(xiàn)故障計(jì)算節(jié)點(diǎn)的nova-api等服務(wù)都照常進(jìn)行11.nova-volume的高可靠性12.網(wǎng)絡(luò)服務(wù)nova-network的高可靠性13.方案1?Multi-host14.方案2?Failover15.方案3?Multi-nic16.方案4?Hardwaregateway17.glancekeystone的高可靠性18.Swift對象存儲的高可靠性19.20.消息隊(duì)列服務(wù)RabbitMQ的高可靠性21.數(shù)據(jù)庫mysql的高可靠性22.Pacemaker與DRBDM
3、ysql的工作模式可以參考下圖23.構(gòu)建高可用性的OpenStackHigh-availability?OpenStack24.bringing-high-availability-openstack-keystone-and-glance1、CAP理論1)CAP理論給出了3個(gè)基本要素:·一致性(?Consistency):任何一個(gè)讀操作總是能讀取到之前完成的寫操作結(jié)果;·可用性(?Availability):每一個(gè)操作總是能夠在確定的時(shí)間內(nèi)返回;·分區(qū)可容忍性(Toleranceofnetwork?Partition):在出現(xiàn)網(wǎng)絡(luò)分區(qū)的情況下,仍然能夠滿
4、足一致性和可用性;??CAP理論指出,三者不能同時(shí)滿足。對這個(gè)理論有不少異議,但是它的參考價(jià)值依然巨大。??這個(gè)理論并不能為不滿足這3個(gè)基本要求的設(shè)計(jì)提供借口,只是說明理論上3者不可絕對的滿足,而且工程上從來不要求絕對的一致性或者可用性,但是必須尋求一種平衡和最優(yōu)。??對于分布式數(shù)據(jù)系統(tǒng),分區(qū)容忍性是基本要求。因此設(shè)計(jì)分布式數(shù)據(jù)系統(tǒng),很多時(shí)候是在一致性和可用性(可靠性)之間尋求一個(gè)平衡。更多的系統(tǒng)性能和架構(gòu)的討論也是圍繞一致性和可用性展開。2)OpenStack、Swift與CAP的工程實(shí)踐??對照CAP理論,OpenStack的分布式對象存儲系統(tǒng)Swif
5、t滿足了可用性和分區(qū)容忍性,沒有保證一致性(可選的),只是實(shí)現(xiàn)了最終一致性。Swift如果GET操作沒有在請求頭中包含’X-Newest’頭,那么這次讀取有可能讀到的不是最新的object,在一致性窗口時(shí)間內(nèi)object沒有被更新,那么后續(xù)GET操作讀取的object將是最新的,保證了最終一致性;反之包含了’X-Newest’頭,GET操作始終能讀取到最新的obejct,就是一致的。???在OpenStack架構(gòu)中,對于高可用性需要進(jìn)行很多工作來保證。因此,下面將對OpenStack結(jié)構(gòu)中的可用性進(jìn)行討論:構(gòu)建OpenStack的高可用性(HA,HighA
6、vailability)?2、OpenStack的高可用性(OpenStackHA)????要弄清楚怎么實(shí)現(xiàn)高可用性,就需要知道哪些服務(wù)容易出現(xiàn)不可靠。首先了解一些OpenStack的大致結(jié)構(gòu)。??OpenStack由5大組件組成(計(jì)算nova,身份管理keystone,鏡像管理glance,前端管理dashboard和對象存儲swift)。??nova是計(jì)算、控制的核心組件,它又包括nova-compute、nova-scheduler、nova-volume、nova-network和nova-api等服務(wù)。借用http://ken.people.in
7、fo的以下這幅圖了解OpenStack的5大組件和功能:下面這幅圖描述了各個(gè)組件的功能和服務(wù)結(jié)構(gòu):???同其它大部分分布式系統(tǒng)一樣,OpenStack也分為控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)兩種不同功能的節(jié)點(diǎn)。控制節(jié)點(diǎn)提供除nova-compute以外的服務(wù)。這些組件和服務(wù)都是可以獨(dú)立安裝的,可以選擇組合。??nova-compute在每個(gè)計(jì)算節(jié)點(diǎn)運(yùn)行,暫且假設(shè)它是可信任的;或者使用備份機(jī)來實(shí)現(xiàn)故障轉(zhuǎn)移(不過每個(gè)計(jì)算節(jié)點(diǎn)配置備份的代價(jià)相比收益似乎太大)??刂乒?jié)點(diǎn)的高可靠性是主要問題,而且對于不同的組件都有自己的高可靠性需求和方案。(1)由于CotrolNode只有1個(gè),且
8、負(fù)責(zé)整個(gè)系統(tǒng)的管理和控制,因此當(dāng)CotrolNode不能提供正常服