当前位置 : 主页 > 操作系统 > centos >

keepalived高可用集群(4)示例2 - keepalived + lvs集群

来源:互联网 收集:自由互联 发布时间:2022-06-20
实际环境IP配置 192.168.19.100 负载均衡器 master 192.168.19.102 负载均衡器 192.168.19.103 web1 192.168.19.104 web2 1.在master上安装配置Keepalived: yum install keepalived ipvsadm -y ipvsadm安装并不启动 2.在master上

keepalived高可用集群(4)示例2 - keepalived + lvs集群_linux

实际环境IP配置

192.168.19.100   负载均衡器   master

192.168.19.102   负载均衡器

192.168.19.103   web1

192.168.19.104   web2

1.在master上安装配置Keepalived:

yum install keepalived ipvsadm -y
ipvsadm安装并不启动

2.在master上修改配置文件

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
router_id Director1 #两边不一样。
}

vrrp_instance VI_1 {
state MASTER #另外一台机器是BACKUP
interface ens33 #心跳网卡
virtual_router_id 51 #虚拟路由编号,主备要一致
priority 150 #优先级
advert_int 1 #检查间隔,单位秒
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.19.254/24 dev ens33 #VIP和工作接口
}
}

virtual_server 192.168.19.254 80 { #LVS 配置,VIP
delay_loop 3 #服务论询的时间间隔,#每隔3秒检查一次real_server状态
lb_algo rr #LVS 调度算法
lb_kind DR #LVS 集群模式
protocol TCP
real_server 192.168.19.104 80 {
weight 1
TCP_CHECK {
connect_timeout 3 #健康检查方式,连接超时时间
}
}
real_server 192.168.19.103 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
}

3.在backup上安装keepalived:

yum install keepalived ipvsadm -y
ipvsadm安装并不启动

4.拷贝master上的keepalived.conf到backup上:

scp 192.168.19.100:/etc/keepalived/keepalived.conf 192.168.19.102:/etc/keepalived/

5.拷贝后,修改配置文件

router_id Director2
state BACKUP
priority 100

6.master和backup上启动服务:

systemctl start keepalived
systemctl enable keepalived

7.web服务器配置,web1和web2同配置

安装web测试站点
yum install -y httpd && systemctl start httpd && systemctl enable httpd
netstat -antp | grep httpd
自定义web主页,以便观察负载均衡结果
echo web1 > /var/www/html/index.html
echo web2 > /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.19.254
NETMASK=255.255.255.255
ONBOOT=yes
其他行注释掉配置路由
vim /etc/rc.local
/sbin/route add -host 192.168.0.20 dev lo:0
在两台机器(RS)上,添加一个路由:route add -host 192.168.19.254 dev lo:0
确保如果请求的目标IP是$VIP,那么让出去的数据包的源地址也显示为$VIP配置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_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
忽略arp请求,可以回复

reboot

8.测试:

1)观察lvs路由条目   master  - ipvsadm -L

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP localhost.localdomain:http rr
-> 192.168.19.103:http Route 1 0 0
-> 192.168.19.104:http Route 1 0 0

2)观察vip地址在哪台机器上   ip a

inet 192.168.19.100/24 brd 192.168.19.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.19.254/24 scope global secondary ens33

3)客户端浏览器访问vip

keepalived高可用集群(4)示例2 - keepalived + lvs集群_linux_02

4)关闭master上的keepalived服务,再次访问vip

systemctl stop keepalived.service

keepalived高可用集群(4)示例2 - keepalived + lvs集群_linux_03

5)关闭web1站点服务,再次访问VIP

systemctl stop httpd

keepalived高可用集群(4)示例2 - keepalived + lvs集群_linux_04

网友评论