centos7下配置LVS+KeepAlived高可用主备+2台tomcat负载图文篇

环境描述:centos7最小化安装

1.环境说明:

名称 IP 说明
master ens33:192.168.0.61 vip:192.168.0.60
backup ens33:192.168.0.62 vip:192.168.0.60
tomcat1 ens33:192.168.0.63 负载
tomcat2 ens33:192.168.0.64 负载

测试机在同网段随意一台均可
tomcat安装详细步骤上一篇文章有详细描述,这里不做赘述。

2.安装ipvsadm(管理工具)+keepalived

[[email protected] ~]# yum -y install ipvsadm keepalived

3.创建lvs主备服务器运行脚本程序

[[email protected] ~]# vim /sbin/lvsdr.sh
#!/bin/bash
VIP=192.168.0.60
RIP1=192.168.0.63
RIP2=192.168.0.64

/etc/rc.d/init.d/functions
case "$1" in
start)
       echo "start LVS of DirectorServer"
       #Set the Virtual IP Address
       /sbin/ifconfig ens33:1 $VIP broadcast $VIP netmask 255.255.255.255 up
       /sbin/route add -host $VIP dev ens33:1
       #Clear IPVS Table
       /sbin/ipvsadm -C
       #Set Lvs Add route link
       /sbin/ipvsadm -A -t $VIP:8080 -s wrr -p 60
       /sbin/ipvsadm -a -t $VIP:8080 -r $RIP1 -g
       /sbin/ipvsadm -a -t $VIP:8080 -r $RIP2 -g
  #      /sbin/ipvsadm -A -t $VIP:80 -s wrr -p 60
  #     /sbin/ipvsadm -a -t $VIP:80 -r $RIP1 -g
  #     /sbin/ipvsadm -a -t $VIP:80 -r $RIP2 -g
       #Run Lvs
       /sbin/ipvsadm
;;
stop)
echo "Close LVS Directorserver"
/sbin/ifconfig ens33:1 down
/sbin/ipvsadm -C
;;
*)
echo "Usage0{start|stop}"
exit 1
esac

4.添加权限并执行

[[email protected] ~]# chmod 755 /sbin/lvsdr.sh
[[email protected] ~]# /sbin/lvsdr.sh start

[[email protected] ~]# ipvsadm -ln
查看路由配置结果,如下图则OK

5.添加到开机启动

[[email protected] ~]# vim /etc/rc.local
/sbin/lvsdr.sh start  #追加此纪录

6.将配置程序SCP到backup,并执行4、5步骤

[[email protected] ~]# scp /sbin/lvsdr.sh 192.168.0.62:/sbin/lvsdr.sh

7.tomcat1创建real服务器运行脚本程序

[[email protected] ~]# vim /sbin/realdr.sh 

#!/bin/bash
VIP=192.168.0.60
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
echo "1">/proc/sys/net/ipv4/conf/default/arp_ignore
echo "2">/proc/sys/net/ipv4/conf/default/arp_announce
echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2">/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p

8.分配权限并执行

[[email protected] ~]# chmod 755 /sbin/realdr.sh
[[email protected] ~]# /sbin/realdr.sh start

[[email protected] ~]# ifconfig
可查看到lo:0上已经有了vip地址
(注:最小化安装系统ifconfig命令没有,可yum -y install net-tools进行安装)

9.设置此real运行程序自启动

[[email protected] ~]# vim /etc/rc.local
/sbin/realdr.sh start   #追加此内容

10.将此real运行程序scp到tomcat2,并执行8、9步骤

11.配置keepalived

有个好习惯,配置文件之前,将原有文件备份,以免将来需要还原旧文件,可cp一份,存放目录最自己习惯

[[email protected] ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak

[[email protected] ~]# vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
        [email protected]

   }
   notification_email_from [email protected]
   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_instance VI_1 {
    state MASTER            #主名称
    interface ens33           #注意主机网卡名称
    virtual_router_id 51     #此id主备有所不同
    priority 100                  #backup优先级应小于master
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
         192.168.0.60         #vip地址,多个的话往后续写即可

    }
}

virtual_server 192.168.0.60 8080 {
    delay_loop 6
    lb_algo rr                          #轮询算法
    lb_kind DR                       #模式为DR,最常用,效率高
    persistence_timeout 50
    protocol TCP

    real_server 192.168.0.63 8080 {
        weight 1
        SSL_GET {
            url {
              path /
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }
            url {
              path /mrtg/
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.0.64 8080 {
        weight 1
        SSL_GET {
            url {
              path /
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }
            url {
              path /mrtg/
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }

}

12.将master的keepalived配置文件scp到backup

[[email protected] ~]# scp /etc/keepalived/keepalived.conf 192.168.0.62:/etc/keepalived/keepalived.conf
修改名称、id以及优先级

13.开通防火墙端口,或者关闭防火墙

此为防火墙在开启状态,访问被阻,关闭防火墙或者允许页面端口通过都可以。
实验环境可关闭防火墙:

[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

生产环境建议开启端口即可,增强服务器安全性:

[[email protected] tomcat8]# firewall-cmd --permanent --add-port=8080/tcp
success
[[email protected] tomcat8]# firewall-cmd --reload
success

14.在主备启动keepalived

[[email protected] ~]# systemctl restart keepalived

15.访问vip地址

由于是DR轮询,在访问时候会两个tomcat轮流返回页面,挂掉一台后还有一台承担负荷,不至于全网GG。

16.模拟master宕机

可关机、断网、停网卡服务、停keepalived服务、防火墙阻止服务/端口……任你飞
[[email protected] ~]# systemctl stop keepalived #这里停掉master上的keepalived服务
监测日志里可看见已经stop:
[[email protected] ~]# tail -f /var/log/messages

如下图,页面访问不受影响

模拟backup宕机效果一样

17.模拟tomcat1宕机

tomcat1关机后,192.168.0.63:8080已经访问不到,但192.168.0.60:8080页面依然坚挺


至此,搞定
将问题机器处理OK后启动即可。

原文地址:https://blog.51cto.com/11573159/2405460

时间: 2024-11-07 01:26:38

centos7下配置LVS+KeepAlived高可用主备+2台tomcat负载图文篇的相关文章

CentOS7.4—构建LVS+Keepalived高可用群集

LVS+Keepalived高可用群集 目录第一部分 环境准备第二部分 使用Keepalived搭建双机热备第三部分 配置Web节点服务器第四部分 测试LVS+Keepalived高可用群集 第一部分 环境准备一:调度器两台(双机热备)系统:Linux-CentOS 7.4IP地址:192.168.80.10(主)IP地址:192.168.80.20(备)二:Web服务器两台系统:Linux-CentOS 7.4IP地址:192.168.80.30(SERVER AA)IP地址:192.168.

Centos7 下实现 memcached + keepalived 高可用群集

memcached + keepalived 高可用群集 memcached介绍 Memcached是一套开源的高性能分布式内存对象缓存系统,它将所有的数据都存储在内存中,因为在内存中会统一维护一张巨大的Hash表,所以支持任意存储类型的数据.很多网站通过使用 Memcached提高网站的访问速度,尤其是对于大型的需要频繁访问数据的网站.Memcached是典型的C/S架构,因此需要安装 Memcached服务端与 MemcachedAPI客户端. Memcached服务端是用C语言编写的,而

Centos 7搭建LVS+Keepalived高可用Web服务群集

一.LVS+Keepalived高可用群集 Keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器.管理服务器池,而不仅仅用作双机热备.使用Keepalived构建LVS群集更加简便易用,主要优势体现在:对LVS负载调度器实现热备切换,提高可用性:对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入. 在基于LVS+Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,三台以上的节点服务器.此博客将以DR模式的

LVS+Keepalived高可用群集

keeplived是专门针对LVS设计的一款辅助工具,主要功能是实现故障切换,类似HSRP热备份路由协议,HSRP是思科的私有协议,而VRRP是通用协议,都是为了实现故障切换,当一台路由器发生故障的时候,另一台马上接替工作,用户感觉不到服务器发生了问题,而且不会中断服务. 双机热备是就是利用了VRRP虚拟路由冗余协议,和HRSP一样都拥有一个虚拟的ip地址对外提供服务,而不是真正的服务器ip地址,也拥有一台主服务器和多台备份服务器,优先级高的做主路由器,备份服务器处于冗余状态,当主服务器发生故障

CentOS7构建LVS+Keepalived高可用方案

负载均衡(LB)软件常见负载均衡软件有:LVS.Nginx.HaproxyLVS:1). 基于4层网络协议,几乎无流量产生,这个特点也决定这几个负载均衡软件里负载能力最强,内存.CPU占用资源也低.2). 应用范围广,不仅对Web服务做负载均衡,而且可结合其他应用做负载,如LVS+MySQL负载均衡.3). 配置简单, 可配置东西较少.4). 无流量,LVS只分发请求,而流量并不从它本身出去,这点保证了均衡器IO的性能不会收到大流量的影响.5). 有个虚IP概念.Nginx:1). 基于7层网络

(2)LVS+Keepalived高可用负载均衡架构原理及配置

1.keepalived 介绍2.keepalived 优缺点3.keepalived 应用场景4.keepalived 安装配置5.keepalived+lvs 高可用6.keepalived+nginx 高可用7.keepalived 切换原理8.性能优化9.常见故障 一.keepalived 介绍 1.keepalived 定义keepalived是一个基于VRRP(virtual route redundent protocol)协议来实现的LVS服务高可用方案,可以利用其来避免单点故障

实例:LVS+Keepalived配置LVS的高可用

LVS+Keepalived配置LVS的高可用 我们这里LVS-DR模型的高可用集群: 实验环境:     vm1 LVS-DR1:              eth0 172.16.3.2/16              VIP :eth0:0 172.16.3.88              vm2 LVS-DR2:             eth0 172.16.3.3/16     vm3 Server-web1             RS1: eth0 172.16.3.1/16  

Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境】

1.环境说明: 系统版本:Ubuntu 14.04 LVS1物理IP:14.17.64.2   初始接管VIP:14.17.64.13 LVS2物理IP:14.17.64.3   初始接管VIP:14.17.64.14 真实web服务器IP:14.17.64.4-12 实现效果:去往14.17.64.13或14的报文,转发给14.17.64.4-12中的一台服务器处理,实现负载均衡. 要求1:当一台真实web服务器故障后,自动把该IP从负载均衡中踢除,恢复后自动加入集群. 要求2:当一台LVS服

搭建LVS+Keepalived高可用负载集群

搭建LVS+Keepalived高可用负载集群 最近,本屌接到公司的任务,公司新上20台服务器,需要搭建一整套架构来运行公司的业务,其中有应用服务器,认证服务器,数据库服务器等.服务器基础架构中的应用服务器集群要有高可用性,且需要负载均衡.当我接到这个任务的时候,脑子里第一个想法就是LVS+Keepalived. 由于公司资金有限,直接上硬件的负载均衡设备是不可能的了,所以只好使用软件来实现,LVS在负载均衡集群中无疑是一种很好的方案,使用LVS可以同时分发10台以下的设备,用在我们这个项目中是