keepalived+lvs配置高可用集群负载均衡方案

一.准备工作

1、准备环境

配置四台主机:
dr1: 192.168.19.19 负载均衡服务器MASTER
dr2: 192.168.19.20 负载均衡服务器BACKUP
web1: 192.168.19.21
web2: 192.168.1922

关闭防火墙和selinux

systemctl stop firewalld
setenforce 0

配置yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

epel-release

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

二、操作

在dr1主机上操作

安装keepalived和ipvsadm

yum install -y keepalived ipvsadm

编写keepalived配置文件

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.229.100/24       dev      ens33   	#VIP和工作接口
		}
	}
	
virtual_server 192.168.19.100 80 {		#LVS 配置,VIP,就是keepalived配置的对外地址
	delay_loop 3				#服务论询的时间间隔,#每隔3秒检查一次real_server状态
	lb_algo rr				#LVS 调度算法
	lb_kind DR	 			#LVS 集群模式
	protocol TCP
	real_server 192.168.19.21 80 {
		weight 1                    #权重
		TCP_CHECK {
			connect_timeout 3       #健康检查方式,连接超时时间
			}
		}
	real_server 192.168.19.22 80 {
		weight 1
		TCP_CHECK {
			connect_timeout 3    #设定连接超时时间为3秒 超过视为掉线
			}
		}
}

在这里插入图片描述

在dr2主机上操作
安装keepalived

yum install -y keepalived ipvsadm

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

scp 192.168.19.19:/etc/keepalived/keepalived.conf 192.168.19.20:/etc/keepalived/

拷贝后,修改配置文件

  • router_id Director2
  • state BACKUP
  • priority 140
vim /etc/keepalived/keepalived.conf

在这里插入图片描述
在dr1和dr2上操作
启动服务

systemctl start keepalived
systemctl enable keepalived

重启

reboot

在web1和web2上操作

yum install httpd && systemctl start httpd && systemctl enable httpd

在web1上操作

 echo web1 > /var/www/html/index.html

在web2上操作

 echo web2 > /var/www/html/index.html

配置虚拟地址(web1和web2都配置)

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.100 #对外提供服务的地址
NETMASK=255.255.255.255
ONBOOT=yes
其他行注释掉

配置路由

route add 192.168.19.100 dev lo

配置ARP(忽略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

重启网卡

systemctl restart network

三、测试

1.观察lvs路由条目

在dr1上查询

ipvsadm -Ln

在这里插入图片描述

2.观察vip地址在哪台机器上

ip a

在这里插入图片描述
现在在dr1上

3.在浏览器上访问vip地址
在这里插入图片描述
等待一会再次刷新
在这里插入图片描述
在dr1上查看

ipvsadm -Lnc

在这里插入图片描述

此时如果关闭dr1的keepalived服务,那么vip就会挂在dr2上

systemctl stop keepalived

在这里插入图片描述
在这里插入图片描述
再次访问
在dr2上查看

ipvsadm -Lnc

在这里插入图片描述

如果关闭web2的httpd服务,就会一直访问web1

systemctl stop httpd

多访问几次
在这里插入图片描述
在dr2上查看

ipvsadm -Lnc

在这里插入图片描述

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值