溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于OpenStack M版本各組件高可用方案探索是怎樣的

發布時間:2021-12-27 14:24:23 來源:億速云 閱讀:210 作者:柒染 欄目:云計算

基于OpenStack M版本各組件高可用方案探索是怎樣的,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

1       前言

本測試主要是針對Openstack各個組件,探索實現高可用的部署架構,防止在某個物理節點down機之后造成云平臺服務以及虛擬機實例的不可用。

Openstack主要組件以及需要考慮實現HA的部分如下:

1:keystone認證模塊

1)     keystone-api

2:glance鏡像模塊

1)     glance-api

2)     glance-registry

3)     glance backend storage

3:nova計算模塊

1)     nova-api

2)     nova-novncproxy

3)     instance

4;cinder塊存儲模塊

1)     cinder-api

2)     cinder-volume

5:neutron網絡模塊

1)     neutron-server

2)     l3 router

6:swift對象存儲模塊

1)     proxy-server

7:horizon前臺dashboard界面

8:后臺mariaDB數據庫

9:rabbitmq消息隊列中間件

10:memcache緩存系統

部署的物理主機信息如下:

節點名

登錄操作IP地址

內部組件通信IP地址

OS版本

Openstack版本

controller

10.45.5.155

192.168.159.128

CentOS7.2

mitaka

compute

10.45.6.196

192.168.159.129

CentOS7.2

mitaka

compute1

10.45.6.191

192.168.159.130

CentOS7.2

mitaka

所有主機均部署openstack所有的服務組件,方便進行高可用部署。

2       Openstack各組件HA實現方式

2.1      keystone組件高可用

1)     keystone-api(httpd)

高可用實現方式:

pacemaker+corosync通過pacemaker生成浮動地址,3個節點將keystone服務監聽直接啟動在0.0.0.0,浮動地址在各個節點之間切換,同時只有一個節點提供服務。

haproxy通過pacemaker生成浮動地址,3個節點將keystone服務監聽直接啟動在各個節點的內部通信ip上,再通過haproxy將監聽啟動在浮動ip上,統一對外提供服務,并對下面3個物理節點分發請求。

遺留問題:使用haproxy無法做到A-A負載均衡模式,會有token信息混亂的問題,所以在haproxy中只能配置一個active節點,其他節點為backup。

 

2.2      glance組件高可用

1)     glance-api, glance-registry

高可用實現方式:

pacemaker+corosync通過pacemaker生成浮動地址,3個節點將api和registry服務監聽直接啟動在0.0.0.0,浮動地址在各個節點之間切換,同時只有一個節點提供服務。

haproxy通過pacemaker生成浮動地址,3個節點將api和registry服務監聽直接啟動在各個節點的內部通信ip上,再通過haproxy將監聽啟動在浮動ip上,統一對外提供服務,并對下面3個物理節點分發請求實現A-A模式冗余。

2)     glance后端存儲

高可用實現方式:

swift后端通過連接swift對象存儲的浮動ip,依靠swift本身的高可用性,實現glance后端存儲的HA。

 

遺留問題:暫無

2.3      nova組件高可用

1)     nova-api, nova-novncproxy

高可用實現方式:

pacemaker+corosync通過pacemaker生成浮動地址,3個節點將api和vncproxy服務監聽直接啟動在0.0.0.0,浮動地址在各個節點之間切換,同時只有一個節點提供服務。

haproxy通過pacemaker生成浮動地址,3個節點將api和vncproxy服務監聽直接啟動在各個節點的內部通信ip上,通過haproxy將監聽啟動在浮動ip上,統一對外提供服務,并對下面3個物理節點分發請求,實現A-A模式冗余。

2)     instance

高可用實現方式:

instance live migrate通過live migrate功能實現實例在計算節點之間的在線遷移.(類似vSphere中的vmotion功能 )

instance evacuate通過nova-evacuate組件實現在計算節點宕機的情況下,將instance從其他節點上重啟。

遺留問題:暫時沒有可靠的方法實現在主機故障的情況下自動觸發instance evacuate.(實現類似vSphere HA的功能)

2.4      cinder組件高可用

1)     cinder-api

高可用實現方式:

pacemaker+corosync通過pacemaker生成浮動地址,3個節點將api服務監聽直接啟動在0.0.0.0,浮動地址在各個節點之間切換,同時只有一個節點提供服務。

haproxy通過pacemaker生成浮動地址,3個節點將api服務監聽直接啟動在各個節點的內部通信ip上,通過haproxy將監聽啟動在浮動ip上,統一對外提供服務,并對下面3個物理節點分發,請求實現A-A模式冗余。

2)     cinder-volume

高可用實現方式:

cinder migrate通過在多個節點部署cinder-volume服務,連接后端同一個磁陣。當其中一個cinder-volume出現問題,如主機宕機,存儲鏈路故障等,即可使用cinder migrate將volume host為宕機的cinder節點的volume的volume host更改為正常的host,即可重新訪問到存儲。

遺留問題

1.      暫時沒有可靠的方案實現cinder-volume服務狀態的檢測以及自動切換,如無法監控存儲鏈路故障。

2.      暫時無法配置volume跨backend的在線拷貝遷移(實現類似vSphere中Storage Vmotion的功能)

2.5      neutron組件高可用

1)     neutron-server

高可用實現方式:

pacemaker+corosync通過pacemaker生成浮動地址,3個節點將neutron-server服務監聽直接啟動在0.0.0.0,浮動地址在各個節點之間切換,同時只有一個節點提供服務。

haproxy通過pacemaker生成浮動地址,3個節點將neutron-server服務監聽直接啟動在各個節點的內部通信ip上,通過haproxy將監聽啟動在浮動ip上,統一對外提供服務,并對下面3個物理節點分發請求, 實現A-A模式冗余。

2)     l3 router

高可用實現方式:

keepalived+vrrp待測試

遺留問題

1.      如果要將我們當前的vmware的組網方式照搬到openstack上,可能無法對號入座,需要一起討論一下。

2.6      swift組件高可用

1)     proxy-server

高可用實現方式:

pacemaker+corosync通過pacemaker生成浮動地址,3個節點將proxy-server服務監聽直接啟動在0.0.0.0,浮動地址在各個節點之間切換,同時只有一個節點提供服務。

haproxy通過pacemaker生成浮動地址,3個節點將keystone服務監聽直接啟動在各個節點的內部通信ip上,通過haproxy將監聽啟動在浮動ip上,統一對外提供服務,并對下面3個物理節點分發請求,實現A-A模式冗余。

遺留問題:暫無

2.7      horizon組件高可用

1)     dashboard

高可用實現方式:

pacemaker+corosync通過pacemaker生成浮動地址,3個節點將dashboard web服務監聽直接啟動在0.0.0.0,浮動地址在各個節點之間切換,同時只有一個節點提供服務。

haproxy通過pacemaker生成浮動地址,3個節點將dashboard web服務監聽直接啟動在各個節點的內部通信ip上,通過haproxy將監聽啟動在浮動ip上,統一對外提供服務,并對下面3個物理節點分發請求,實現A-A模式冗余。

遺留問題:暫無

2.8      MariaDB高可用

galera cluster三個節點均安裝MariaDB數據庫,通過galera cluster創建多節點多主集群,然后通過pacemaker生成浮動地址,在各個節點之間切換,同時只有一個數據庫節點提供服務。

遺留問題:官方ha-guide中有使用haproxy掛galera cluster的例子,但是實際配置中暫時無法使用haproxy做前端分發,通過haproxy監聽的端口無法連接數據庫,原因暫時還未查明。

2.9      RabbitMQ高可用

rabbitmq internal clusterrabbitmq內部提供和原生的集群機制,可以將多個節點加入到一個集群中,通過網絡同步消息隊列數據。并且openstack其他各個組件也內部提供了冗余的消息隊列配置選項,在配置message queue地址的時候,同時加入3個節點的地址和端口即可。

遺留問題:暫無

2.10 Memcached高可用

original supported by openstackopenstack原生支持memcached的A-A多點配置,和rabbitmq類似,只需要在配置項中配置所有memcached節點的地址即可

遺留問題:暫無

3       總結

根據如上測試結論,得出各個組件的HA機制實現矩陣如下:

系統模塊

服務模塊

pacemaker+corosync

haproxy

其他機制

備注

keystone認證模塊

keystone-api

 

haproxy暫時不支持負載均衡模式

glance鏡像模塊

glance-api

 

 

glance-registry

 

 


glance后端存儲

   ×

   ×

swift

 


nova計算模塊

nova-api

 

 

nova-novncproxy

 

 


instance

   ×

   ×

nova migrate
nova evacuate

暫時無法實現故障時自動evacuate


cinder塊存儲模塊

cinder-api

 

 

cinder-volume

   ×

   ×

cinder migrate

暫時無法實現故障時自動migrate


neutron網絡模塊

neutron-server

 

 

L3 router

×

×

Keepalived+vrrp

Router冗余方案待測試

openstack組網方案需要討論


swift對象存儲模塊

proxy-server

 

 

horizon前臺管理界面

dashboard

 

 

mariadb后臺sql數據庫

mariadb

   ×

galera cluster

按照官方ha指導中的haproxy配置方式客戶端無法連接數據庫

rabbitmq消息隊列

rabbitmq

   ×

   ×

自帶cluster機制

 

memcached緩存系統

memcached

   ×

   ×

openstack原生支持多memcached server

 

關于基于OpenStack M版本各組件高可用方案探索是怎樣的問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女