继续采坑。。有些坑,踩了才知道。

1.文件位置不能错。

首先是安装, 源码编译,--prefix=/usr/local/keepalive

然后用 sbin/keepalive -f  ...conf

那就发现根本生成不了vip ,虚拟ip ,因为你的配置文件没有放在 /etc/keepalived/keepalived.conf ,不生效的。。即使你指定了-f 。

解决方案是

$ cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
$ cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
$ cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
$ mkdir -p /etc/keepalived/
$ cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

或者干脆用yum 安装,centos 里面有包。能省不少麻烦。

2.virtual_router_id

如果猛报错,像这种

VRRP_Instance(VI_1) Dropping received VRRP packet...
Feb 20 23:21:52 localhost Keepalived_vrrp[1125]: ip address associated with VRID not present in received packet : 192.168.51.230
Feb 20 23:21:52 localhost Keepalived_vrrp[1125]: one or more VIP associated with VRID mismatch actual MASTER advert
Feb 20 23:21:52 localhost Keepalived_vrrp[1125]: bogus VRRP packet received on eth0 !!!

说明网段内的机器有keepalive 了。需要修改。

3.weight

好像有好多种设置方法。实践下来,都设置成master ,然后安装优先级来抢占vip 。

vrrp_script chk_http_port {
script "/opt/chk.sh"
interval 2
weight -2
}

假设这台机器是优先级比较高的master ,脚本执行失败,也就是返回非0 ,就优先级-2 。然后另外的机器就抢到vip 了。自动切为backup

然后 chk.sh里面可以这样写,比如检测 httpd 进程的

num=`pgrep httpd|wc -l `

if [ $num -eq "0" ] ;

then #没有进程,让脚本返回1

exit 1

else  #有进程,脚本返回0 ,正常

  exit 0

fi

里面也可以加上 killall keepalived ,把自己杀了,就不会再切回来。

我的配置文件是

! Configuration File for keepalived

global_defs {
# notification_email {
# acassen@firewall.loc
# failover@firewall.loc
# sysadmin@firewall.loc
# }
# notification_email_from Alexandre.Cassen@firewall.loc
# smtp_server 192.168.200.1
# smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script chk_http_port {
script "/opt/chk.sh"
interval 2
weight -2 这里是负数。
} vrrp_instance VI_1 {
state MASTER 都是master
interface eth0
virtual_router_id 52 这个保持一致。
priority 100 两者不要差太多。
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
# 192.168.200.16
# 192.168.200.17
# 192.168.200.18
192.168.51.230 vip
}
track_script { 注意有个空格。中间。
chk_http_port
} }

  实验起来很简单,就开个httpd ,然后主页改下不同,访问vip ,关httpd ,看keepalived 能不能切到 另一台机器上去。如果能的话,网页会显示会不同。网上文章还不少!

如果是虚拟机,virtual box 的配置环境,可以参看之前的文章。http://www.cnblogs.com/gqdw/p/3556072.html

keepalived的一些。。的更多相关文章

  1. 【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡

    一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 ...

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

    相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...

  3. keepalived从机接管后主机恢复不抢占VIP

    在lvs+keepalived环境中,为了减小keepalived主从切换带来的意外风险,,设置主机恢复后不抢占VIP.待进行vrrp协议通告备机不可用时切换.主要修改两个地方.(红色部分) 只需修改 ...

  4. keepalived 知识备注

    keepalived可用于配置nginx/lvs等负载均衡设备的双机热备. keepalived基于VRRP协议,简单的说就是两个物理路由节点(一主一备),虚拟成一个逻辑上的路由节点. 实际消息的路由 ...

  5. Windows下PowerShell监控Keepalived

    一.背景 某数据库服务器为CentOS,想要监控Keepalived的VIP是否有问题,通过邮件进行报警,但这台机器不能上外网,现在只能在Windows下通过PowerShell来完成发邮件预警. 二 ...

  6. Keepalived+LVS+nginx双机热备

    Keepalived简介 什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了, 也就是所谓的高可用或热备,用来防止单点故障的发生. Keepalived采 ...

  7. 基于keepalived双主模型的高可用LVS

    背景知识: keepalived:Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web 服务器从系统中剔除, ...

  8. Keepalived使用梳理

    keepalived介绍keepalived观察其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,它集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防 ...

  9. Keepalived的全局配置

    Keepalived的全局配置 默认配置文件如下: ! Configuration File for keepalived global_defs { notification_email { aca ...

  10. Keepalived的安装

    Keepalived的安装 官网下载:点击直达 yum install -y libnl yum install -y libnl-devel 下载 cd /usr/local/src/ wget h ...

随机推荐

  1. Python操作MySQL之查看、增删改、自增ID

    在python中用pymysql模块来对mysql进行操作,该模块本质就是一个套接字客户端软件,使用前需要事先安装,在cmd中输入: pip3 install pymysql 1.查看 import ...

  2. Libra教程之:Libra protocol的逻辑数据模型

    文章目录 Libra protocol简介 逻辑数据模型 账本状态 交易 账本历史 Libra protocol简介 Libra区块链本质上是一个加密数据库,这个数据库是通过Libra protoco ...

  3. Oracle把表记录恢复到指定时间节点

    可以执行以下命令alter table 表名 enable row movement; --开启表行移动flashback table 表名 to timestamp to_timestamp('20 ...

  4. 15个Nodejs应用场景

    15个Nodejs应用场景 我们已经对Nodejs有了初步的了解,接下来看看Nodejs的应用场景. 2.1 Web开发:Express + EJS + Mongoose/MySQL express  ...

  5. Java之JVM(初学者)

    学习Java的第一次总结 1.Java程序的编译和执行 通过上图,我们轻易得出java执行过程:由javac编译为字节码文件,通过JVM转换为底层操作系统可识别的命令操作. 注意:①Java跨平台的始 ...

  6. python(面向对象-类封装调用)

    一.面对对象思想 (1)大家肯定听过 Python 中”一切皆对象“的说法,但可能并不了解它的具体含义,只是在学习的时候听说 Python 是面向对象的编程语言,本节将向大家详细介绍 Python 面 ...

  7. 10.秋招复习简单整理之CSMA/CD协议

    我们知道,总线上只要有一台计算机在发送数据,总线的传输资源就被占用.因此,在同一时间只能允许一台计算机发送数据,否则各计算机之间就会相互干扰,使得所发送的数据被破坏.因此,如何协调总线上各计算机的工作 ...

  8. 虚拟化云计算平台Proxmox VE

    1.虚拟化技术介绍 1.1.OpenVZ 简介 OpenVZ 是开源软件, 是基于Linux平台的操作系统级服务器虚拟化解决方案,它是基于Linux内核和作业系统的操作系统级虚拟化技术. OpenVZ ...

  9. 清北学堂—2020.3NOIP数学精讲营—Day 1 morning 重点笔记

    qbxt Day 1 morning 重点笔记 --2020.3.8 济南 主讲:钟皓曦 1 正数%负数==正数 负数%正数==负数 负数%负数==负数 a%b的答案的符号取决于a的符号. 2 快速幂 ...

  10. airtest+poco多脚本、多设备批处理运行测试用例自动生成测试报告

    一:主要内容 框架功能及测试报告效果 airtest安装.环境搭建 框架搭建.框架运行说明 airtest自动化脚本编写注意事项 二:框架功能及测试报告效果 1. 框架功能: 该框架笔者用来作为公司的 ...