木一 发表于 2018-12-31 13:55:19

lvs+keepalived实现高可用的web负载均衡

  拓扑图
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_44848000.png

  安装keepalived
# yum install -y keepalived  修改keepalived MASTER    配置文件
# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
   notification_email {
   acassen@firewall.loc
   failover@firewall.loc
   sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state MASTER##定义主节点
    interface eth0
    virtual_router_id 51##识别虚拟路由的id,相同的id则会被识别为1组
    priority 100##优先级,优先级高的会选举为主节点
    advert_int 1
    authentication {
      auth_type PASS   ##认证方式为PASS 还有AH
      auth_pass 1111
    }
    virtual_ipaddress {
      172.16.30.100   ##vip即虚拟IP
      }
}
virtual_server 172.16.30.100 80 {
    delay_loop 6
    lb_algo rr   ##调度模式rr,轮询
    lb_kind DR   ##负载均衡模型为DR另外还有NAT
    persistence_timeout 0   ##超时时长,在每个节点停留的时间,此处设为0,默认为50s,则会在单一节点停留50秒在去另一节点
    protocol TCP
    real_server 172.16.30.10 80 {      ##后端rs主机
      weight 1
      TCP_CHECK {
                connect_port 80   ##连接端口
            connect_timeout 3##连接超时时间
            nb_get_retry 3   ##重试次数
            delay_before_retry 3   ##每次重试之间的间隔时间
      }
real_server 172.16.30.11 80 {
      weight 1
      TCP_CHECK {
                connect_port 80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
      }
    }
}  

  将配置文件复制到另一节点
# scp /etc/keepalived/keepalived.conf
172.16.30.2:/etc/keepalived/keepalived.conf  修改state priority 如下图
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_22255140.png

  启动keepalived测试vip
  MASTER ip,停掉MASTER keepalived服务
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_f2587950-c15e-43da-aa7f-eaf3e6e62fed.png
  BACKUP ip
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_b085a5ac-4987-44d1-b74c-b70b1b7f13ac.png
  VIP成功转移
  配置web服务器
  安装httpd
# yum install -y httpd  提供网页文件
# vim /var/www/html/index.html
page from node10  

  node11同样的操作
  配置rs模型
# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore    ##关闭arp转发
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
# ifconfig lo:0 172.16.30.100 netmask 255.255.255.255 broadcast 172.16.30.100 up ##在lo:0口设置VIP 并只对自己广播
# ifconfig
eth0      Link encap:EthernetHWaddr 08:00:27:02:A7:9A
          inet addr:172.16.30.10Bcast:172.16.255.255Mask:255.255.0.0
          inet6 addr: fe80::a00:27ff:fe02:a79a/64 Scope:Link
          UP BROADCAST RUNNING MULTICASTMTU:1500Metric:1
          RX packets:5319 errors:0 dropped:0 overruns:0 frame:0
          TX packets:685 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:485435 (474.0 KiB)TX bytes:55938 (54.6 KiB)
lo      Link encap:Local Loopback
          inet addr:127.0.0.1Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNINGMTU:65536Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)TX bytes:0 (0.0 b)
lo:0      Link encap:Local Loopback
          inet addr:172.16.30.100Mask:255.255.255.255
          UP LOOPBACK RUNNINGMTU:65536Metric:1  

  node11同样操作
  分别启动httpd服务
  访问测试
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_a6e8345d-8fdf-48df-90da-1af602bc55de.png
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_02d20363-1736-4eef-8465-dd5b1812a35f.png
  现在将node1上的keepalived服务停掉
  再次访问还是同样的结果,我们再来看一下node2上的ip,vip已经转移过来了
http://linuxu.qiniudn.com/wp-content/uploads/2015/02/wpid-4d13c224248612e7ae61bc1f0269c904_3f546530-8b42-4315-a305-513562757c1e.png
  这样便实现了lvs+keepalived的高可用负载均衡,lvs负责web服务器的负载均衡,而keepalived可以保证lvs不会发生单点故障。
  




页: [1]
查看完整版本: lvs+keepalived实现高可用的web负载均衡