集群 一组计算机 利用网络组成一个系统,每个节点都是运行其自己进程的一个独立服务器。
解决高并发 高吞吐
透明性 高性能 高可用性 可伸缩性 可管理性 可编程性
- 
负载均衡集群 lvs nginx haproxy 
- 
高可用集群 keepalived 
Linux Virtual Server
- 
实现调度IPVS 
- 
管理工具ipvsadm 
- 
keepalived实现管理及高可用 
- 
CIP Client computer’s IP address:公网IP,客户端使用的IP。 
- 
VIP Virtual IP address:Director用来向客户端提供服务的IP地址 
- 
RIP Real IP address:集群节点(后台真正提供服务的服务器)所使用的IP地址 
- 
DIP Director’s IP address:Director用来和D/RIP 进行联系的地址 
      CIP ←→
      
       DIP
      
      ←→
      
       RIP
      
     
      模式: NAT  TUN
      
       
        DR
       
      
      FULLNAT
     
DR 直接路由模式
通过改写请求报文的目标MAC地址,将请求发给真实服务器,真实服务器将响应后的处理结果直接返回客户端。
       
     
      LVS调度器根据各个服务器的负载情况,
      
       动态地选择一台服务器
      
      ,不修改也不封装IP报文,而是将
      
       
        数据帧的MAC地址
       
       改为选出
       
        服务器的MAC地址
       
      
      ,再将修改后的数据帧在与服务器组的局域网上发送。因为数据帧的MAC地址是选出的服务器,所以服务器肯定可以收到这个数据帧,从中可以获得该IP报文。
     
      当服务器发现报文的目标地址VIP是在本地的网络设备上,服务器处理这个报文,然后根据路由表将响应报文
      
       
        直接返回给客户
       
      
      。
     
      要求
      
       Director Server与Real Server都有一块网卡连在同一物理网段
      
      上
     
LVS调度算法 8-10
- 
 
 rr 轮询调度
 
 
- 
 
 wrr 加权轮询调度 wlc 加权最小链接数调度
 
 
- 
dh 目的地址哈希调度 
- 
sh 源地址哈希调度 
LVS安装
yum -y install kernel-devel libnl* popt* gcc ln -s /usr/src/kernels/2.6.32-642.1.1.el6.x86_64/ /usr/src/linux tar zxvf ipvsadm-1.26.tar.gz cd ipvsadm-1.26 make && make install
modprobe ip_vs lsmod | grep ip_vs ip_vs 126897 0 libcrc32c 0000000000000000000000000000000000 1246 1 ip_vs ipv6 336282 265 ip_vs /sbin/ipvsadm IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn ifconfig eth0:0 192.168.10.40 route add -host 192.168.10.1 dev eth0 route -n Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.10.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 ipvsadm -C ipvsadm --set 30 5 60 ipvsadm -A -t 192.168.10.40:80 -s rr -p 20 //-D 删除 ipvsadm -a -t 192.168.10.40:80 -r 192.168.10.11 -g -w 1 //-d 删除 ipvsadm -a -t 192.168.10.40:80 -r 192.168.10.10 -g -w 1 # ipvsadm -L -n IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.10.40:80 rr persistent 20 -> 192.168.10.10:80 Route 1 0 0 -> 192.168.10.11:80 Route 1 0 0
RS端–绑定VIP
ifconfig lo:0 192.168.10.40/32 up route add -host 192.168.10.40 dev lo
抑制ARP
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
转载于:https://blog.51cto.com/hequan/1785317
 

