linux 虚拟ip 漂移,keepalived 虚拟ip切换

linux 虚拟ip 漂移,keepalived 虚拟ip切换简介 KeepalivedKe 是运行在 lvs 之上 是一个用于做双机热备 HA 的软件 它的主要功能是实现真实机的故障隔离及负载均衡器间的失败切换 提高系统的可用性 虚拟 ip 虚 IP 就是一个未分配给真实主机的 IP 也就是说对外提供数据库服务器的主机除了有一个真实 IP 外还有一个虚 IP 使用这两个 IP 中的任意一个都可以连接到这台主机 所有项目中数据库链接一项配置的都是这个虚 IP

简介

Keepalived

Keepalived 是运行在 lvs 之上,是一个用于做双机热备(HA)的软件,它的主要功能是实现真实机的故障隔离及负载均衡器间的失败切换,提高系统的可用性。

虚拟ip

虚IP,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个 IP 中的任意一个都可以连接到这台主机,所有项目中数据库链接一项配置的都是这个虚IP,当服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用主机。这个切换的过程我们称之为IP漂移

其实现原理主要是靠 TCP/IP 的 ARP 协议。因为 IP 地址只是一个逻辑 地址,在以太网中 MAC 地址才是真正用来进行数据传输的物理地址,每台主机中都有一个 ARP缓存,存储同一个网络内的IP地址与 MAC 地址的对应关系,以太网中的主机发送数据时会先从这个缓存中查询目标 IP 对应的MAC地址,会向这个 MAC 地址发送数据。操作系统会自动维护这个缓存。这就是整个实现的关键。

我们可以通过 Keepalived 来实现这个过程。 Keepalived 是一个基于 VRRP 协议(Virtual Router Redundancy Protocol,即虚拟路由冗余协议)来实现的LVS(负载均衡器)服务高可用方案,可以利用其来避免单点故障。

运行原理

keepalived 通过选举(看服务器设置的权重)挑选出一台热备服务器做 MASTER 机器,MASTER 机器会被分配到一个指定的虚拟 ip,外部程序可通过该 ip 访问这台服务器,如果这台服务器出现故障(断网,重启,或者本机器上的 keepalived crash 等),keepalived 会从其他的备份机器上重选(还是看服务器设置的权重)一台机器做 MASTER 并分配同样的虚拟 IP,充当前一台 MASTER 的角色。

选举策略

选举策略是根据 VRRP 协议,完全按照权重大小,权重最大(0~255)的是 MASTER 机器,下面几种情况会触发选举

keepalived 启动的时候

master 服务器出现故障(断网,重启,或者本机器上的 keepalived crash 等,而本机器上其他应用程序 crash 不算)

有新的备份服务器加入且权重最大

keepalived 的配置文件说明

Keepalived 是运行在 lvs 之上, 它的主要功能是实现 RealServer(真实服务器)的故障隔离及 Director(负载均衡器)间的 FailOver(失败切换).

keepalived 是 lvs 的扩展项目, 因此它们之间具备良好的兼容性

对 RealServer 的健康检查, 实现对失效机器 / 服务的故障隔离

负载均衡器之间的失败切换 failover

简单示例

节点1 :10.10.201.102

节点2 :10.10.201.103

这里我们将虚拟ip配置为 10.10.201.101

vrrp_instance VI_1 {

state MASTER

interface ens160

virtual_router_id 50

priority 101

advert_int 1

authentication {

auth_type PASS

auth_pass

}

virtual_ipaddress {

10.10.201.101

}

}

节点2

vrrp_instance VI_1 {

state MASTER

interface ens160

virtual_router_id 51

priority 101

advert_int 1

authentication {

auth_type PASS

auth_pass

}

virtual_ipaddress {

10.10.201.101

}

}

启动节点1和2的keepalived

systemctl start keepalived.service

加入开机启动

systemctl enable keepalived.service

然后ping虚拟ip 10.10.201.101,正常ping通,配置ok。

登录节点1查看ip信息,这里只能用 ip addr show 来查看,执行以下命令:

ip addr show ens160

2: ens160: mtu 1500 qdisc mq state UP group default qlen 1000

link/ether 00:50:56:b7:63:c2 brd ff:ff:ff:ff:ff:ff

inet 10.10.201.102/23 brd 10.10.201.255 scope global ens160

valid_lft forever preferred_lft forever

inet 10.10.201.101/32 scope global ens160

valid_lft forever preferred_lft forever

inet6 fe80::250:56ff:feb7:63c2/64 scope link

valid_lft forever preferred_lft forever

可以看到,多出来一条虚拟ip的记录。当node1的节点宕机或者keepalived挂了的时候,就会自动切换到节点2上面,可以在节点2看到这一条记录信息。

以上只是一个简单的测试示例,更多的功能,待后续试验。

参考地址

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233275.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 人脸表情识别系统介绍——上篇(python实现,含UI界面及完整代码)

    人脸表情识别系统介绍——上篇(python实现,含UI界面及完整代码)摘要:这篇博文介绍基于深度卷积神经网络实现的人脸表情识别系统,系统程序由Keras,OpenCv,PyQt5的库实现,训练测试集采用fer2013表情库。如图系统可通过摄像头获取实时画面并识别其中的人脸表情,也可以通过读取图片识别,本文提供完整的程序文件并详细介绍其实现过程。博文要点如下:表情识别数据集、搭建表情识别的模型、数据增强的批量训练、系统UI界面的实现。点击跳转至博文涉及的全部文件下载页。

    2022年4月29日
    194
  • python处理xps文件_xps/pdf/png/json转换

    python处理xps文件_xps/pdf/png/json转换问题11.如何移植最新版本的pdf.js到pdf2json库中来2.如何实现坐标换算参考源码x/px=PDFUnit.toPixelX(x+0.25)y/px=PDFUnit.toPixelY(x+0.75)w/px=PDFUnit.toFixedFloat(maxWidth),Theunitforallwidth,height,length,etc,isin”…

    2022年5月4日
    53
  • Oracle 11g安装步骤(超详细)

    Oracle 11g安装步骤(超详细)今天电脑装了win10,需要重新装oracle,这边记录一下重装过程,避免下次浪费时间。1、oracle下载官方下地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。路径名称中,最好不要出现中文,也不…

    2022年7月25日
    11
  • 清华大学团队:人脸识别爆出巨大丑闻,15分钟解锁19款手机

    清华大学团队:人脸识别爆出巨大丑闻,15分钟解锁19款手机1清华大学的RealAI团队15分钟解锁19款手机刚刚,清华大学的一条重大发现,利用人脸识别技术的漏洞,“15分钟解锁19个陌生智能国产手机”的事件,引发无数网友关注。据悉,清华大学的RealAI团队共选取了20款手机,其中1款是国外的,另外19款都是我们国产的智能手机,居来自排名前五的国产手机品牌,每一品牌下选取了3-4款不同价位的手机型号,覆盖低端机到旗舰机。1)测试步骤如下:第一步,清华大学的测试人员,把19部国产手机,人脸识别全部绑定为旁边的“1号同学”;

    2022年6月5日
    142
  • NTP协议介绍

    NTP协议介绍查看原作者:转载自:NTP协议介绍(2013-06-1914:50:50)转载▼SNTP协议原理SNTP是简单网络时间协议(SimpleNetworkTimeprotocol)的简称,它是目前Internet网上实现时间同步的一种重要工程化方法。本文对SNTP协议的工作原理、工作模式、时间戳格式、信息帧格式进行了研究,最后对SNTP协议的应用提出一些有益的建议。关键词:SNTP;时间同步;时间戳格式;报文格式TitleAnalysisforSNTPprotocolAbstrac

    2022年10月12日
    3
  • XR和XS哪个好_苹果XR用起来怎么样啊

    XR和XS哪个好_苹果XR用起来怎么样啊电容是我们日常中长使用的器件,其具体分类如下:(1)COG此类材质为I类电容器

    2022年8月22日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号