LVS+KEEPALIVED+WEB实现高可用负载均衡集群

LVS+KEEPALIVED+WEB实现高可用负载均衡集群
搭建环境:四台centos7最小安装
10.255.2.110  LVS_VIP
10.255.2.94  LVS_Master  
10.255.2.93  LVS_Backup
10.255.2.95  WEB1_RealServer
10.255.2.96  WEB2_RealServer

配置LVS_MASTER服务器

安装IPVSADM
yum -y install ipvsadm

关闭防火墙
systemctl stop firewalld
安装keepalived
yum -y install keepalived
systemctl enable keepalived

KeepAlivde的配置

打开IP Forward 功能
vim /etc/sysctl.conf
修改里面“net.ipv4.ip_forward = 1”,没有就添加
sysctl -p

vim /etc/keepalived/keepalived.conf #可以把里面的内容都删掉,写入下面的内容

! Configuration File for keepalived 
vrrp_instance VI_1 { 
state MASTER 			#标识主从身份
interface ens33 		#注意网卡名称
virtual_router_id 51   #注意内网集群路由IP不能一样
priority 100 				#权重决定访问顺序
advert_int 2			//keepalived之间组播间隔时间
authentication { 
auth_type PASS 
auth_pass 1111 
} 
virtual_ipaddress { 
10.255.2.110			#浮动IP
} 
} 
virtual_server 10.255.2.110 8080 { 
delay_loop 6 
lb_algo rr 
lb_kind DR 		#此处类型根据你的网络连接模式填写,桥接写DR,NAT写NAT
nat_mask 255.255.255.0 
persistence_timeout 50 
protocol TCP 
real_server 10.255.2.95 8080 { 		#注意这里事你的web1IP
weight 1 
TCP_CHECK { 
connect_timeout 3 
nb_get_retry 3 
delay_before_retry 3 
} 
} 
real_server 10.255.2.96 8080 { 		#注意这里是你的web2IP

weight 1 
TCP_CHECK { 
connect_timeout 3 
nb_get_retry 3 
delay_before_retry 3 
} 
} 
} 

启动keepalive
#systemctl restart keepalived.service
#ps -ef | grep keepalived
#ip add

以下3个命令先列示下,并不用现在执行
显示集群中服务器ip信息:ipvsadm -ln
查看日志:tail -f /var/log/messages
查看请求转发情况:ipvsadm -lcn | grep 192.168.146.100

到这里,LVS_MASTER的服务器已经配置好并启动了,接下来配置web服务器。

WEB1_RealServer的配置

chmod +x /etc/rc.d/init.d/functions
vim /etc/init.d/realserver.sh

VIP=192.168.164.100
/etc/rc.d/init.d/functions

case "$1" in
start) 
/sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $VIP dev lo:0 
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore 
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce 
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore 
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce 
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK" 
;; 
stop) 
/sbin/ifconfig lo:0 down 
/sbin/route del $VIP >/dev/null 2>&1 
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore 
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce 
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore 
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce 
echo "RealServer Stoped" 
;; 
*) 
echo "Usage: $0 {start|stop}" 
exit 1 
esac
exit 0 

chmod +x /etc/init.d/realserver.sh

安装配置TOMCAT

yum -y install tomcat tomcat-*
systemctl enable tomcat
vim /usr/share/tomcat/webapps/ROOT/index.html
rs1 10.255.2.95

systemctl restart tomcat

有了一个虚拟IP
sh /etc/init.d/realserver.sh start
在这里插入图片描述
这样的结果是成功的
ifconfig

LVS_MASTER服务器的终端查看下ipvsadm,查看已经连接上了WEB1服务器
LVS+KEEPALIVED+WEB实现高可用负载均衡集群_第1张图片
ipvsadm -ln
LVS+KEEPALIVED+WEB实现高可用负载均衡集群_第2张图片
ipvsadm -ln | grep 10.255.2.110
在这里插入图片描述

LVS_BACKUP服务器

vim /etc/keepalived/keepalived.conf #可以把里面的内容都删掉,写入下面的内容

 ! Configuration File for keepalived
    vrrp_instance VI_1 { 
    state BACKUP 
    interface ens33 
    virtual_router_id 52 
    priority 90 
    advert_int 1 
    authentication { 
    auth_type PASS 
    auth_pass 1111 
    } 
    virtual_ipaddress { 
    10.255.2.110
    } 
    } 
    virtual_server 10.255.2.110 8080 { 
    delay_loop 6 
    lb_algo rr 
    lb_kind DR 
    nat_mask 255.255.255.0 
    persistence_timeout 50 
    protocol TCP 
    real_server 10.255.2.95 8080 { 
    weight 1 
    TCP_CHECK { 
    connect_timeout 3 
    nb_get_retry 3 
    delay_before_retry 3 
    } 
    } 
    real_server 10.255.2.96 8080 { 
    weight 1 
    TCP_CHECK { 
    connect_timeout 3 
    nb_get_retry 3 
    delay_before_retry 3 
    } 
    } 
    } 

WEB2_RealServer的配置

和web1一样的配置
vim /usr/share/tomcat/webapps/ROOT/index.html
rs2 192.168.164.181
检测
第一次随机访问:
在这里插入图片描述
当web2宕掉的时候
在这里插入图片描述
停掉一台keepalived和一台tomcat
在这里插入图片描述
最后附上一张自己理解的架构图,若有错误欢迎指出
LVS+KEEPALIVED+WEB实现高可用负载均衡集群_第3张图片

你可能感兴趣的:(学习,笔记)