IP漂移是什么东东?听到漂移两个字满脑子都是《速度与激情》、《头文字D》啊,好像很酷炫狂拽的亚子。在我这只菜鸡满眼星星,满脑子炫酷画面的YY下,有请技术大佬龟哥来科普一波IP漂移术。
首先IP 地址漂移的概念是:
应用访问虚拟IP,当主服务器正常工作时,虚拟ip指向主服务器,当主服务器宕掉后,虚拟ip自动指向从服务器,当主服务器被人修好后,再自动指向主服务器。这种虚拟ip的指向方式称为ip地址漂移。
(没错,这虚拟IP就是这么的墙头草~)
IP漂移其实现原理主要是靠TCP/IP的ARP协议。因为ip地址只是一个逻辑地址,在以太网中MAC地址才是真正用来进行数据传输的物理地址,每台主机中都有一个ARP高速缓存,存储同一个网络内的IP地址与MAC地址的对应关系,以太网中的主机发送数据时会先从这个缓存中查询目标IP对应的MAC地址,会向这个MAC地址发送数据。而操作系统会自动维护这个缓存。
IP漂移优点:
采用地址漂移技术,利用虚拟IP地址来绑定主服务器,可有效解决不能利用组播的情况下,多台服务器集群之间的信息交互问题。当其中一台主机有故障时,另一主机接管故障主机的网络IP地址,使网络仍能正常运行。
实现IP漂移系统背景:系统采用双机热备软件,具有负载均衡功能,将信息处理、数据库记录、进程监控等各项功能在两台服务器间进行动态分配,主服务器主要负责完成信息处理、进程监控等,备用服务器完成数据库的记录工作。当主服务器发生故障后,能够进行检测并告警,自动将主服务器上的信息处理和进程监控等应用转移到备用服务器上继续处理,备用服务器切换为主服务器,先前的数据库记录应用仍然保留。
(简单粗暴的解释就是——备胎上位~)
缺点: 在集群的双服务器内,当收到航管雷达或其他管制中心通过网络或串口送过来的信息后,会转入信息处理进程,并将情报送往显示控制台进行显示,工作人员通过显示控制台来观察监视空中目标,并对目标进行人工干预。在航空管制中心之间需要相互交换情报,便于情报共享。在管制中心内有两台服务器,每个服务器具有一个IP地址,采用其中一台服务器IP地址进行通信,如果此服务器出故障将无法接收信息,这就为中心之间采用哪一个IP地址来交换信息造成选择困难。
实例设置虚拟ip漂移 :
我们可以通过 Keepalived 来实现这个过程。 Keepalived 是一个基于 VRRP 协议(Virtual Router Redundancy Protocol,即虚拟路由冗余协议)来实现的LVS(负载均衡器)服务高可用方案,可以利用其来避免单点故障。
一个 LVS 服务会有2台服务器运行 Keepalived,一台为主服务器(MASTER),另一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,备份服务器就会接管虚拟IP,这时就需要根据 VRRP 的优先级来选举一个 backup 当 master,保证路由器的高可用,继续提供服务,从而保证了高可用性。
先来准备两台机器,IP地址如下:
lc1: 172.24.8.101
lc7: 172.24.8.107
我们现在要实现添加一个虚IP:172.24.8.150,当 lc1 机器正常时,172.24.8.150 指向 lc1,当 lc1 出现故障时指向 lc7。
此时通过 ping 可以看到 172.24.8.150 是无法 ping 通的。
在这两台机器上分别安装 Keepalived
$ sudo yum install -y keepalived
配置 Keepalived
测试
通过 ping 172.24.8.150 发现已经可以通了。
查看 lc1 的 IP信息
其中可以看到 inet 172.24.8.150/32 scope global enp7s0f0,说明现在 lc1 是
作为虚拟IP的 master 来运行的。
查看 lc7 的 IP信息
此时 lc7 中没有虚拟IP 的信息。
验证 Failover
我们手动停止 lc1 上的 Keepalived 服务:
此时 lc1 的 IP信息为:
可以看到 lc1 已经不在有 虚拟IP 的信息了。
查看 lc7 的 IP信息:
可以看到 lc7 的 IP信息中已经有虚拟IP 172.24.8.150 的信息了。
此时如果再把 lc1 上的 Keepalived 启动,可以看到虚拟IP 又重新绑定到了 lc1 上。至此,IP漂移完成。
看着龟哥这一顿操作猛如虎,而本菜鸟
眼睛:会了
手:会了
脑子:你两放屁呢!!
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved