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高可用软件概述相关推荐

  1. keepalived+MHA实现mysql主从高可用集群

    本节索引 原理分析 实验环境准备 主从复制集群 安装MHA包 初始化MHA 配置Keepalived 故障出现 故障恢复 总结 一 原理分析 1 MHA简介: MHA(Master High Avai ...

  2. mysql keepalived双主双活_mysql高可用架构方案之中的一个(keepalived+主主双活)

    Mysql双主双活+keepalived实现高可用 文件夹 1.前言... 4 2.方案... 4 2.1.环境及软件... 4 2.2.IP规划... 4 2.3.架构图... 4 3.安装设置MY ...

  3. mysql+keepalived 双主热备高可用

    理论介绍: 我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即 ...

  4. mysql-mmm 集群高可用软件介绍

    mysql-mmm 集群高可用软件介绍 MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)    关于mysql主主复制配置的监 ...

  5. Linux之Keepalived实现服务器集群高可用

    Keepalived详解 Keepalived介绍  Keepalived是Linux下一个轻量级的高可用解决方案,它与Hearbeat实现的功能类似,都可以实现服务或者网络的高可用,但是又有差别,H ...

  6. 基于keepalived的mysql_【实用】基于keepalived的mysql双主高可用系统

    原标题:[实用]基于keepalived的mysql双主高可用系统 mysql单节点存储时,系统出现故障时服务不可用.不能及时恢复的问题,因此实际使用时,一般都会使用mysql双机方案,使用keepa ...

  7. 基于keepalived+nginx部署强健的高可用7层负载均衡方案20151214

    高可用是个老生常谈的问题了,开源的高可用软件已经做的相当成熟了,之前也在debian下做过lvs+heartbeat的4层LB,一直很稳定(可惜流量不大啊),现在由于业务的需要,做一个基于keepal ...

  8. 路由器snmp配置_基于keepalived配置数据库主从实现高可用

    基于keepalived配置数据库主从实现高可用 使用keepalived来监听端口,实现数据库的高可用.实现效果,其中一台数据库服务器突然出故障或关机时,应该不影响应用正常运行,等待服务器启动之后, ...

  9. Redis主从配置及通过Keepalived实现Redis自动切换高可用

    Redis主从配置及通过Keepalived实现Redis自动切换高可用 [日期:2014-07-23] 来源:Linux社区  作者:fuquanjun [字体:大 中 小] 一:环境介绍: Mas ...

最新文章

  1. MindInsight训练可视整体设计介绍
  2. 拿大厂机器学习岗 offer,吐血整理的面试秘籍!
  3. 1 微信公众号开发 服务器配置 有什么用
  4. 计算机网络 --- 网络层IP数据报
  5. 关于Shell脚本执行python代码,出现No such file or directorython: can't open file的问题
  6. 常见网络设备口令备忘录
  7. linux -----各种颜色代表什么
  8. mysql无法加载主类_找不到或无法加载主类之JDK解决方法
  9. mysql ansi unicode_ANSI与Unicode编码
  10. shell中的EOF用法
  11. 如何使用ssh来连接windows
  12. 计算机教研实训报告,2020计算机实训心得体会范文
  13. Mysql 编程实战三之计算两个日期的工作日数
  14. C++计算绝对值的函数
  15. 【SQL】神奇的DUAL表
  16. Jetson Xavier CAN(11)
  17. 论文阅读《Knowledge Collaborative Fine-tuning for Low-resource Knowledge GraphCompletion》
  18. MySql查询表是否被锁
  19. Python中使用正则表达式以及正则表达式匹配规则
  20. lssvm聚类研究(Matlab代码实现)

热门文章

  1. 批处理学习笔记6 - 重定向符和
  2. Linux 命令(85)—— md5sum 命令
  3. C++函数调用时堆栈的变化情况
  4. 字符数组的初始化与赋值
  5. pytorch 优化器调参
  6. ZAM 3D 制作3D动画字幕 用于Xaml导出
  7. Servlet(2)
  8. pycharm 初级使用文档
  9. 学习 WebService 第五步:在Local创建测试用WebService(WSDL)
  10. ansible安装使用入门