多服务器对外提供一个浮动ip

浅调研了下浮动ip方案。主要是用来做高可用/灾备切换,同一时间只有一个服务器提供服务。

三个问题

无论是什么方案,都要解决这三个问题:

  1. 如何配置浮动ip
  2. 如何实现故障检测
  3. 如何切换浮动ip

浮动IP方案

第一种:主备手动配置ip,脚本执行检测切换

https://blog.csdn.net/helloworld_9/article/details/133799465
主从上网卡配置浮动ip;利用crontab自动执行技术,定时执行脚本,检查IP地址的状态,实现浮动IP的自动开启与关闭(ifdown eth0:1)
本质:主ping自己浮动ip,ping不同就开启;备ping主ip、浮动ip,ping不同就启动从上的浮动ip,能ping通再关

三个ip同一个网段
问题:
1.从有网络问题导致ping不通主时,两个浮动ip都开启怎么办?
2.检测脚本自己挂了怎么办?

第二种:keepalived

https://blog.csdn.net/Hack_Bug/article/details/110914696
keepalived配置vip和检测脚本路径,自动切换

如何监控服务状态:
https://blog.csdn.net/yusewuhen/article/details/133918777
最简单的做法是监控进程,更靠谱的做法是检查端口,最靠谱的做法是检查多个url能否获取到页面。

通过脚本检测服务是否在运行

ip自动漂移,不可控
virtual_ipaddress 要和两台服务器在一个网关里面,还是同网段。不同网段虽然能查到一些文章,单没有看到具体实现方案,得试。

第三种:Heartbeat

这个没怎么查,只看了下同keepalived的区别。感觉非双机热备用不到这么复杂的方案。

keepalived Heartbeat
使用 安装、配置、使用、维护简单 复杂,但功能更强大,配套工具更全
集群管理 用于集群倒换,基本没有管理功能 适合做大型集群管理
协议 使用VRRP协议做双机进行通信和选举 使用心跳进行通信和选举
lvs的高可用建议用keepavlived 业务的高可用建议heartbeat

keepalived是高可用集群,heartbeat是双机热备

Heartbeat仅仅是个HA软件,它仅能完成心跳监控和资源接管,不会监视它控制的资源或应用程序,要监控资源和应用程序是否运行正常,必须使用第三方的插件,例如ipfail、Mon、Ldirector等。Heartbeat自身包含了几个插件,分别是ipfail、Stonith和Ldirectord

heartbeat高可用是服务器级别的,不是服务级别的。

方案总结

回答三个问题:

  1. 如何配置浮动ip:
    本质都是在服务器网卡上配置别名ip或者辅助ip

https://blog.csdn.net/chengxuyuanyonghu/article/details/83539966 提示,别名ip将被遗弃,使用辅助ip替代

  1. 如何实现故障检测:
    自动检测顶多能检测到ip通不通,想要检测服务挂不挂、挂了再切就要自己写脚本
  2. 如何切换浮动ip:
    既然vip都是配到了网卡上,猜测一下,就是删除现在的vip配到另一台机器上。(待查证)

更复杂的情况-别的思路

简单场景用简单方法,如果场景复杂了,就要考虑别的问题。

  1. 高可用/灾备切换,同一时间只有一个服务器提供服务,相对简单。如果是需要同时提供服务,负载均衡,如何处理?
  2. 如果不是多服务器,是多集群,对外提供一个浮动ip,这个ip配在哪里?

这就要搞复杂方案了,上nginx,单独写一篇。
——看这个nginx反向代理,暂时就先写到vip,负载均衡后面补上。

扩展:HaVip

查资料的时候看到了这个,总体就是云环境会有问题,所以也先放到这里。

https://help.aliyun.com/zh/vpc/user-guide/use-highly-available-virtual-ip
在VPC(虚拟私有云)环境下不支持免费ARP广播功能,无法像传统方式一样修改主机IP地址,且整个虚拟网络是基于3层的隧道技术,ARP被终结在发送端,主机无法声明IP地址。

最近更新

  1. TCP协议是安全的吗?

    2024-01-19 06:18:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-19 06:18:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-19 06:18:08       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-19 06:18:08       20 阅读

热门阅读

  1. 使用Apache Spark处理Excel文件的简易指南

    2024-01-19 06:18:08       33 阅读
  2. Apache-iotdb物联网数据库的安装及使用

    2024-01-19 06:18:08       26 阅读
  3. 高并发大游戏如何选择阿里云服务器配置?

    2024-01-19 06:18:08       28 阅读
  4. c++使用cmake生成共享库

    2024-01-19 06:18:08       33 阅读
  5. 概率论在激光雷达的目标检测和跟踪中的应用

    2024-01-19 06:18:08       30 阅读
  6. vue+springboot的文件上传处理

    2024-01-19 06:18:08       32 阅读