keepalived双机实现高可用和负载均衡

安装keepalived

# ./configure --sysconf=/etc --with-kernel-dir=/usr/src/kernels/2.6.32-358.el6.x86_64/ && make && make install
#ln  -s  /usr/local/sbin/keepalived /sbin/
# chkconfig  keepalived  on

修改网卡配置

# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.2
NETMASK=255.255.255.255
# If you‘re having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=192.168.1.2
ONBOOT=yes

修改内核文件配置

# vim /etc/sysctl.conf
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
# sysctl -p

修改keepalived配置文件

# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
 
vrrp_script chk_mysql_port {
                script "/var/shell/mysql_check.sh"
                interval 2
                weight 2
}
global_defs {
   notification_email {
        [email protected]
   }
 
   notification_email_from [email protected]
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
 
vrrp_instance VI_1 {
    state MASTER    (BACKUP备用)
    interface eth0
    virtual_router_id 51
    priority 100     (backup须优先级低于master)
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
                chk_mysql_port
        }
    virtual_ipaddress {
        192.168.1.2
    }
 
}
virtual_server 192.168.1.2 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP
 
    real_server 192.168.1.1 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.1.3 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

编写脚本(监控mysql,当mysql出现问题不能重新启动时停止nginx服务,keepalived服务会将出现问题的web服务器从集群中剔除出去)

# vim mysql_check.sh
#!/bin/bash
MYSQL_SLAVE=`ps -C mysqld | grep -v PID | wc -l`
if [ $MYSQL_SLAVE -eq 0 ];then
        /etc/init.d/mysqld restart
        sleep 3
        if [ `ps -C mysqld | grep -v PID | wc -l` -eq 0 ];then
                pkill -9 nginx
        fi
fi
时间: 2024-08-18 14:17:34

keepalived双机实现高可用和负载均衡的相关文章

keepalived+nginx实现高可用and负载均衡集群

keepalived+nginx实现高可用and负载均衡集群 前言 因生产环境需要,现需要搭建一个前端为nginx的HA双向互备.后端为nginx代理的loadbalance负载均衡集群.nginx进程基于于Master+Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能.在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发,从而达到Master进程的存活高可靠性,Slave(worker)进程所有的业务信号都 由主进程发出,Slave(work

keepalived+nginx搭建高可用and负载均衡集群

keepalived+nginx搭建高可用and负载均衡集群 前言 因生产环境需要,现需要搭建一个前端为nginx的HA双向互备.后端为nginx代理的loadbalance负载均衡集群.nginx进程基于于Master+Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能.在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发,从而达到Master进程的存活高可靠性,Slave(worker)进程所有的业务信号都由主进程发出,Slave(worke

高可用集群技术之keepalived实现lvs高可用并负载均衡web服务

Keepalived概述: Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器. keepalived实现lvs高可用并负载均衡web服务: 准备工作: 2台keepalived节点为: node1.samlee.com

利用lvs keepalived配置redis高可用及负载均衡

需求 我们用ES做日志服务,架构是 上游数据来源=>redis=>logstash=>ES redis目前还是单点, 没有做高可用, 现在数据量越来越多, 如果下游消费不出问题还好, redis里面数据来了就走,但是下游一旦出问题, 分给redis的内存半小时就撑满了. 看到redis3.0 beta版本已经提供了集群功能, 但是需要client以集群模式接入, 我们这么多上游用户, 不太可能统一要求他们改造. 公司也有硬件的LB, 同事在E公司的时候就是用的硬件LB. 但接入还要申请,

HAproxy+keepalived/pacemaker实现高可用,负载均衡技术

HAproxy+keepalived/pacemaker Haproxy+keepalived的结合,实现负载均衡与高可用的完美结合,既解决了提供服务的负载均衡,又解决了作负载均衡器的单点故障问题.这样架构就很健壮了. 材料准备: keepalived-1.2.20.tar.gz 步骤: #tar -zxf  keepalived-1.2.20.tar.gz    :解压源码包,进行编译安装 #cd   keepalived-1.2.20 #yum  install  -y  gcc  open

keepalived实现lvs高可用并负载均衡lamp

一.安装lamp 1.安装httpd(172.16.23.211) [[email protected] ~]# yum install -y httpd 2.安装php(172.16.23.211) [[email protected] ~]# yum install -y php 3.安装php-mysql(172.16.23.211) [[email protected] ~]# yum install -y php-mysql 4.安装mariadb(172.16.23.211 Cent

Keepalived + nginx 实现高可用web负载均衡 -- 配置文件

keepalived-master配置: ! Configuration File for keepalived global_defs { ## keepalived 自带的邮件提醒需要开启 sendmail 服务.建议用独立的监控或第三方 SMTP router_id debiao02 ## 标识本节点的字条串,通常为 hostname } ## keepalived 会定时执行脚本并对脚本执行的结果进行分析,动态调整 vrrp_instance 的优先级.如果 ## 脚本执行结果为 0,

Haproxy+keepalived高可用、负载均衡安装部署方案

1     环境说明 前端两台haproxy+keepalived互为主从,提供高可用:另外基于不同域名访问不同的虚拟ip实现负载均衡 1.1     环境描述 服务器A(主.从):eth0:10.241.51.245   eth1:192.168.1.9 服务器B(从.主):eth2:10.241.51.246   eth1:192.168.1.10 服务器C(web01):eth0:10.241.51.247 服务器D(web02):eth0:10.241.51.248 VIP1:10.24

(tengine+keepalived)+(apache+tomcat)+memcached+mysql实现高可用、负载均衡、可扩展架构

目录 1.高可用.负载均衡.可扩展架构的需要背景 2.系统架构 3.系统规划及说明 4.系统部署及测试 5.总结 1.高可用.负载均衡.可扩展架构的需要背景 从互联网诞生以来,网站架构随着互联网的快速发展发生着巨大的变化,现今,数据每天都在以爆炸式的增长,大数据.云计算等概念被业内炒得沸沸扬扬,这些前沿技术也在各行各业落地开花.每一种新技术的提出几乎都会或多或少影响着IT的基础架构,面对数据的快速增长.我们急需一套高可用.负载均衡.可扩展的架构来作为支撑. 2.系统架构 此次博文介绍一套高可用.