写点什么

天翼云高可用虚拟 IP(HAVIP)实践

  • 2022 年 5 月 19 日
  • 本文字数:1384 字

    阅读完需:约 5 分钟

作者:天翼云研发一部 程霄


(一) 产品概述

天翼云高可用虚拟 IP(High-Availability Virtual IP Address,简称 HAVIP)是一种可用独立创建和删除的私有网络 IP 地址资源。通过在 VIP CIDR 中申请一个私有网络 IP 地址,然后与高可用软件(如高可用软件 Keepalived)配合使用,可用在 VPC 中搭建高可用的主备集群服务,提高 VPC 中服务的可用性。

限制和说明:

1. 单子网创建的 HAVIP 有 quota 限制。

2. HAVIP 后端虚拟主机需要在同子网中,支持 VRRP 协议,自动主备切换,支持双栈。

3. 用户创建 HAVIP 指定 ip 地址时,需要保证该 ip 地址可用,且在同子网内。

4. 删除 HAVIP 前需要解绑虚拟实例(即 port)。

5. HAVIP 功能只实现了基础网络底层支持 HAVIP 功能,用户使用时需要在 HAVIP 绑定的实例中结合高可用软件(如 Keepalived)一起使用。

(二) 工作原理

HAVIP 工作原理如下图所示:



在子网中创建 HAVIP 后,然后给 HAVIP 关联虚拟实例(实际上是关联虚拟实例的网卡,关联的网卡可为主网卡,也可为辅助网卡),此时 HAVIP 具备和虚拟实例私网 IP 地址一样的网络接入能力。然后在虚拟实例中部署高可用软件如 Keepalived 和应用服务,从而实现 VPC 中的高可用主备服务。

完成上述操作后,虚拟主机中的 Keepalived 通过 VRRP 协议来实现虚拟路由的功能。虚拟路由包含 VRID 和一组 IP 地址。在一个虚拟路由中,不管谁是 master 角色,对外都有相同的 MAC 和 IP(即 VIP)。当某个虚拟实例竞争为 master 角色,其会一直发送 VRRP 协议包,告诉 Backup 角色的节点自己还“活着”,Backup 角色的节点就不会抢占 master 角色。此外还可以通过配置 priority 优先级来决定哪个节点优先被选为 master 角色节点。

主备节点的切换。当主备节点正常运行时,主节点会不断的发送 VRRP 协议报文(即心跳消息),备节点接受报文。当主节点故障时,其无法发出心跳消息,此时备节点也无法接收到主节点的心跳,当达到一定时间时,备节点会接管主节点的 IP 资源及服务,替代主节点对外提供服务,从而实现主备切换,实现服务的高可用。

(三) 如何在 VPC 中使用 HAVIP 搭建高可用的服务

3.1 资源创建

登录天翼云 Console,进入虚拟私有云界面创建 VPC, 子网,公网 ip 资源,然后在弹性云主机界面创建用来搭建高可用服务的虚拟实例资源。(本文档中创建两个虚拟实例 VM1 和 VM2,创建的公网 IP 为 EIP1)。资源创建为接下来操作的前提。

3.2 创建虚拟 IP 地址

进入虚拟私有云界面,选择子网,然后选择要创建虚拟 IP 地址的子网,在子网详情页面中创建虚拟 IP 地址。虚拟 IP 地址支持自动分配和手动指定。创建界面如下:



创建完成后,将申请的虚拟绑定 3.1 步骤创建的虚拟实例 VM1 和 VM2,并将虚拟 ip 地址与 EIP1 进行绑定,以实现服务的公网访问。

3.3 虚拟实例软件配置部署

在虚拟实例 VM1 和 VM2 中分别部署高可用软件 Keepalived 和应用服务,修改其配置文件,启动应用服务和 Keepalived。Keepalived 的配置文件默认在/etc/keepalived/keepalived.conf 文件中,配置值可根据实际情况进行配置。以下配置文件为本文档进行测试时的配置:

Keepalived.conf



IP 相关配置部分在 vrrp_instance V1_1 中。VM1 和 VM2 中配置启动完高可用服务软件 Keepalived 和应用服务后,就可以通过 HAVIP 进行访问服务了。在进行测试主备切换验证时,可以通过主动 down 掉 主节点 VM1 或 VM2 的方式,查看 HAVIP 是否切换到备节点。通过 HAVIP 绑定的 EIP1 可以从公网访问 HAVIP 后端的服务。

(四) 参考

Keepalived 配置参数说明:https://www.keepalived.org/manpage.html

 

发布于: 刚刚阅读数: 2
用户头像

还未添加个人签名 2022.02.22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
天翼云高可用虚拟IP(HAVIP)实践_天翼云开发者社区_InfoQ写作社区