环境准备
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 {
acassen@firewall.loc #收件人,需要安装profix,负责没用,可以不改
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc #发件人
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 {
acassen@firewall.loc #收件人,需要安装profix,负责没用,可以不改
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc #发件人
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服务器的搭建就不写了