OpenStack高可用集群(上冊):原理與架構》—2.4 Mirantis OpenStack高可用部署架構

      網友投稿 940 2025-04-01

      《OpenStack高可用集群(上冊):原理與架構》—2.4 Mirantis OpenStack高可用部署架構


      2.4 Mirantis OpenStack高可用部署架構

      Mirantis是OpenStack最為成功的創業公司之一,其在2013年10月開始發布自己的OpenStack版本Fuel,Fuel也是基于OpenStack社區的發行版本。也許在開源社區或者IT業界,Mirantis的影響力不及Redhat,但是在基于OpenStack的產品發布和社區影響力上,Mirantis絲毫不亞于Redhat。Mirantis的Fuel系列產品以其簡易可靠的特性在OpenStack用戶群中占有很大市場,而且從OpenStack的第十三個發行版本Mitaka的代碼貢獻來看,Mirantis已經領先于Redhat成為代碼貢獻量最大的公司,并且在OpenStack下一版本Newton的代碼貢獻中,Mirantis以24%的代碼貢獻率占據第一的位置(截至2016年4月),此外,Mirantis還是OpenStack社區的黃金會員,其與VMware、Citrix、Ericsson、Oracle、Dell等傳統IT巨頭和國內的UCloud等公有云初創公司都有良好的合作,并且Mirantis的產品支持在眾多操作系統上進行部署,可以說,Mirantis作為一家“純凈”地聚焦在OpenStack上的創業公司,其在OpenStack推廣部署方面做出了極大貢獻,同時其Fuel系列產品和技術實力也得到了廣大OpenStack用戶群的認可。在OpenStack社區的“大帳篷”模式下,以Mirantis貢獻代碼為主的項目包括Fuel、Murano、Sahara、Rally等。

      2.4.1 Mirantis OpenStack高可用集群部署架構

      使用Mirantis的Fuel部署工具,用戶可以將OpenStack部署為高可用模式或者非高可用模式,此外,用戶還可以在初期將OpenStack部署在非高可用環境中,隨后再添加另外的節點并實現OpenStack集群的高可用。這一部署模式非常適合很多OpenStack初級用戶在私有云上的遞進部署,因為很多用戶在初期更多的是功能測試與驗證,在各個所需功能得到驗證后,用戶通過Fuel工具可以快速轉入具備高可用的生產環境。在OpenStack的生產環境中,Mirantis強烈建議使用高可用部署架構,由于OpenStack服務眾多,每個服務的單點故障都有可能導致整個OpenStack集群無法正常工作。為了能夠提供冗余的服務器以防止單點故障,Mirantis推薦的高可用部署架構至少需要三臺控制器才能保證OpenStack服務的冗余。同時,為了減少部署環境對硬件的需求,在Mirantis的高可用架構中,用戶也可以將計算、存儲和網絡節點混合部署,盡管這樣會降低集群性能和高可用環境的穩健性,圖2-23為Mirantis提供的OpenStack高可用集群多節點部署拓撲。

      OpenStack服務之間的交互主要基于兩種方式實現,即基于HTTP協議的REST API和基于RPC的消息隊列,所以在Mirantis的OpenStack高可用集群部署中,無狀態(Stateless)服務如OpenStack API服務,其高可用的實現主要借助Pacemaker管理的虛擬IP和負載均衡器HAProxy以實現客戶端服務請求的負載均衡。而對于有狀態的OpenStack服務組件,諸如數據庫和消息隊列服務,其高可用性則是通過這些組件自身的Active/Active或Active/Passive高可用模式來實現,例如消息隊列服務RabbitMQ使用其內置的集群機制實現消息隊列的鏡像高可用,而數據庫則使用MySQL/Galera復制機制來實現高可用,圖2-24為Mirantis提供的OpenStack高可用集群組件之間的交互與調用關系拓撲。

      圖2-23 Mirantis OpenStack高可用集群多節點部署拓撲

      圖2-24 Mirantis OpenStack高可用集群服務組件交互調用關系

      Mirantis多節點高可用OpenStack環境涉及三種類型的節點,分別是控制節點、計算節點、存儲節點。業務系統高可用性設計的首要考慮便是物理設備的冗余,因此作為運行OpenStack服務最多的控制節點,必須實現服務器節點的冗余。由于MySql數據庫運行在控制節點上,并通過Galera來實現高可用,而Galera是一個基于Quorum的系統,因此作為高可用OpenStack集群的控制節點理論上至少需要3臺服務器組成,而Mirantis的部署文檔認為,除了集群服務可用性有所降低之外,兩個控制節點也是可行的,而且控制節點和服務都可以通過Scale-out的方式進行擴容,因此后期也可以將控制節點增加到5個或者7個(考慮Quorum機制,如果想要通過增加控制節點數目來負載均衡訪問請求,只需將控制節點數目增加到奇數個即可)。在OpenStack高可用集群中,每個控制節點上均運行HAProxy程序,HAProxy負責向外部客戶端提供單一高可用的服務訪問IP地址(VIP),并將客戶端對該IP地址的訪問以負載均衡的形式轉發到后端對應的OpenStack API、數據庫、消息隊列等服務上進行最終的處理,圖2-25為Mirantis OpenStack高可用架構下控制節點上的服務部署和高可用情況。

      圖2-25 Mirantis OpenStack高可用集群控制節點服務部署

      在多節點OpenStack高可用環境下,當終端用戶從Dashboard訪問OpenStack云服務或者以命令行形式向Openatck服務,如Nova-api、Glance-api、Keystone-api、Neutron-api、Nova-scheduler或者MySQL服務的REST API發出訪問請求時,客戶端請求將會進入HAProxy活動的控制節點,因為HAProxy對外提供的服務IP地址(VIP)只會在HAProxy活動的節點上出現,同時客戶端請求被HAProxy終止,即客戶端請求是不會直接抵達OpenStack服務的API的,當客戶端發起下一個訪問請求時,HAProxy仍然會將其終止并重新轉發給位于后端控制節點上的相應OpenStack服務,而這個控制節點可能與之前處理請求的控制節點相同,也可能是另外的控制節點,主要取決于用戶對HAProxy負載均衡策略的設置。

      Mirantis提供的OpenStack高可用集群設計模式與Redhat差異并不大,其主要思想也是將無狀態服務通過HAProxy和Pacemaker實現Active/Active高可用模式,其他有狀態服務則利用Pacemaker通過控制服務的OCF腳本來實現高可用,具體的服務高可用模式如下:

      OpenStack無狀態服務,如Nova-api、Glance-api、Keystone-api、Neutron-api、Nova-scheduler和Cinder-api 可以通過負載均衡的形式實現Active/Active高可用模式。

      作為典型Web應用的Horizon,則通過在負載均衡中設置粘性會話(Stick Session)的形式實現Active/Active高可用模式。

      RabbitMQ本身提供了Active/Active高可用集群,其高可用主要通過隊列鏡像(Mirrored Queue)的形式實現,RabbitMQ高可用集群通過Pacemaker調用客戶自定義的OCF腳本(Resource Agent)來實現。

      MySQL/MariaDB的高可用通過Galera集群實現,具體實現過程則通過Pacemaker調用Galera的OCF腳本(Resource Agent)進行資源高可用性的管理。Mirantis還特別強調后端MySQL/MariaDB服務應該運行在Active/Passive模式下,因為Active/Active模式在生產環境中還不具有穩定性。

      Neutron的多個Agent通過Pacemaker管理OCF腳本的形式運行在Active/Passive模式下。

      Mirantis推薦使用的后端存儲服務是Ceph,Ceph有其自身的高可用集群機制,需要注意的是,Ceph要求運行其監控服務(Monitor)的節點必須保持時鐘同步,時鐘差異超過50ms則可能會影響到Ceph的Quorum機制甚至Crush算法。

      在OpenStack云環境中,計算節點是整個IaaS服務的基礎,用戶的虛擬機(VM)和應用最終都運行在計算節點上,計算節點在運行過程中需要訪問控制節點的某些服務,例如RabbitMQ和MySql數據庫等,而控制節點上的這些服務都是通過HAProxy向來自Horizon或者REST API的客戶端請求提供冗余,即計算節點對控制節點服務的訪問也由HAProxy代理,計算節點總是通過訪問HAProxy對外提供的VIP來實現對控制節點服務的訪問,

      圖2-26是Mirantis OpenStack高可用集群下計算節點與控制節點之間的服務訪問示意圖。

      在Mirantis的高可用架構下,存儲節點可以有多種選擇,例如用戶可以在存儲節點上部署使用Cinder、Swift或者Ceph來作為OpenStack集群的存儲服務,從集群共享存儲和高可用角度考慮,Mirantis建議在存儲節點上部署Ceph服務,用戶需要注意的是保證足夠的控制節點數目(通常為三個)以確保運行在控制節點上的Ceph監控服務Monitor能夠實現Quorum機制,同時需要部署足夠的OSD節點以滿足Ceph數據的多份復制從而實現Ceph集群數據的冗余高可用,圖2-27為Mirantis推薦的基于Ceph集群的存儲節點拓撲圖。

      圖2-27 Mirantis OpenStack高可用集群中的存儲節點拓撲圖

      OpenStack 云計算

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:wps文字怎樣設置Excel表格求和(wps表格怎么設置求和)
      下一篇:我的PG數據庫備份優化之路
      相關文章
      亚洲风情亚Aⅴ在线发布| 亚洲男人天堂2018av| 亚洲AV美女一区二区三区| 亚洲色偷拍区另类无码专区| 理论亚洲区美一区二区三区| 亚洲一区二区三区高清不卡| 亚洲成人午夜在线| 91亚洲国产成人久久精品网站| 精品亚洲永久免费精品| 亚洲精品无码mv在线观看网站| 亚洲人成国产精品无码| 亚洲精品无码av天堂| 亚洲国产综合精品一区在线播放| heyzo亚洲精品日韩| 亚洲精品国产自在久久 | 亚洲国产美女精品久久| 91亚洲性爱在线视频| 亚洲国产精品无码AAA片| 亚洲av无码不卡| 亚洲AV永久无码区成人网站| 亚洲色婷婷一区二区三区| 黑人精品videos亚洲人| 亚洲一区二区三区影院| 久久亚洲av无码精品浪潮| 中文字幕亚洲无线码a| 亚洲无人区一区二区三区| 亚洲日本乱码在线观看| 精品亚洲综合在线第一区| 亚洲综合精品一二三区在线| 亚洲福利视频网址| 久久亚洲国产成人影院| 99亚洲乱人伦aⅴ精品| 亚洲精品视频免费观看| 精品亚洲一区二区| 亚洲系列国产精品制服丝袜第| 久久精品国产亚洲AV大全| 亚洲校园春色另类激情| 亚洲国产精品成人午夜在线观看| 亚洲成a人片在线观看老师| 亚洲精品二区国产综合野狼| 亚洲福利在线观看|