
环境
192.168.0.116 dr1 负载均衡器
192.168.0.117 dr2 负载均衡器
192.168.0.118 rs1 web1
192.168.0.119 rs2 web2
步骤
- 在master上安装配置keepalived
- 在master上修改配置文件
- 在backup上安装keepalived
- 拷贝master上的keepalived.conf 到backup上
- 拷贝后修改配置文件
- master和backup上启动服务
- web服务器配置
- 测试
在master上安装配置keepalived
yum install keepalived ipvsadm -y
ipvsadm 安装不启动
在master上修改配置文件
vim /etc/keepalived/keepalived.conf
!Configuration File for keepalived
global_defs{
router_id Director1 #两边不一样
}
vrrp_instance VI_1{
state MASTER #另一台主机就是backup
interface ens32 #心跳网卡
virtual_router_id 51 #虚拟路由器编号,主备要一致
priority 150 #优先级
advert_int 1 #检查间隔,单位秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.0.20/24 dev ens32 #VIP和工作端口
}
}
virtual_server 192.168.0.20 80{ #LVS配置,VIP
delay_loop 3 #服务轮询的时间间隔
lb_algo rr #LVS 调度算法
lb_kind DR #LVS 集群模式
protocol TCP
real_server 192.168.0.118 80{
weight 1
TCP_CHECK{
connect_timeout 3
}
}
real_server 192.168.0.119 80{
weight 1
TCP_CHECK{
connect_timeout 3
}
}
}
在backup上安装keepalived
yum install keepalived ipvsadm -y ipvsadm 安装不启动
scp 192.168.0.116:/etc/keepalived/keepalived.conf 192.168.0.117:/etc/keepalived/ 拷贝主服务器配置到从服务器上
拷贝后修改配置文件
router_id Director2
state BACKUP
priority 100
master和backup上启动服务
systemctl enable keepalived
systemctl start keepalived
reboot
web1 web2 相同配置
安装web测试站点
yum install -y httpd &&systemctl start httpd && systemctl enable httpd
netstat -antp |grep httpd
elinks 127.0.0.1
自定义web网页,以便观察负载均衡结果
vim /var/www/html/index.html
配置虚拟地址
cp /etc/sysconfig/network-scripts/{ifcfg-lo,ifcfg-lo:0}
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.0.20
NETMASK=255.255.255.255
ONBOOT=YES
其他行注释掉
配置路由
vim /etc/rc.local
/sbin/route add host 192.168.0.20 dev lo:0
配置ARP
vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.default.arp_ignore=1
net.ipv4.conf.default.arp_ignore=2
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
reboot
测试
观察lvs路由条目
master上查询#ipvsadm -L
观察VIP地址在哪台机器上
客户端浏览器访问VIP
关闭master上的keepalived服务,再次访问VIP
master上关闭 systemctl stop keepalived.service
关闭web1站点服务,再次访问VIP