keepalived 多个应用_Keepalived高可用软件概述
Keepalived高可用软件概述:
1)互联网主要的高可用软件:Keepalived、Hearttbeat、其中Keepalived是轻量级的,Keepalived是一款开源、免费的实现网站、数据库、业务系统之间的高可用软件,是目前企业中使用最广泛的软件。
2)Keepalived实现高可用,主要考两个功能实现:
健康检查:
Keepalived可以去检查后端nginx、MySQL、NFS、redis、服务器的运行状态,具体可以类似交换机制 3层(网络层ping)、4层(传输层:telnet port)、7层(应用层:URL、HTTP、FTP)检查。
VRRP技术:
Keepalived可以使用VRRP(虚拟路由器冗余技术),可以将两台物理机封装称为路由器集群,根据优先级选举产生master和backup,成为master的路由器(主机)会产生VIP地址,并且由VIP地址(路由器)负责用户的请求或者路由转发。
成为master的路由器(主机)之后,会定时向集群内部组发送组播信息(包),backup接收到组播信息之后,会认为master还是存活的,此时不会参与竞选或者抢占为master,没有收到组播包之后会参与集群内部竞选,竞选通常是以优先级来决定,优先级高则为master,低则为backup。
3)
4)配置Keepalived,两台服务器keepalived.conf常用内容如下:
! Configuration File forkeepalived
global_defs {
notification_email {
support@jfedu.net
}
notification_email_from wgkgood@163.com
smtp_server127.0.0.1smtp_connect_timeout30router_id LVS_DEVEL
}
vrrp_script chk_nginx {
script"/data/sh/check_nginx.sh"interval2weight2}#VIP1
vrrp_instance VI_1 {
state BACKUP
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id151priority100advert_int5nopreempt
authentication {
auth_type PASS
auth_pass1111}
virtual_ipaddress {192.168.0.198}
track_script {
chk_nginx
}
}
5)配置文件参数详解:
完整的keepalived的配置文件,其配置文件keepalived.conf可以包含三个文本块:全局定义块、VRRP实例定义块机虚拟服务器定义块。全局定义块和虚拟服务器定义块是必须的,如果在只有一个负载均衡器的场合,就不需要VRRP实例定义块。
#全局定义块:
! Configuration File for keepalived #!改行表示注释;
global_defs {
notification_email {#指定keepalived在发生切换时需要发送email到的对象,一行一个;
support@jfedu.net
}
notification_email_from wgkgood@163.com #指定发件人;
smtp_server 127.0.0.1 #指定smtp服务器地址;
smtp_connect_timeout 30 #指定smtp连接超时时间;
router_id LVS_DEVEL #运行keepalived机器的标识;
}
#监控nginx进程:
vrrp script chk_nginx {
script"/data/script/nginx.sh" #监控服务脚本路径,脚本需要有x执行权限;
interval 2 #检测时间隔(执行脚本间隔);
weight 2}
#VRRP实例定义块:
vrrp sync group VG_1{ #监控多个网段的实例;
group{
VI_1#实例名;
VI_2
}
notify master/data/sh/nginx.sh #指定当时切换到master时,执行脚本;
notify backup /data/sh/nginx.sh #指定当时切换到backup时,执行脚本;
notify /data/sh/nginx.sh #发生任何切换,均执行的脚本;
smtp alert; #使用global defs中提供的邮件地址和smtp服务器发送邮件通知;
}
vrrp instance VI_1{
state BACKUP#设置主机状态;
MASTER/BACKUP
nopreempt#设置为不抢占;
interface ens33 #对外提供服务的网络接口;
lvs sync daemon interface ens33 #负载均衡器之间监控接口;
track interface { #设置额外的监控,网卡出现问题都会切换;
ens33
eth0
}
macast src ip#发送多播包的地址,如果不设置默认使用绑定网卡的primary ip;
garp master delay #在切换到master状态后,延迟进行gratuitous ARP请求;
virtual router id 50 #VRID标记,路由ID可通过#tcpdump vrrp查看;
priority 90 #优先级,高优先级竞选为master;
advert int 5 #检查间隔,默认5秒;
preempt delay #抢占延时,默认5秒;
debug #debug日志级别;
authentication { #设置认证;
auth type PASS #认证方式;
auth pass 1111 #认证密码;
}
track script{#以脚本为监控;
chk nginx;
chk_nginx
}
virtual ipaddress {#设置vip
192.168.1.188}
}
注意: 使用了脚本监控nginx或者MySQL,不需要如下虚拟服务器设置块。
#全局定义块:
virtual server 192.168.1.188 3306{
delay loop6 #健康检查时间间隔;
lb_algo rr #调度算法rr|wrr|lc|wlc|lblc|sh|dh;
lb kind DR #负载均衡转发规则 ;
NAT|DR|TUN
persistence timeout5 #会话保持时间;
porsistence TCP #使用的协议;
real server 192.168.1.199 3306{
weight1 #默认为1,0为失效;
notify up | #在检测到server up后执行脚本;
notify down | #在检测到server down后执行脚本;
TCP_CHECK {
connect_timeout3 #连接超时时间;
nb_get_retry 1 #重连次数;
delay_before_retry 1 #重连间隔时间;
connect_port 3306 #健康检查的端口;
}
HTTP_GET {
url {
path/index.html #检测url,可写多个
digest 24326582a86bee478bac72d5af25089e #检测效验码;
genhash -s IP -p 80 -u http://IP/index.html #digest效验码获取方法:
status_code 200 #检测返回http状态码
}
}
}
查看日志:
tail -fn 30 /var/log/messages
keepalived 多个应用_Keepalived高可用软件概述相关推荐
- keepalived+MHA实现mysql主从高可用集群
本节索引 原理分析 实验环境准备 主从复制集群 安装MHA包 初始化MHA 配置Keepalived 故障出现 故障恢复 总结 一 原理分析 1 MHA简介: MHA(Master High Avai ...
- mysql keepalived双主双活_mysql高可用架构方案之中的一个(keepalived+主主双活)
Mysql双主双活+keepalived实现高可用 文件夹 1.前言... 4 2.方案... 4 2.1.环境及软件... 4 2.2.IP规划... 4 2.3.架构图... 4 3.安装设置MY ...
- mysql+keepalived 双主热备高可用
理论介绍: 我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即 ...
- mysql-mmm 集群高可用软件介绍
mysql-mmm 集群高可用软件介绍 MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器) 关于mysql主主复制配置的监 ...
- Linux之Keepalived实现服务器集群高可用
Keepalived详解 Keepalived介绍 Keepalived是Linux下一个轻量级的高可用解决方案,它与Hearbeat实现的功能类似,都可以实现服务或者网络的高可用,但是又有差别,H ...
- 基于keepalived的mysql_【实用】基于keepalived的mysql双主高可用系统
原标题:[实用]基于keepalived的mysql双主高可用系统 mysql单节点存储时,系统出现故障时服务不可用.不能及时恢复的问题,因此实际使用时,一般都会使用mysql双机方案,使用keepa ...
- 基于keepalived+nginx部署强健的高可用7层负载均衡方案20151214
高可用是个老生常谈的问题了,开源的高可用软件已经做的相当成熟了,之前也在debian下做过lvs+heartbeat的4层LB,一直很稳定(可惜流量不大啊),现在由于业务的需要,做一个基于keepal ...
- 路由器snmp配置_基于keepalived配置数据库主从实现高可用
基于keepalived配置数据库主从实现高可用 使用keepalived来监听端口,实现数据库的高可用.实现效果,其中一台数据库服务器突然出故障或关机时,应该不影响应用正常运行,等待服务器启动之后, ...
- Redis主从配置及通过Keepalived实现Redis自动切换高可用
Redis主从配置及通过Keepalived实现Redis自动切换高可用 [日期:2014-07-23] 来源:Linux社区 作者:fuquanjun [字体:大 中 小] 一:环境介绍: Mas ...
最新文章
- MindInsight训练可视整体设计介绍
- 拿大厂机器学习岗 offer,吐血整理的面试秘籍!
- 1 微信公众号开发 服务器配置 有什么用
- 计算机网络 --- 网络层IP数据报
- 关于Shell脚本执行python代码,出现No such file or directorython: can't open file的问题
- 常见网络设备口令备忘录
- linux -----各种颜色代表什么
- mysql无法加载主类_找不到或无法加载主类之JDK解决方法
- mysql ansi unicode_ANSI与Unicode编码
- shell中的EOF用法
- 如何使用ssh来连接windows
- 计算机教研实训报告,2020计算机实训心得体会范文
- Mysql 编程实战三之计算两个日期的工作日数
- C++计算绝对值的函数
- 【SQL】神奇的DUAL表
- Jetson Xavier CAN(11)
- 论文阅读《Knowledge Collaborative Fine-tuning for Low-resource Knowledge GraphCompletion》
- MySql查询表是否被锁
- Python中使用正则表达式以及正则表达式匹配规则
- lssvm聚类研究(Matlab代码实现)