天翼雲高可用虛擬IP(HAVIP)實踐

天翼雲開發者社群發表於2022-05-18

作者:天翼雲 研發一部 郭雲鈴


(一)  產品概述

天翼雲高可用虛擬 I P High-Availability Virtual IP Address,簡稱H AVIP )是一種可用獨立建立和刪除的私有網路 I P 地址資源。通過在 V IP CIDR 中申請一個私有網路 I P 地址,然後與高可用軟體(如高可用軟體 Keepalived)配合使用,可用在V PC 中搭建高可用的主備叢集服務,提高 V PC 中服務的可用性。

限制和說明:

1. 單子網建立的HAVIP 有quota限制。

2. HAVIP後端 虛擬主機 需要在同子網中,支援VRRP協議,自動主備切換,支援雙棧。

3. 使用者建立HAVIP指定ip地址時,需要保證該ip地址可用,且在同子網內。

4. 刪除HAVIP前需要解綁 虛擬例項 (即 port)

5. HAVIP功能只實現了基礎網路底層支援HAVIP功能,使用者使用時需要在HAVIP繫結的例項中結合 高可用軟體 (如 Keepalived)一起使用。

(二)  工作原理

H AVIP 工作原理如下圖所示:

 

在子網中建立 H AVIP 後,然後給 H AVIP 關聯虛擬例項(實際上是關聯虛擬例項的網路卡,關聯的網路卡可為主網路卡,也可為輔助網路卡),此時 HAVIP 具備和虛擬例項私網 I P 地址一樣的網路接入能力。然後在虛擬例項中部署高可用軟體如 Keepalived和應用服務,從而實現V PC 中的高可用主備服務。

完成上述操作後,虛擬主機中的 Keepalived通過V RRP 協議來實現虛擬路由的功能。虛擬路由包含 V RID 和一組 I P 地址。在一個虛擬路由中,不管誰是 master角色,對外都有相同的M AC I P (即 V IP )。當某個虛擬例項競爭為 master角色,其會一直髮送V RRP 協議包,告訴 Backup角色的節點自己還“活著”,Backup角色的節點就不會搶佔master角色。此外還可以通過配置priority優先順序來決定哪個節點優先被選為master角色節點。

主備節點的切換。當主備節點正常執行時,主節點會不斷的傳送 VRRP 協議報文(即心跳訊息),備節點接受報文。當主節點故障時,其無法發出心跳訊息,此時備節點也無法接收到主節點的心跳,當達到一定時間時,備節點會接管主節點的 I P 資源及服務,替代主節點對外提供服務,從而實現主備切換,實現服務的高可用。

(三)  如何在 V PC 中使用 H AVIP 搭建高可用的服務

3.1 資源建立

登入天翼雲 Console,進入虛擬私有云介面建立V PC, 子網,公網 ip資源,然後在彈性雲主機介面建立用來搭建高可用服務的虛擬例項資源。(本文件中建立兩個虛擬例項V M1 V M2 ,建立的公網 I P E IP1) 。資源建立為接下來操作的前提。

3.2 建立虛擬 I P 地址

進入虛擬私有云 介面,選擇子網,然後選擇要建立虛擬 I P 地址的子網,在子網詳情頁面中建立虛擬 I P 地址。虛擬 I P 地址支援自動分配和手動指定。建立介面如下:

 

建立完成後,將申請的虛擬繫結 3 .1 步驟建立的虛擬例項 V M1 V M2 ,並將虛擬 ip地址與E IP1 進行繫結,以實現服務的公網訪問。

3 .3 虛擬例項軟體配置部署

在虛擬例項 V M1 V M2 中分別部署高可用軟體 Keepalived和應用服務,修改其配置檔案,啟動應用服務和Keepalived。Keepalived的配置檔案預設在/ etc/keepalived/keepalived.conf 檔案中,配置值可根據實際情況進行配置。以下配置檔案為本文件進行測試時的配置:

Keepalived.conf

 

I P 相關配置部分在 vrrp _instance V1_1 中。 V M1 V M2 中配置啟動完高可用服務軟體 Keepalived和應用服務後,就可以通過H AVIP 進行訪問服務了。在進行測試主備切換驗證時,可以通過主動 down掉   主節點 VM1 V M2 的方式,檢視 H AVIP 是否切換到備節點。通過 H AVIP 繫結的 E IP1 可以從公網訪問 H AVIP 後端的服務。

(四)  參考

K eepalived配置引數說明


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014251/viewspace-2895156/,如需轉載,請註明出處,否則將追究法律責任。

相關文章