KeepAlived的相关配置

KeepAlived 配置

	参考帮助
man keepalived.conf
配置文件组件部分:
top hierachy(层次)
global configuration
Global definitions
Static routes/addresses
vrrpd configuration
VRRP synchronization group(s) :vrrp 同步组
VRRP instance(s) :即一个vrrp虚拟路由器
lvs configuration
Virtual server group(s)
Virtual server(s):ipvs 集群的vs和rs
配置语法:
配置虚拟路由器:
vrrp_instance <STRING> {
....
}
专用参数:
state MASTER|BACKUP : 当前节点在此虚拟路由器上的初始状态,只能有一个是MASTER ,余下的都应该为BACKUP
interface IFACE_NAME : 绑定为当前虚拟路由器使用的物理接口
virtual_router_id VRID : 当前虚拟路由器唯一标识,范围是0-255
priority 100 : 当前物理节点在此虚拟路由器中的优先级;范围1-254
advert_int 1 : vrrp 通告的时间间隔,默认1s
认证机制
authentication {
auth_type AH|PASS ##认证类型
auth_pass <PASSWORD> ##仅前8 位有效
}
虚拟IP
virtual_ipaddress {
<IPADDR> / <MASK> brd <IPADDR> dev <STRING> scope <SCOPE> label <LABEL>
192.168.200.17/24 dev eth1
192.168.200.18/24 dev eth2 label eth2:1
}
配置监控网络接口,一旦出现故障,则转为FAULT状态实现地址转移
track_interface {
eth0
eth1

}
nopreempt :
定义工作模式为非抢占模式
preempt_delay 300 :
抢占式模式,节点上线后触发新选举操作的延迟时长,默认模式
定义通知脚本:
notify_master <STRING>|<QUOTED-STRING>: :
当前节点成为主节点时触发的脚本
notify_backup <STRING>|<QUOTED-STRING>: :
当前节点转为备节点时触发的脚本
notify_fault <STRING>|<QUOTED-STRING>: :
当前节点转为“失败”状态时触发的脚本
notify <STRING>|<QUOTED-STRING>: :
通用格式的通知触发机制,一个脚本可完成以上三种状态的转换时的通知

KeepAlived单主配置示例

	单主配置示例:
! Configuration File for keepalived
global_defs {
notification_email { #发送通知邮件的地址
root@localhost
} ##邮件服务器配置
notification_email_from keepalived@localhost #邮件来自于谁
smtp_server 127.0.0.1 #邮件服务器地址
smtp_connect_timeout 30
router_id node1 # 主机名,在另一结点为node2,当前路由器设备id,通常为主机名,非必须
vrrp_mcast_group4 224.0.100.100 # 加一个多播地址,用于主master向这个多播地址发送信息,证明自己还活着,
当主master坏了的时候,多个从路由器向这个多播地址内发送信息,
通过比较优先级选举出来一个master做为主来代替坏了的master工作。
#如果没有指定这里使用224.0.0.18
}
vrrp_instance VI_1 {
state MASTER #在另一个结点上为BACKUP,当物理设备在虚拟路由器设备中的状态
interface eth0 #绑定为当前虚拟路由器使用的物理接口
virtual_router_id 6 #多个节点唯一标识符,必须相同,范围0-255
priority 100 #当前物理节点在此虚拟路由器中的优先级,范围为1-254,在另一个结点上为90
advert_int 1 #通告间隔1s
authentication { #认证机制
auth_type PASS #预共享密钥认证,PASS或AH认证,AH不知道就不建议用,最长8位。
auth_pass 571f97b2 #仅前8位有效,可以用openssl rand -hex 4 取个随机数
}
virtual_ipaddress {
172.18.100.66/16 dev eth0 label eth0:0 #vip地址
}
track_interface { #配置监控网络接口,一旦出现故障,则转为FAULT状态实现地址转移
eth0 #定义要监控的接口,如果interface挂了,可以通过其他地址对外通信,通告是一个端口,对外服务的是另一个端口。
}
}
#nopreemt #是否抢占,默认为不抢占,只允许backup抢占。

KeepAlived 双主配置

	双主模型示例:
! Configuration File for keepalived
global_defs {
notification_email {
root@localhost
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node1
vrrp_mcast_group4 224.0.100.100
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 6
priority 100
advert_int 1
authentication {
auth_type PASS
uth_pass 571f97b2
}
virtual_ipaddress {
172.16.0.10/16 dev eth0
}
}
vrrp_instance VI_2 {
state BACKUP
interface eth0
virtual_router_id 8
priority 98
advert_int 1
authentication {
auth_type PASS
auth_pass 578f07b2
}
virtual_ipaddress {
172.16.0.11/16 dev eth0
}
}

脚本的调用方法

		notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"

通知脚本

		#!/bin/bash
#
contact='root@localhost'
notify() {
mailsubject="$(hostname) to be $1, vip floating(流动)"
mailbody="$(date +'%F %T'): vrrp transition, $(hostname) changed to be $1"
echo "$mailbody" | mail -s "$mailsubject" $contact
}
case $1 in
master)
notify master
;;
backup)
notify backup
;;
fault)
notify fault
;;
*)
echo "Usage: $(basename $0) {master|backup|fault}"
exit 1
;;
esac

KeepAlived 支持IPVS

	虚拟服务器配置参数:
virtual_server IP port | virtual_server fwmark int
{
...
real_server {
...
}
...
}
常用参数
delay_loop <INT> : 服务轮询的时间间隔
lb_algo rr|wrr|lc|wlc|lblc|sh|dh : 定义调度方法
lb_kind NAT|DR|TUN : 集群的类型
persistence_timeout <INT> : 持久连接时长
protocol TCP : 服务协议,仅支持TCP
sorry_server <IPADDR> <PORT> : 所有RS故障时,备用服务器地址
real_server <IPADDR> <PORT> RS地址和端口
{
weight <INT> RS 权重
notify_up <STRING>|<QUOTED-STRING> RS 上线通知脚本
notify_down <STRING>|<QUOTED-STRING> RS 下线通知脚本
HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECK { ... } : 定义当前主机的健康状态检测方法
}

KeepAlived 配置检测

		HTTP_GET|SSL_GET 	应用层检测
HTTP_GET|SSL_GET {
url {
path <URL_PATH> : 定义要监控的URL
status_code <INT> : 判断上述检测机制为健康状态的响应码
digest <STRING> : 判断为健康状态的响应的内容的校验码
}
connect_timeout <INTEGER> : 连接请求的超时时长
nb_get_retry <INT> : 重试次数
delay_before_retry <INT> : 重试之前的延迟时长
connect_ip <IP ADDRESS> : 向当前RS哪个IP地址发起健康状态检测请求
connect_port <PORT> : 向当前RS的哪个PORT发起健康状态检测请求
bindto <IP ADDRESS> : 发出健康状态检测请求时使用的源地址
bind_port <PORT> : 发出健康状态检测请求时使用的源端口
}
TCP_CHECK {
connect_ip <IP ADDRESS> : 向当前RS的哪个IP地址发起健康状态检测请求
connect_port <PORT> : 向当前RS的哪个PORT发起健康状态检测请求
bindto <IP ADDRESS> : 发出健康状态检测请求时使用的源地址
bind_port <PORT> : 发出健康状态检测请求时使用的源端口
connect_timeout <INTEGER> : 连接请求的超时时长
}

keepAlived命令

	keepalived - load-balancing and high-availability service
keepalived [OPTION...]
-f, --use-file=FILE 使用指定的配置文件
-P, --vrrp 仅运行VRRP子系统
-C, --check 仅运行带有健康检查的子系统
-l, --log-console 将信息记录到本地控制台
-D, --log-detail 详细的日志信息
-S, --log-facility=[0-7] 将日志功能设置为 LOG_LOCAL[0-7]
-X, --release-vips 从信号转换中删除VIP
-V, --dont-release-vrrp 在后台进程停止中不要删除VRRP VIPs和VROUTEs
-I, --dont-release-ipvs 在后台进程停止中不要删除IPVS拓扑
-R, --dont-respawn 不重生子进程
-n, --dont-fork 不分叉后台进程
-d, --dump-conf 转存配置数据
-p, --pid=FILE 为当前进程使用指定的pid文件
-r, --vrrp_pid=FILE 为VRRP子进程使用指定的pid文件
-c, --checkers_pid=FILE 为检查子进程使用指定的pid文件
-a, --address-monitoring 通过netlink报告所有地址的添加/删除通告
-x, --snmp 启动 SNMP 子系统
-A, --snmp-agent-socket=FILE 为master代理使用指定的socket
-s, --namespace=NAME 在网络名称空间NAME上运行,覆盖配置
-m, --core-dump 如果异常终止,则生成核心转存
-M, --core-dump-pattern=PATN 同时设置 /proc/sys/kernel/core_pattern to PATN (default 'core')
-i, --config_id id 跳过任何与id不匹配的起始 '@'的配置行
-v, --version 显示版本号

KeepAlived的配置的更多相关文章

  1. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  2. MYSQL + MHA +keepalive + VIP安装配置(三)--keepalived安装配置

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

  3. CentOS7.1下生产环境Keepalived+Nginx配置

    CentOS7.1下生产环境Keepalived+Nginx配置 [日期:2015-07-20] 来源:Linux社区  作者:soulful [字体:大 中 小]   注:下文涉及到配置的,如无特别 ...

  4. keepalived的配置详解(非常详细)

    keepalived的配置详解(非常详细) 2017-01-22 15:24 2997人阅读 评论(0) 收藏 举报  分类: 运维学习(25)    转载自:http://blog.csdn.net ...

  5. keepalived安装配置实战心得(实现高可用保证网络服务不间断)

    keepalived安装配置实战心得(实现高可用保证网络服务不间断) 一.准备2台虚拟机     安装的系统是:centos-release-7-1.1503.el7.centos.2.8.x86_6 ...

  6. lvs+keepalived+vsftp配置FTP服务器负载均衡

    LVS+Keepalive 实现服务器的负载均衡高可用一.安装两台机器的安装是一样的,这里只记录一遍.1. 下载LVS+Keepalive 所需安装包http://www.keepalived.org ...

  7. tomcat+nginx+keepalived的配置

    tomcat+nginx+keepalived的配置 1.在官网上下载Tomcat 2.将压缩包解压,并且移动到/opt/data/的目录下. .tar.gz /opt/data/ 3.进入到Tomc ...

  8. nginx + keepalived双活配置

    一.安装nginx 我们这边默认安装的nginx的是1.12.2的版本,所以我们需要安装1.16.1版本的nginx的,才好,所以我们这边先更新yum源,步骤如下: 1.添加yum源: [root@s ...

  9. 自己总结的keepalived的配置流程以及注意事项

    编写背景:上班时领导要求我们团队实现postgresql主备切换的高可用问题,我辅助keepalived的部分,从查资料到实施最后使用,最后编写了这个博客,水平有限,欢迎大家指正 ###postgre ...

  10. Keepalived安装配置

    一.  介绍 keepalived:是一个类似于 layer3, 4 & 7 交换机制的软件,也就是我们平时说的第 3 层.第 4 层和第 7层交换. Keepalived 的作用是检测 we ...

随机推荐

  1. [转] angular2-highcharts用法详解

    1. 使用npm安装angular2-highcharts npm install angular2-highcharts --save 2.主模块中引入 app.module.ts import { ...

  2. STM32F407 跑马灯 库函数版 个人笔记

    原理图: MCU在开发板原理图的第二页,LED在开发板原理图的第三页 由图可知,PF9 ,PF10 若输出低电平则灯亮,高电平则灯灭 选推挽输出 代码步骤 使能IO口时钟. 调用函数RCC_AHB1P ...

  3. Qt笔记——添加菜单图片/添加资源文件

    添加新文件,模板选择Qt分类中的Qt资源文件(Qt Resource File) 先添加前缀,点击"添加"按钮,然后选择"添加前缀",我们这里因为要添加图片,所 ...

  4. [BZOJ1029] [JSOI2007]建筑抢修(贪心 + 优先队列)

    传送门 把数据存在结构体中,至于怎么贪心? 肯定会有些想法,正确错误先不必说,先来试一试. 1.按照 t2 为第一关键字从小到大排,按照 t1 为第二关键字从小到大排 这个显然错,比如后面有个数的 t ...

  5. 如何使用Mysql Workbench导出一整个sql文件,sql包?

    1. 点击Management ; 2. 点击Data Export 3. 点击需要备份的数据名字并打钩 1是点击查看2是选择 4. 在右下方选择要要备份的类型(框架,数据,框架+数据) 5. 选择你 ...

  6. Spring data jpa 复杂动态查询方式总结

    一.Spring data jpa 简介 首先我并不推荐使用jpa作为ORM框架,毕竟对于负责查询的时候还是不太灵活,还是建议使用mybatis,自己写sql比较好.但是如果公司用这个就没办法了,可以 ...

  7. HDU 1754 I Hate It (Splay 区间操作)

    题目大意 维护一个序列,支持两种操作 操作一:将第x个元素的值修改为y 操作二:询问区间[x,y]内的元素的最大值 解题分析 splay的区间操作,事先加入两个编号最小和最大的点防止操作越界. 具体的 ...

  8. Java导出jar并运行

    1. 创建manifest.mf文件 在工程下创建manifest.mf文件.文件内容为: Manifest-version: 1.0 Main-Class: SqlCheckUtil.java 注意 ...

  9. (6)文本挖掘(三)——文本特征TFIDF权重计算及文本向量空间VSM表示

    建立文本数据数学描写叙述的过程分为三个步骤:文本预处理.建立向量空间模型和优化文本向量. 文本预处理主要採用分词.停用词过滤等技术将原始的文本字符串转化为词条串或者特点的符号串.文本预处理之后,每个文 ...

  10. [AngularJS] Store the entry url and redirect to entry url after Logged in

    For example when a outside application need to visit your app address: https://www.example.com/#/lob ...