KeepAlived的配置
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的配置的更多相关文章
- lvs keepalived 安装配置详解【转】
		
lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...
 - MYSQL + MHA +keepalive + VIP安装配置(三)--keepalived安装配置
		
一.概述 keepalived介绍:Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web 服务器从系统中剔除 ...
 - CentOS7.1下生产环境Keepalived+Nginx配置
		
CentOS7.1下生产环境Keepalived+Nginx配置 [日期:2015-07-20] 来源:Linux社区 作者:soulful [字体:大 中 小] 注:下文涉及到配置的,如无特别 ...
 - keepalived的配置详解(非常详细)
		
keepalived的配置详解(非常详细) 2017-01-22 15:24 2997人阅读 评论(0) 收藏 举报 分类: 运维学习(25) 转载自:http://blog.csdn.net ...
 - keepalived安装配置实战心得(实现高可用保证网络服务不间断)
		
keepalived安装配置实战心得(实现高可用保证网络服务不间断) 一.准备2台虚拟机 安装的系统是:centos-release-7-1.1503.el7.centos.2.8.x86_6 ...
 - lvs+keepalived+vsftp配置FTP服务器负载均衡
		
LVS+Keepalive 实现服务器的负载均衡高可用一.安装两台机器的安装是一样的,这里只记录一遍.1. 下载LVS+Keepalive 所需安装包http://www.keepalived.org ...
 - tomcat+nginx+keepalived的配置
		
tomcat+nginx+keepalived的配置 1.在官网上下载Tomcat 2.将压缩包解压,并且移动到/opt/data/的目录下. .tar.gz /opt/data/ 3.进入到Tomc ...
 - nginx + keepalived双活配置
		
一.安装nginx 我们这边默认安装的nginx的是1.12.2的版本,所以我们需要安装1.16.1版本的nginx的,才好,所以我们这边先更新yum源,步骤如下: 1.添加yum源: [root@s ...
 - 自己总结的keepalived的配置流程以及注意事项
		
编写背景:上班时领导要求我们团队实现postgresql主备切换的高可用问题,我辅助keepalived的部分,从查资料到实施最后使用,最后编写了这个博客,水平有限,欢迎大家指正 ###postgre ...
 - Keepalived安装配置
		
一. 介绍 keepalived:是一个类似于 layer3, 4 & 7 交换机制的软件,也就是我们平时说的第 3 层.第 4 层和第 7层交换. Keepalived 的作用是检测 we ...
 
随机推荐
- mybatis返回map类型数据空值字段不显示(三种解决方法)
			
转http://blog.csdn.net/lulidaitian/article/details/70941769 一.查询sql添加每个字段的判断空 IFNULL(rate,'') as rate ...
 - 如何设置路由器的MTU
			
前几天搞了个ER-X,总觉得没有发挥其最大的能力.今天查了下如何设置MTU,罗列如下,备忘. 1. 目前都是PPPOE,这个不管网络如何复杂,均不要在路由后面计算封包大小.正确的是电脑直接连猫,直接拔 ...
 - windows系统安装虚拟机VMware12,然后在虚拟机中安装Red Hat Enterprise Linux6操作系统
			
准备工作下载百度网盘: https://www.baidu.com/s?wd=%E7%99%BE%E5%BA%A6%E7%BD%91%E7%9B%98&rsv_spt=1&rsv_iq ...
 - webdriver学习笔记(一):webdrive脚本打开firefox浏览器,报“AttributeError: module 'selenium.webdriver' has no attribu
			
按照网上提供的方法: 下载geckodriver之后解压缩到 Firefox安装目录 下 添加 Firefox安装目录 到 系统变量Path 重启pycharm 照此步骤执行后,仍然报同样的错.折腾了 ...
 - [codevs3044][POJ1151]矩形面积求并
			
[codevs3044][POJ1151]矩形面积求并 试题描述 输入n个矩形,求他们总共占地面积(也就是求一下面积的并) 输入 可能有多组数据,读到n=0为止(不超过15组) 每组数据第一行一个数n ...
 - runOnUiThread在子进程中更新主进程UI
			
package com.pingyijinren.test; import android.support.v7.app.AppCompatActivity; import android.os.Bu ...
 - POJ 2101 Intervals 差分约束
			
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 27746 Accepted: 10687 Description You ...
 - SQL Server Management Studio自定义快捷键
			
SQL Server Management Studio支持自定义快捷键:工具->选项->键盘: 其中,Alt+F1.Ctrl+1.Ctrl+2是系统预定义的快捷键. 双击表名(或按Ctr ...
 - SVN 资源权限管理系统 SVNAdmin
			
原文:https://www.oschina.net/p/svn-admin
 - 采用jmeter和泛化测试dubbo服务接口
			
采用jmeter和泛化测试dubbo服务接口 http://blog.csdn.net/linuu/article/details/54313560