(转)虚拟IP原理

转:http://blog.csdn.net/whycold/article/details/11898249

高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。

实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。

怎么实现故障检测的那?

心跳,采用定时发送一个数据包,如果机器多长时间没响应,就认为是发生故障,自动切换到热备的机器上去。

怎么实现自动切换那?

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

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

下边就是我电脑上的arp缓存的内容。

(192.168.1.219) at 00:21:5A:DB:68:E8 [ether] on bond0
(192.168.1.217) at 00:21:5A:DB:68:E8 [ether] on bond0
(192.168.1.218) at 00:21:5A:DB:7F:C2 [ether] on bond0

192.168.1.217、192.168.1.218是两台真实的电脑,

192.168.1.217为对外提供数据库服务的主机。

192.168.1.218为热备的机器。

192.168.1.219为虚IP。

大家注意红字部分,219、217的MAC地址是相同的。

再看看那217宕机后的arp缓存

(192.168.1.219) at 00:21:5A:DB:7F:C2 [ether] on bond0
(192.168.1.217) at 00:21:5A:DB:68:E8 [ether] on bond0
(192.168.1.218) at 00:21:5A:DB:7F:C2 [ether] on bond0

这就是奥妙所在。当218 发现217宕机后会向网络发送一个ARP数据包,告诉所有主机192.168.1.219这个IP对应的MAC地址是00:21:5A:DB:7F:C2,这样所有发送到219的数据包都会发送到mac地址为00:21:5A:DB:7F:C2的机器,也就是218的机器。

时间: 2024-10-28 14:36:09

(转)虚拟IP原理的相关文章

虚拟IP原理

使用场景: 当这台机器出现故障时,自动动态切换到另一台热备的机器 高可用性HA(High Availability) 指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性.HA系统是目前企业防止核心计算机系统因故障停机的最有效手段. 实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器. 怎么实现故障检测的那? 心跳,采用定

虚拟IP技术 ip地址漂移技术

1.虚拟IP 在 TCP/IP 的架构下,所有想上网的电脑,不论是用何种方式连上网路,都必须要有一个唯一的 IP-address.事实上IP地址是主机硬件地址的一种抽象,简单的说,MAC地址是物理地址,IP地址是逻辑地址. 虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一个都可以连接到这台主机. 虚拟IP一般用作达到HA(High Availability)的目的,比如让所有项目中数据库链接一项配置的都是这个虚IP

Linux-eth0 eth0:1 和eth0.1关系、ifconfig以及虚拟IP实现介绍

eth0 eth0:1 和eth0.1三者的关系对应于物理网卡.子网卡.虚拟VLAN网卡的关系:物理网卡:物理网卡这里指的是服务器上实际的网络接口设备,这里我服务器上双网卡,在系统中看到的2个物理网卡分别对应是eth0和eth1这两个网络接口. 子网卡:子网卡在这里并不是实际上的网络接口设备,但是可以作为网络接口在系统中出现,如eth0:1.eth1:2这种网络接口.它们必须要依赖于物理网卡,虽然可以与物理网卡的网络接口同时在系统中存在并使用不同的IP地址,而且也拥有它们自己的网络接口配置文件.

Linux系统添加虚拟IP(Suse linux为例)

之前有提到Windows服务器添加多个虚拟IP的方法,只需要用图形化界面就可以了,但是Linux服务器就没那么简单.所以总结了这么一篇教程,记录一下如何在Linux服务器上添加虚拟IP. 1)以Root权限登录,或者登陆以后su - 获取root权限. 2)跳转到Network设置的位置: cd /etc/sysconfig/network-scripts 3)查看一下现有的网络适配器有哪些: ls ifcfg-eth* 可以看到一个或一些类似于: ifcfg-eth-id-12:34:56:7

Linux-eth0 eth0:1 ifcfg-lo ifcfg-lo:0 和eth0.1关系、ifconfig以及虚拟IP实现介绍

eth0 eth0:1 和eth0.1三者的关系对应于物理网卡.子网卡.虚拟VLAN网卡的关系:物理网卡:物理网卡这里指的是服务器上实际的网络接口设备,这里我服务器上双网卡,在系统中看到的2个物理网卡分别对应是eth0和eth1这两个网络接口. 子网卡:子网卡在这里并不是实际上的网络接口设备,但是可以作为网络接口在系统中出现,如eth0:1.eth1:2这种网络接口.它们必须要依赖于物理网卡,虽然可以与物理网卡的网络接口同时在系统中存在并使用不同的IP地址,而且也拥有它们自己的网络接口配置文件.

linux下如何设置vip(虚拟ip)

在做HA的时候需要为服务器设计虚拟IP,也就是一个主机对应多个IP地址?刚听起来好神奇,原来这样也是可能的看了下面的这个链接 自己配了一下http://hi.baidu.com/pbottle/item/7175d29702a0a0bd83d29533 在eth0处引用别名,设置完子网掩码即可ifconfig eth0:0 166.111.69.100 netmask 255.255.255.0 upifconfig查看此时的信息 点击(此处)折叠或打开 eth0 Link encap:Ethe

虚拟ip

网卡上增加一个IP: ifconfig eth0:1 192.168.0.1 netmask 255.255.255.0删除网卡的第二个IP地址: ip addr del 192.168.0.1 dev eth0虚拟ip,布布扣,bubuko.com

关于HA-MIR镜像双机虚拟IP与周立功CANET-200T采用UDP模式通讯技巧

系统环境 Windows Server2008R2 Enterprise X64: 双机热备软件HA-MIR: CAN通讯模块采用周立功CANNET-200T: 实验说明 本实验通过笔记本搭建VMware workstations 12版本虚拟机,分别创建两台Server2008 R2服务器两台,名称分别为主机servera和备机serverb虚拟机两台,并分别配置服务器为双网卡,网卡1作为心跳设置,网卡2作为业务IP使用,使用HA-MIR软件实现2台服务器的双击热备制作,需要对2台服务器的网卡

Linux-配置虚拟IP实例

在日常linux管理工作中,需要为应用配置单独的IP地址,以达到主机与应用的分离,在应用切换与迁移过程中可以做到动态切换,特别是在使用HA的时候,这种方案可以保证主机与应用的隔离,对日常的运维有很大的益处.但在有些应用中还没有配置HA,后期需要配置HA时,我们可以先配置虚拟IP给在线的应用使用,这要后期的系统运维可以做到更好的可扩展性.本文主要是对IP地址如何配置做一些简单的介绍,只当是记录备忘.呵呵. PS:以下实例在redhat linux实施成功! 1.在线配置虚拟IP ifconfig