keepalived高可用系列~第二篇文章

简介:今天搭建下mycat的高可用架构

一 准备环境:

1 两台配置相同的mycat,准备做负载均衡

2 两台安装lvs+keeplived的服务器,准备做高可用

3 两台mysql单实例,做分片集群

二  IP叙述

mycat1  192.168.1.1 keepalived1 192.168.1.3 mysql1 192.168.1.5 VIP 192.168.1.8

mycat2  192.168.1.2 keepalived2 192.168.1.4 mysql2 192.168.1.6

三  架构描述

lvs-keepalived=>mycat集群=>mysql分片集群

四  搭建过程

1 配置文件

1 keepalived1

! Configuration File for keepalived

global_defs {
                      notification_email {

}
                    notification_email_from [email protected]
                    smtp_server 127.0.0.1
                    smtp_connect_timeout 30
                    router_id LVS1
                    }

# db Read
                   vrrp_instance VI_1 {
                   state MASTER
                   interface eth0
                   virtual_router_id 1
                   priority 100
                   advert_int 1
                   authentication {
                  auth_type PASS
                  auth_pass 123456
                   }
                 virtual_ipaddress {
                192.168.1.8/24
                }
                }

# VIP 192.168.1.8
             virtual_server 192.168.1.8 8066 {
             delay_loop 10
             lb_algo rr
             lb_kind DR
            nat_mask 255.255.255.0
            protocol TCP

real_server 192.168.1.3 8066 {
          weight 1
          TCP_CHECK {
          connect_port 8066
          connect_timeout 10
          nb_get_retry 3
         delay_before_retry 5
         }
        }

real_server 192.168.1.4  8066 {
      weight 1
      TCP_CHECK {
      connect_port 8066
      connect_timeout 10

nb_get_retry 3
      delay_before_retry 5
       }
      }
     }

从更改 state=BACKUP,priority=80即可

2 启动keepalived服务

3  ipvsadm -ln 进行VIP和后端real server查看,都存在则代表正常

4 后端real server 进行VIP绑定设置

#!/bin/bash
     # description: Config realserver lo and apply noarp

SNS_VIP=192.168.1.8

case "$1" in
      start)
     ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
      /sbin/route add -host $SNS_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)
      ifconfig lo:0 down
      route del $SNS_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

五 进行测试

mysql -umycat -p123456 -h192.168.1.8 -P 8066  -e ‘show @@hostname‘

两个mycat节点的hostname是不相同的,可以测试出是否成功

六 相关补充

1 本架构采用的轮训(RR)算法 ,DR模式

2 对于mycat做负载均衡是非常有必要的,因为mycat是程序与mysql 交互的唯一通道

3 检测后端可用性采用的是TCP+PORT方式,后续会介绍使用misc_check方式检测可用性

时间: 2024-10-11 09:39:41

keepalived高可用系列~第二篇文章的相关文章

企业级Nginx负载均衡与keepalived高可用实战(二)keepalived篇

1.Keepalived高可用软件 1.1.Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx,Haproxy,MySQL等)的高可用解决方案软件. Keepalived软件主要是通过VRRP协议实现高可用功能的.VRRP是Virtual Router Redundancy Pro

LVS + Keepalived 高可用群集 【DR模式】

简介 Keepalived 起初是专门针对 LVS 设计的一款强大的辅助工具,主要用来提供故障切换和健康检查( Health Checking )功能--判断 LVS 负载调度器.节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后就会重新加入群集中. Keepalived 采用 VRRP (虚拟路由冗余协议)热备份协议,和HSRP一样,只不过 HSRP 是思科私有的协议,VRRP 可以跑在很多设备上!VRRP 是以软件的方式实现 Linux 服务器的多机热备功能. VRRP 工作原

MySQL高可用系列之MHA(二)

一.参数说明 MHA提供了一系列配置参数,深入理解每个参数的具体含义,对优化配置.合理使用MHA非常重要,很多高可用性也都是通过合理配置一些参数而实现的. MHA包括如下配置参数,分别说明如下: hostname/ip/port (Local Only) hostname为MySQL Server的IP地址或主机名: ip为MySQL Server的IP地址,缺省从$hostname中获取:port为MySQL Server的端口号,缺省为3306 ssh_host/ssh_ip/ssh_por

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高可用群集

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

lvs+keepalived 高可用负载均衡模式分析

1. 前言 在<keepalived 双机热备>这篇文章中,我写了利用keepalived 这个开源软件实现高可用的功能,以及keepalived 高可用所使用的协议--利用vrrp 协议,在高可用网络组内广播自己的优先级,优先级最高的就能抢占vip资源,充当MASTER 主机,提供服务.在今天这篇文章,我们来看看lvs 如何与keepalived 的高可用功能结合,实现对负载均衡调度器的高可用. 经过<lvs_nat 负载均衡模式及抓包分析> 和<lvs_dr 负载均衡模式

ansible系列第二篇(模块使用)

ansible系列第二篇(模块使用) 模块使用 设置ansible提权 在hosts文件加入sudo提权的密码: 18.18.23.102 ansible_become_pass='passwd' 执行: ansible test -S -R root -m shell -a "ls -l /" 查看ansible有那些模块: ansible-doc -l 获取各个模块详细帮助信息 ansible-doc -s ping ping模块: ansible test -m ping 从受控

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服

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服