搭建HAProxy+Keepalived高可用的web集群

环境准备

web1:192.168.1.11      web2:192.168.1.12
主服务器HAProxy1:192.168.1.9  备份服务器HAProxy2:192.168.1.10

搭建第一台代理服务器的haproxy和keepalived

1)安装软件包

yum -y install haproxy   keepalived

2)修改haproxy配置文件(俩台同理操作)

vim /etc/haproxy/haproxy.cfg
在最后添加如下信息,通过轮询的方式实现负载均衡
listen wordpress *:80
  balance roundrobin
  server web1 192.168.1.11:80 check inter 2000 rise 2 fall 3
  server web2 192.168.1.12:80 check inter 2000 rise 2 fall 3

3)启动服务并设置开机自启动

systemctl  start haproxy
systemctl  enable haproxy

4)修改主服务器keepalived的配置文件

vim /etc/keepalived/keepalived.conf
global_defs {
   notification_email { 
     [email protected]     #收件人,需要安装profix,负责没用,可以不改
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]  #发件人
   vrrp_iptables
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL        #类似主机名,可以不修改
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
   vrrp_iptables   //添加,解决防火墙问题
}

vrrp_instance VI_1 {
    state MASTER     #这里是主服务器,所以用master
    interface eth0
    virtual_router_id 51
    priority 100   #这里优先级保证高于另一台从服务器的优先级
    advert_int 1
    authentication {
        auth_type PASS    
        auth_pass 1111    #生产环境为了安全需要修改(主从密码必须一致)
    }
    virtual_ipaddress {
        192.168.1.100   #自己设置的浮动ip,也就是vip(保证主从服务器一致)
    }
}

5)修改从服务器的keepalived配置文件

vim /etc/keepalived/keepalived.conf
global_defs {
   notification_email { 
     [email protected]     #收件人,需要安装profix,负责没用,可以不改
     [email protected]
     [email protected]
   }
   notification_email_from [email protected]  #发件人
   vrrp_iptables
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL        #类似主机名,可以不修改
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
   vrrp_iptables   //添加,解决防火墙问题
}

vrrp_instance VI_1 {
    state BACKUP     #这里是从服务器,所以用BACKUP
    interface eth0
    virtual_router_id 51
    priority 50   #这里优先级保证低于另一台主服务器的优先级
    advert_int 1
    authentication {
        auth_type PASS    
        auth_pass 1111    #生产环境为了安全需要修改
    }
    virtual_ipaddress {
        192.168.1.100   #自己设置的浮动ip,也就是vip(保证主从服务器一致)
    }
}

6)启动Keepalived服务

systemctl start keepalved
systemctl enable keepalived

验证

主服务器9这台机器通过ip a s 命令能够看到eth0口有一个虚拟IP,从服务器没有这个虚拟IP。
当将主服务器的keepalived服务停掉模拟服务器宕机后,可以在另一台从服务器查到这个虚拟IP
可以通过下面来验证负载均衡

curl http://192.168.1.100

多访问几次就能看到自己设置的web页面轮询方式实现了负载均衡
web服务器的搭建就不写了

你可能感兴趣的:(cluster,linux)