第一节 keepalived

高可用集群:

系统的可性= MTBF /(MTBF+MTTR) 系统可用时间,系统故障修复时间。

活动的节点将通过心跳不停的将自己的状态信息同步到备用节点上,一但主节点挂了,那个备用节点会接收活动ip和服务进程。

常用作高可用集群的有: keepalived   heartbeat   corosync

keepalived 是专门用于lvs的

心跳信息层: 是用来判断节点是否故障的。

资源管理层:对资源进行管理 监控它只做决策不做实际操作,资源管理器crm

本地资源管理器:LRM 用于管理本地的资源的 RA 资源代理,通过资源代理来执行。

在做高可用是一般节点是为奇数,当主节点联系不到其余两个节点,通过少数服从多数,就可以认为主节点已经死机,在备用节点上有优先级,优先级高的节点将代替主节点继续工作,同时为了防止主节点没有死掉,可以通过电源交换机将主节点杀死。

工作模式:

nm模式: n个节点 m个服务,

nn模式:n个节点 n个服务

vrrp 协议: 虚拟路由冗余协议,比如将两个网卡做成一个集群,具有优先级,当一个当掉,活动ip会到另一个网卡上。实现ip转移

keepalied 还对后端服务器有做健康检查。

核心组件:

控制组件:配置文件分析器,用来实现配置文件的分析和加载

IO复用器
内存管理组件,用来管理keepalived高可用是的内存管理
vrrp stackvrrp协议的实现
 ipvs wrapper:为集群内的所有节点生成IPVS规则

 checkers:对IPVS集群的各RS做健康状态检测

 

ipvs  wrapper : ipvs规则 用来连接ipvs的

checkers :做检验,从而调用ipvswrapper 进行管理的

watch  dog  是来监控checker  he vrrp这两个进程的  通常是个硬件设备

SMTP  :用来通知管理员的

三种认证:

1 无认证

2 简单字符认证

3 MD5  用于非常不安全的网络中

Keepalived是基于vrrp协议的一款高可用软件。Keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主服务器出现故障时,虚拟IP地址会自动漂移到备份服务器。

安装前准备:

1 时间同步

2 关闭iptables  selinux

3 每个节点通过主机名通信

systmctl  restart  chronyd.service   启动后会自动同步时间

systemctl  enable  chronyd.service   开机启动

集群每个节点通过组播方式通信,确保组播启动

查看ifconfig ; 有MULLTICAST 表示支持组播

ip  link  set  multicast  on  dev  ens33  启动

安装keepalived

yum install  keepalived  -y

rpm   -ql  keepalived   查看 产生文件

配置配置文件

有三个配段:

1 全局配制段

global_defs { }

2 vrrp 配制段

vrrp_instance VI_1 {}

3 lvs 配置段  虚拟主机

virtual_server  {}

如:

global_defs {

notification_email {

root@localhost                       收邮件地址

}

notification_email_from Alexandre.Cassen@firewall.loc

smtp_server 192.168.0.200       发邮件地址

smtp_connect_timeout 30          连接时间

router_id node1

vrrp_skip_check_adv_addr

vrrp_strict

 vrrp_mcast_gorup4 224.0.0.28   多播地址

}

vrrp_instance VI_1 {

state MASTER                         主节点  备节点backup

interface ens33                       工作在哪个网卡上

virtual_router_id 51              虚拟路由器 一致

priority 100                          优先级

advert_int 1

authentication {                    认证信息

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.0.200/24 dev/ens33 label ens33:0     vip地址

}

}

启动服务systemctl start keepalived.service

tcpdump -i ens33 -nn host 224.0.0.18  测试   (注意关闭防火墙)

keepalived配置介绍的更多相关文章

  1. Linux centosVMware 集群介绍、keepalived介绍、用keepalived配置高可用集群

    一.集群介绍 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 实现高可用的开源软件有:heartbeat. ...

  2. 使用Keepalived配置主从热备实现Nginx高可用(HA)

    Keepalived 简要介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务 ...

  3. centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课

    centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB ...

  4. KeepAlived的介绍

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

  5. centso 7 Keepalived 配置脚本

    #!/bin/bash #This is keepalived bashshell. #MASTER/BACKUP yum install -y openssl openssl-devel keepa ...

  6. Keepalived 配置实例

    Keepalived 是一款轻量级HA集群应用,它的设计初衷是为了做LVS集群的HA,即探测LVS健康情况,从而进行主备切换,不仅如此,还能够探测LVS代理的后端主机的健康状况,动态修改LVS转发规则 ...

  7. 什么是blob,mysql blob大小配置介绍

    什么是blob,mysql blob大小配置介绍 作者: 字体:[增加 减小] 类型:转载   BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器.在计 ...

  8. ecshop 工作流程加载配置介绍

    ecshop 工作流程加载配置介绍 分类: ecshop2014-09-14 09:36 729人阅读 评论(2) 收藏 举报 模板引擎工作流 这里简单介绍下echsop工作流程: 首先,你会发现一般 ...

  9. Window VNC远程控制LINUX:VNC详细配置介绍

    Window VNC远程控制LINUX:VNC详细配置介绍 //---------------------------------------vnc linux下的详细配置 1.VNC的启动/停止/重 ...

随机推荐

  1. xl2tpd[26104]: Maximum retries exceeded for tunnel 33925. Closing

    Sep  5 14:31:50 root charon: 13[ENC] generating QUICK_MODE request 3930082374 [ HASH ]Sep  5 14:31:5 ...

  2. MySQL数据库的一些方法使用

    substring_index(windSpeed,)/3.6 as windSpeed 可将 .8公里.0m/s 进行拆分 嵌套使用replace方法 replace( replace( repla ...

  3. SQL Server 2017 安装详解

    SQL server 2017下载链接:https://pan.baidu.com/s/1FSzqJfHQAa0QpZ_fObrfjQ    提取码:1xvb  1.双击iso镜像文件 打开setup ...

  4. [PHP]常量的一些特性

    1. define()函数如果定义了两个名称一模一样的常量,那么它将不会抛出错误,并且只有第一次的定义是生效的,再次定义并不会覆盖先前的值: define('ABC', 0); define('ABC ...

  5. [PHP]session回收机制及php.ini session生命期

    由于PHP的工作机制,它并没有一个daemon线程,来定时地扫描session信息并判断其是否失效.当一个有效请求发生时,PHP会根据全局变量 session.gc_probability/sessi ...

  6. windows修复分区卷:chkdsk

    问题描述: 共享磁盘上传文件到服务器报错:一个意外错误使你无法复制该文件夹.如果你继续收到此错误,可以使用错误代码来搜索有关问题的帮助,错误 0x800703E3:由于线程退出或应用程序请求,已终止I ...

  7. Go语言从入门到放弃(三) 布尔/数字/格式化输出

    本章主要介绍Go语言的数据类型 布尔(bool) 布尔指对或者错,也就是说bool只有两个值, True 或 False 两个类型相同的值可以使用比较运算符来得出一个布尔值 当两个值是完全相同的情况下 ...

  8. python----动态规划

    不能放弃治疗,每天都要进步!! 什么时候使用动态规划呢? 1. 求一个问题的最优解 2. 大问题可以分解为子问题,子问题还有重叠的更小的子问题 3. 整体问题最优解取决于子问题的最优解(状态转移方程) ...

  9. Modbus库开发笔记之一:实现功能的基本设计

    Modbus作为开放式的工业通讯协议,在各种工业设备中应用极其广泛.本人也使用Modbus通讯很多年了,或者用现成的,或者针对具体应用开发,一直以来都想要开发一个比较通用的协议栈能在后续的项目中复用, ...

  10. swift项目初始化并添加忽略文件Swift.ignore

    1 先去GitHub上去把最新的忽略文件下载下载 https://github.com/github/gitignore 2 然后找到Swift.gitignore  把里面的 pod 前面的# 删除 ...