Linux Virtual Serve
虚拟服务器的体系结构如图1所示,一组服务器通过高速的局域网或者地理分布的广域网相互连接,在它们的前端有一个负载调度器(Load Balancer)。负载调度器能无缝地将网络请求调度到真实服务器上,从而使得服务器集群的结构对客户是透明的,客户访问集群系统提供的网络服务就像访 问一台高性能、高可用的服务器一样。客户程序不受服务器集群的影响不需作任何修改。系统的伸缩性通过在服务机群中透明地加入和删除一个节点来达到,通过检 测节点或服务进程故障和正确地重置系统达到高可用性。由于我们的负载调度技术是在Linux内核中实现的,我们称之为Linux虚拟服务器(Linux Virtual Server)
LVS-DR模式_第1张图片

                                          虚拟服务器的体系结构如图1

LVS相关术语

  1. DS:Director Server。指的是前端负载均衡器节点。
  2. RS:Real Server。后端真实的工作服务器。
  3. VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址。
  4. DIP:Director Server IP,主要用于和内部主机通讯的IP地址。
  5. RIP:Real Server IP,后端服务器的IP地址。
  6. CIP:Client IP,访问客户端的IP地址。
    LVS DR模式的原理:
    Directory在实现转发时不修改请求的IP首部,而是通过直接封装MAC首部完成转发;目标MAC是Directory根据调度方法挑选出某RS的MAC地址。负载均衡器和RS都使用同一个IP对外服务。但只有DR对ARP请求进行响应,所有RS对本身这个IP的ARP请求保持静默。也就是说,网关会把对这个服 务IP的请求全部定向给DR,而DR收到数据包后根据调度算法,找出对应的RS,把目的MAC地址改为RS的MAC(因为IP一致)并将请求分发给这台 RS。这时RS收到这个数据包,处理完成之后,由于IP一致,可以直接将数据返给客户,则等于直接从客户端收到这个数据包无异,处理后直接返回给客户端。 由于负载均衡器要对二层包头进行改换,所以负载均衡器和RS之间必须在一个广播域,也可以简单的理解为在同一台交换机上。
    LVSDR模式应用特点
    所有集群节点RS必须和DIRector在相同的物理网段(即在同一个局域网中)。
    所有集群节点RS 上必须和网卡上绑定VIP 地址(子网掩码255.255.255.255),以便验证通过目的IP非RS节点的数据包。
    RS服务器上面要做绑定VIP和ARP抑制。
    RS服务器与LVS都有外网ip地址。
    ARP(地址解析协议)
    地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;
    实验LVS的DR模式
    调度器:172.25.40.1 server1.example.om
    Real-server : 172.25.40.2 server2.example.com
    172.25.40.3 server3.example.com

调度器配置:

yum源配置:
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.40.250/rhel6.5
gpgcheck=0

[HighAvailability]
name=HighAvailability
baseurl=http://172.25.40.250/rhel6.5/HighAvailability
gpgcheck=0

[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.40.250/rhel6.5/LoadBalancer
gpgcheck=0

[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.40.250/rhel6.5/ResilientStorage
gpgcheck=0

[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.40.250/rhel6.5/ScalableFileSystem
gpgcheck=0

yum install ipvsadm -y
ip addr add 172.25.40.100/24 dev eth0
ipvsadm -A -t 172.25.40.100:80 -s rr 
ipvsadm -a -t 172.25.40.100:80 -r 172.25.40.2 -g
ipvsadm -a -t 172.25.40.100:80 -r 172.25.40.3 -g
/etc/init.d/ipvsadm save

在RS上配置arp抑制:

Real-server 172.25.40.2
/etc/init.d/httpd start 
 ip addr add 172.25.40.100/24 dev eth0
yum install arptables_jf -y
arptables -A IN -d 172.25.40.100 -j DROP
arptables -A OUT -s 172.25.40.100 -j mangle --mangle-ip-s 172.25.40.2
 /etc/init.d/arptables_jf save
Real-server 172.25.40.3
/etc/init.d/httpd start 
 ip addr add 172.25.40.100/24 dev eth0
yum install arptables_jf -y
arptables -A IN -d 172.25.40.100 -j DROP
arptables -A OUT -s 172.25.40.100 -j mangle --mangle-ip-s 172.25.40.3
 /etc/init.d/arptables_jf save