• 产品概述

天翼云高可用虚拟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后端的服务。

天翼云高可用虚拟IP(HAVIP)实践相关推荐

  1. [配置]keepalived配置高可用虚拟IP不通

    问题:在keepalived配置的虚拟IP不通 解决:先检查虚拟IP和nginx服务器是不是一个网段,然后检查是否将vrrp_strict这个信息给注释掉.

  2. linux 虚拟ip 作用,linux-高可用之虚拟ip地址(VIP)

    高可用技术主要是指WEB网站.数据库.业务系统等持续不断的高 效.稳定的运行,为互联网用户提供高效的访问.高可用不是说网站. 数据库系统不宕机,而是指宕机.故障的时间是很短暂,能够快速恢 复.高可用技 ...

  3. 高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制)

    高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制) 视频地址:https://www.bilibili.com/video/BV1ry4y1v7Tr?p=8& ...

  4. 高可用之虚拟IP和IP漂移

    1.虚拟IP 在 TCP/IP 的架构下,所有想上网的电脑,不论是用何种方式连上网路,都必须要有一个唯一的 IP-address.事实上IP地址是主机硬件地址的一种抽象,简单的说,MAC地址是物理地址 ...

  5. 阿里云高可用架构之“CDN+WAF+SLB+ECS

    [企业实战]:阿里云高可用架构之"CDN+WAF+SLB+ECS"  相信有些朋友看过笔者之前写的这篇文章 <如何为企业快速设计高可用的阿里云架构>,并对阿里云的一些服 ...

  6. 服务器设置虚拟ip,服务器设置虚拟ip

    服务器设置虚拟ip 内容精选 换一换 组合API版本1.8.9及以上ECS UI版本2.2.29及以上Region内的所有裸金属服务器POD必须全部升级为IaaS OpenStack V100R006 ...

  7. Nginx+Keepalived高可用集群应用实践

    Nginx+Keepalived高可用集群应用实践 1.Keepalived高可用软件 1.1 Keepalived服务的三个重要功能 1.1.1管理LVS负载均衡软件 早期的LVS软件,需要通过命令 ...

  8. sql server配置管理器在哪里看ip_微服务管理平台nacos虚拟ip负载均衡集群模式搭建...

    一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...

  9. keepalived mysql双主架构图_基于MySQL双主的高可用解决方案理论及实践

    MySQL在互联网应用中已经遍地开花,但是在银行系统中,还在生根发芽的阶段.本文记录的是根据某生产系统实际需求,对数据库高可用方案从需求.各高可用技术特点对比.实施.测试等过程进行整理,完善Mysql ...

  10. LoadRunner 使用虚拟IP测试流程

    LoadRunner 使用虚拟IP测试流程 LoadRunner 使用IP欺骗的原因 1. 当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量 ...

最新文章

  1. 文件目录Android SDK目录结构
  2. Sed教程(三):模式缓冲区、模式范围
  3. 我的Objective-C系列文章
  4. 洛谷 - P3321 [SDOI2015]序列统计(原根+NTT)
  5. Java NIO:浅析I/O模型
  6. python计算入门_Python入门教程02-01(计算机核心基础)
  7. Try Catch C++ 异常捕获
  8. android dp sp px_你真的了解android的屏幕适配吗?
  9. 千峰教育2218期2022.10.19日
  10. 前端上半年工作总结、下半年工作计划
  11. 护士人文修养测试题答案
  12. 29、NeRV: Neural Reflectance and Visibility Fields for Relighting and View Synthesis
  13. 查看浏览器Browsers的内核版本, 可以用 navigator.userAgent
  14. Matlab实现滤波器,进行ASK、FSK、多音信号的滤波
  15. 可控硅整流电路中的波形系数
  16. 小猿圈python之python期末考试测试题(二)_小猿圈Python开发面试题(一)
  17. java链表源码_JAVA之链表源码 - 飞翔的南极企鹅的个人空间 - OSCHINA - 中文开源技术交流社区...
  18. Convex Formulation for Learning from Positive and Unlabeled Data
  19. 计算机入门基础知识大全
  20. 面向切面编程的简单应用

热门文章

  1. FPGA 3-8译码器
  2. 数组作为方法的参数实例和细节(Java)
  3. python自定义事件event的含义_pyqt自定义事件学习出现问题
  4. python列表嵌套字典取值_Python学习100天-Day03(字符串、列表、字典、元组)
  5. php 打印系统变量值,php – Twig:打印变量名为String的变量的值
  6. Windows10下设置开机自启动自己的程序
  7. 浅谈Tomcat的启动流程(源码级别)
  8. MFC基于 单文档为状态栏添加进度条
  9. python 修改文件名 修改日期_python实现批量修改文件名
  10. 详解C/C++预处理器