测试keepalived备备模式

一、需求:应用需要做HA,配置一个vip作为入口,心跳监测服务。使用backup/backup模式通过优先级和track脚本来控制主备

1)分布
主:10.0.200.88,状态:backup,优先级85
备:10.0.200.89,状态:backup,优先级75
vip:10.0.200.90

2)配置文件举例【主】:
[[email protected] keepalived]# pwd
/etc/keepalived
[[email protected] keepalived]# ls
backup  bin  keepalived.conf  old
[[email protected] keepalived]# cat keepalived.conf 
# Role: master
! Configuration File for keepalived

global_defs {
 router_id LVS_200_88                             # LVS_RealIP第3位_RealIP第4位,备机也是同理
}

vrrp_script CHK_REDIS {
  script "/etc/keepalived/bin/chk_redis.sh"
  interval 3
  weight -20
}

vrrp_instance VIP_REDIS_90 {                      # VIP_服务代号_vip的第4位
  state BACKUP                                    # 备机用:BACKUP,或者主备都BACKUP,通过优先级控制
  interface em2                                   # 指定网卡
  virtual_router_id 90                            # id采用vip的第4位
  priority 85                                     # 优先级,默认主=85,备=75
  nopreempt                                       # 优先级高的那台设置,表明恢复后,不会和BACKUP抢
  advert_int 1                                    # 通告vrrp的间隔时间

  authentication {                                # 主备机的密码要一致
    auth_type PASS
    auth_pass 1111
  }

  virtual_ipaddress {                             # vip写到这里,可以每行一个
    10.0.200.90
  }

  track_script {
    CHK_REDIS
  }

}

和备机的配置区别如下:
[[email protected] keepalived]# diff keepalived.conf backup/keepalived.conf 
1c1
< # Role: master
---
> # Role: backup
5c5
<  router_id LVS_200_88                             # LVS_RealIP第3位_RealIP第4位,备机也是同理
---
>  router_id LVS_200_89                             # LVS_RealIP第3位_RealIP第4位,备机也是同理
18,19c18,19
<   priority 85                                     # 优先级,默认主=85,备=75
<   nopreempt                                       # 优先级高的那台设置,表明恢复后,不会和BACKUP抢
---
>   priority 75                                     # 优先级,默认主=85,备=75
>   #nopreempt                                       # 在优先级高的那台设置,表明恢复后,不会和BACKUP抢

3)监测服务的脚本,此处以redis服务为例:
[[email protected] keepalived]# cat bin/chk_redis.sh 
#!/bin/bash
# 

c=$(ps -ef |grep ‘redis-server \*:6379‘ |wc -l)

echo "`date` ---Check HA: start---" >/tmp/test_redis_ha.log
echo "redis_6379 process count: $c" >>/tmp/test_redis_ha.log

if [ $c -gt 0 ]; then
  retval=0
else
  retval=1
fi
echo "return: $retval" >>/tmp/test_redis_ha.log
echo "`date` ---Check HA: end---" >>/tmp/test_redis_ha.log
exit $retval

注1:virtual_router_id是唯一的,使用前请在局域网抓包看看
tcpdump -i em2 -nn vrrp

二、防火墙放行vrrp协议
因为iptables过滤了vrrp协议,它不属于任何端口,像icmp一样,需要单独放行。
-A INPUT -p vrrp -j ACCEPT

例如,在上面的配置文件中,增加到rc.firewall.txt中,icmp那条策略后
-A INPUT -p icmp -j ACCEPT
-A INPUT -p vrrp -j ACCEPT   <-  这是增加的一条策略
-A INPUT -i lo -j ACCEPT 

【具体操作】在主备机器上都要操作。
检查当前生效的策略:
iptables -nL
保存:
iptables-save >rc.firewall.txt
修改
sed -i ‘/-A INPUT -p icmp -j ACCEPT /a\-A INPUT -p vrrp -j ACCEPT‘ rc.firewall.txt
应用新策略:
iptables-restore /root/rc.firewall.txt 
检查当前生效的策略:
iptables -nL
确认无误后保存
service iptables save
时间: 2024-09-29 08:38:48

测试keepalived备备模式的相关文章

测试keepalived主备模式

目的:观察VIP在主备服务器上的切换过程 一.安装 yum -y install ipvsadm keepalived 二.服务配置 [keepalived  主] [[email protected] ~]# cat /etc/keepalived/keepalived.conf  ! Configuration File for keepalived global_defs {    router_id R201-1 } vrrp_instance VIP_Mysql {     state

测试keepalived在DR模式下VIP转发数据到RIP的过程

此处测试环境约定: [Client]                            CIP = 10.0.200.22       MAC = 8c:89:a5:96:4c:b2(假设为11:11:11:11:11:11) [Director]      VIP = 10.0.205.100  DIP = 10.0.200.21       MAC = 8c:89:a5:96:51:cf(假设为22:22:22:22:22:22) [RealServer]                

测试keepalived备备模式的主从切换过程

继续上次"测试keepalived备备模式"的配置后,测试运行状态中主从的切换过程 主要是分析优先级的改变过程.(目前的分析不一定正确,且可能片面,后续会更新,仅供参考) 优先级priority用P来代替 1.首先: Pa = 85 Pb = 75 此时 Pa > Pb 主 = Pa 从 = Pb weight = -20 检测脚本(retval)返回0,表示成功,其他(例如1),则表示失败 weight>0时, retval=0,则P = P + weight retva

haproxy+keepalived主备与双主模式配置

Haproxy+Keepalived主备模式 主备节点设置 主备节点上各安装配置haproxy,配置内容且要相同 global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon defaults #defaults段默认值对frontend和backend和listen段生效 mode http #运行模式

MM(主主数据库)+keepalived主备高可用集群

博客分享的第一篇技术文章: 项目主要搭建:主主数据库高可用集群搭建. 数据库互为主备,应用技术:MM+keepalived 使用的是虚拟机搭建的实验向大家展示: 数据库1:192.168.4.7 数据库2:192.168.4.77 VIP:192.168.4.68 web1:192.168.4.69 web2:192.168.4.70 一.安装mysql,部署主主同步结构. 直接yum安装 配置主主同步: 由于主数据库192.168.4.7里面存放着数据,所以需要先导出数据,方法很多,我们采取m

linux HAProxy及Keepalived热备

HAProxy 它是免费,快速且可靠的一种解决方案没,适用于那些负载特大的web站点这些站点通常又需要会话保持或七层处理提供高可用性,负载均衡及基于tcp和http应用的代理 衡量负载均衡器性能的因素 Session rate 会话率: 每秒钟产生的会话数 Session concurrency 并发会话数: 服务器处理会话的时间越长,并发会话数越多 Data rate 数据速率: 以MB/s或Mbps衡量,大的对象导致并发会话数增加, 高会话数,高数据速率要求更多的内存 haproxy工作模式

Nginx+Keepalived主备切换(包含nginx服务停止)

原文地址:http://blog.sina.com.cn/s/blog_79ac6aa80101bmed.html Nginx+Keepalived主备切换(包含nginx服务停止) 环境: VM中4台CentOS 本机PC充当测试机win8 步骤: 1.搭建 nginx+keepalived主备切换(不考虑主nginx停掉现象)文章中的环境 2.修改两台部署的keepalived的配置文件 3.编写观察nginx进程情况的脚本内容 #!/bin/bash A=`ps -C nginx --no

PHP设计模式之备忘模式

1.Norton Ghost的方便与问题 我们大多数win的用户都用过Norton Ghost,只要将目前系统备份一下生成镜像文件,等系统中毒或崩溃的时候,用Norton Ghost恢复一下就回到备份时候的样子了. 这个可以说就是备忘(Memento)模式的基本原理了,先备份,需要的时候恢复.因此备忘模式是比较好理解的. 但在实际应用中,如何正确的应用备忘模式,是需要注意的. 难道我们在word写文章的时候,先要Ghost备份一下所有的硬盘,一旦文章写错了,需要恢复,就用Ghost覆盖硬盘? 就

Javascript备忘模式

使用备忘模式,利用了函数的自定义属性,先看一个例子 var test = function (){} test.myAttr = "attr"; 这样,就给test加上了一个自定义的属性,myAttr. 备忘模式,正式利用了这个方法,将已经运行过的结果存储起来,将函数接受到的参数作为key,将函数运行的结果作为value返回即可.代码如下 var myFunc = function (param) { if(!myFunc.cache[param]){ var result = {};

11. 星际争霸之php设计模式--备忘模式

题记==============================================================================本php设计模式专辑来源于博客(jymoz.com),现在已经访问不了了,这一系列文章是我找了很久才找到完整的,感谢作者jymoz的辛苦付出哦! 本文地址:http://www.cnblogs.com/davidhhuan/p/4248190.html============================================