Virtual IP Address 学习记录

Virtual IP Address 学习记录

一、基本概念

在 TCP/IP 的架构下,连网的电脑,都必须要有一个唯一的 IP Address。

MAC地址:是物理地址

IP地址:是逻辑地址

虚拟IP:

一个未分配给真实主机的IP,也就是说对外提供服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一个都可以连接到这台主机。

虚拟IP一般用作高可用 HA(High Availability)的目的,比如:默认情况让一个虚IP连接到主服务器,当主服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用服务器。

ARP:

Address Resolution Protocol,是地址解析协议,它的作用很简单,就是根据IP地址获取MAC地址,然后给传输层使用。

主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;

收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

ARP缓存用于存储同一个网络内的IP地址与MAC地址的对应关系。

 

二、原理

假设存在物理机A和物理机器B,A作为对外服务的主服务器,B作为备份机器。

两台服务器之间的通信是通过 Heartbeat,即主服务器会定时的给备份服务器发送数据包,告知主服务器服务正常,

当备份服务器在规定时间内没有收到主服务器的 Heartbeat,就会认为主服务器宕机,则备份服务器就会升级为主服务器。

当机器B通过BeatHeart得知机器A对外服务质量低于预期的时候(比如发生故障,服务无响应),

会将自己的ARP缓存发送出去,让路由器修改路由表,告知虚拟地址应该指向自己(机器B)。

这时,外界再次访问虚拟IP的时候,机器B会变成主服务器,而A降级为备份服务器。这就完成了主从机器的自动切换,而整个过程对外界是透明的。

 

四、LVS

LVS (Linux Virtual Server) ,Linux虚拟服务器。由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。

在 Linux 内核中实现了基于IP的数据请求负载均衡调度方案。

 

相关术语:

DS:Director Server。指的是前端负载均衡器节点。

RS:Real Server。后端真实的工作服务器。

VIP:Virtual IP 向外部直接面向用户请求,作为用户请求的目标的IP地址。

  分别绑定在Director一个物理网卡上(对外接收请求包)和RS的回环设备上(回环设备需要绑定两个ip,一个是127.0.0.1,另一个就是VIP)。

DIP:Director Server IP,主要用于和内部主机通讯的IP地址。

  与VIP绑定在一个物理网卡上,用来转发请求包到RS的RIP对应的mac上,此设备可以通过arp请求获取RIP对应的mac地址。

RIP:Real Server IP,后端服务器的IP地址。绑定在RS上的一个物理网卡上,用来接收从Directory转发过来的请求包。

CIP:Client IP,访问客户端的IP地址。

 

ipvs (ip virtual server):一段代码工作在内核空间,叫ipvs,是真正生效实现调度的代码。

ipvsadm:另外一段是工作在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义谁是集群服务,而谁是后端真实的服务器(Real Server)。

 

 

工作模式:

1、NAT模式

NAT(Network Address Translation)即网络地址转换,其作用是通过数据报头的修改,使得位于企业内部的私有IP地址可以访问外网,

以及外部用用户可以访问位于公司内部的私有IP主机。

LVS负载调度器可以使用两块网卡配置不同的IP地址,eth0设置为私钥IP与内部网络通过交换设备相互连接,eth1设备为外网IP与外部网络联通。

特点:请求、响应原路返回。

2、TUN模式

隧道模式

特点:请求 通过调度器处理,响应 则直接返回到客户端。

3、DR模式

直接路由模式

特点:请求 通过负载均衡器,响应 则直接返回到客户端。要求调度器与后端服务器必须在同一个局域网内。

 

  在实除的集群部署中,我们发现与LVS配合使用的最佳的转发方法是LVS-DR,而其中最容易构建的方式是LVS-NAT。

然而一般情况下,在使用LVS集群处理关键的数据转发时,我们不会用到LVS-TUN,因为LVS-TUN的转发方法允许真实服务器和负载均衡器在不同的物理网段中,

这使得只要断开了负载均衡器和真实服务器之间的连接,客户端计算机发出的请求就会丢失,从而增加整个集群发生崩溃的可能性。

 

 

 

 

 

 

参考资料

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

ARP (地址解析协议)

LVS基本知识概述

LVS基本原理

posted @ 2021-11-19 10:19  风过无痕521  阅读(493)  评论(0编辑  收藏  举报