keepalived高可用调度器配置详解

一、VRRP概述

1.VRRP协议

虚拟路由冗余协议(Virtual Router Redundancy Protocol,简称VRRP)是由IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议,1998年已推出正式的RFC2338协议标准。VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混乱,允许主机使用单路由器,以及及时在实际第一跳路由器使用失败的情形下仍能够维护路由器间的连通性。

2.vrrp术语


参考:H3C VRRP技术白皮书


虚拟路由器


由一个Master路由器和多个Backup路由器组成。主机将虚拟路由器当作默认网关。


VRID


虚拟路由器的标识。有相同VRID的一组路由器构成一个虚拟路由器


Master路由器


虚拟路由器中承担报文转发任务的路由器,主节点(仅能有一个)


Backup路由器


Master路由器出现故障时,能够代替Master路由器工作的路由器,备用节点(可以有多个)


虚拟IP地址(VIP)


虚拟路由器的IP地址。已改为虚拟路由器可以拥有一个或多个IP地址


IP地址拥有者


接口IP地址与虚拟IP地址相同的路由器被称为IP地址拥有者


虚拟MAC地址(VMAC)


一个虚拟路由器拥有一个虚拟MAC地址。虚拟路由器回应APR请求使用的是细腻MAC地址,只有虚拟路由器做特护配置的时候,才会回应接口的真实MAC地址


优先级


VRRP根据优先级来确定虚拟路由器中每台路由器的地位


非抢占方式


若Backup路由器工作在非抢占方式下,只要Master路由器每出现故障,Backup即使随后被配置更高的优先级也不会成为Master路由器


抢占方式


若Backup路由器工作在抢占方式下,当收到VRRP报文后,会将自己的优先级与通告报文中的优先级进行比较。若当前的Master路由器的优先级高,就会主动抢占成为Master路由器;否则保持Backup状态

3.工作过程

(1) 虚拟路由器中的路由器根据优先级选举出Master。Master路由器通过发送ARP报文,将自己的虚拟MAC地址通知给与它连接的设备或者主机,从而承担报文转发任务。

(2) Master路由器周期性发送VRRP报文,以公布其配置信息(优先级等)和工作状况

(3) 若Master路由器出现故障,虚拟路由器中的Backup路由器将根据优先级重新选举新的Master

(4) 虚拟路由器状态切换时,Master路由器由一台设备切换为另一台设备,新的Master路由器知识简单地发送一个携带虚拟路由器的MAC地址和虚拟IP地址信息的ARP此昂管信息。网络中的主机感知不到Master路由器已经切换为另外一台设备

(5) Backup路由器的优先级高于Master路由器时,由Backup路由器的工作方式(抢占和非抢占)决定是否重新选举Master

4.VRRP功能

(1)Master路由器选举

(2)Master路由器状态通告

(3)VRRP认证功能

5.VRRP高可用工作模型

(1)主备备份

业务仅由Master路由器承担。当Master路由器出现故障时,才会由选举出来的Backup路由器接替它工作

(2)主主备份

在路由器的一个接口上可创建多个虚拟路与其,使得该路由器可以在一个虚拟路由器中作为Master路与其,同时在其他的虚拟路由器中做为Backup路由器。主主备份方式能实现负载分担的功能

二、keepalived高可用调度器

1.keepalived功能

keepalived程序是vrrp协议在Linux主机上以守护进程方式的实现。能够根据配置文件生成ipvs规则,并对各Real Server的健康做检测,以及LoadBalance主机和BackUP主机之间failover的实现

keepalived在CentOS 6.4+收录到发行版光盘内,佛在需要编译安装或者第三方RPM包

2.程序组件

核心程序、IO复用器、内存管理、配置文件分析器


核心组件具体如下:


Watch  dog


高可用监视器


checkers


健康状态检测器(TCP、HTTP、SSL、MISC…  ...)


smtp


支持发送邮件通告机制


System  call


支持系统调用机制,作出管理操作


vrrp stack


VRRP栈的实现,实现VRRP协议调用


Netlink  Reflectior


VRRP借助于Netlink监控网络,实现网络功能配置


ipvs wrapper


ipvs控制

3.keepalived高可用集群配置前提

(1)各节点时间要同步;必须不能超过一秒,一般使用网络偶时间服务器(ntp server)

(2)确保iptables及selinux不会成为障碍;

(3)各节点之间可通过主机名互相通信;节点的名称设定与hosts文件中解析的主机名都要保持一致;

#uname -n 获得的主机,与解析的主机名要相同;

(4)各节点之间基于密钥认证的方式通过ssh互信通信;

说明:第三条和第四条非必须

三、keepalived程序环境配置

1.主配置文件:/etc/keepalived/keepalived.conf

(1)GLOBALCONFIGURATION:全局配置

global_defs          # Block id

{

...

}

常用配置:


notification_email  {  …  }


收件人邮箱地址


notification_email_from


发件人邮箱地址


smtp_server


邮件发送服务器IP;


smtp_connect_timeout


邮件服务器建立连接的超时时长;默认30秒


router_id  LVS_DEVEL


物理节点的标识符;建立使用主机名;


vrrp_mcast_group4


IPV4多播地址,默认224.0.0.18;

(2)VRRPDCONFIGURATION:配置vrrp实例

vrrp instance:虚拟路由器

vrrp_instance NAME {

...

}

vrrp synchronization group

vrrp_sync_group NAME  {

...

}

1)常用配置:


state    MASTER|BACKUP


在当前VRRP实例中此节点的初始状态;


interface   IFACE_NAME


vrrp用于绑定vip的接口;


virtual_router_id  #


当前VRRP实例的VRID,可用范围为0-255,默认为51;


priority #


当前节点的优先级,可用范围0-255;


advert_int 1


通告时间间隔;默认1秒

2)认证方式配置:

authentication{     # Authentication block

#PASS||AH

#PASS - Simple Passwd (suggested)

#AH - IPSEC (not recommended))

auth_typePASS

#Password for accessing vrrpd.

#should be the same for all machines.

#Only the first eight (8) characters are used.

auth_pass1234

}

3)虚拟IP配置:

virtual_ipaddress{

<IPADDR>/<MASK>brd <IPADDR> dev <STRING> scope <SCOPE> label <LABEL>

}

(3)LVSCONFIGURATION:ipvs的相关配置集群服务,服务内的RS;

2.双主备份VRRP配置实例

第一步:node1节点配置

vrrp_instanceVI_1 {

stateMASTER

interfaceeno16777736

virtual_router_id101

priority100

advert_int1

authentication{

auth_typePASS

auth_passZPNnTQ6F

}

virtual_ipaddress{

172.16.100.9/16

}

}

vrrp_instanceVI_2 {

stateBACKUP

interfaceeno16777736

virtual_router_id102

priority99

advert_int1

authentication{

auth_typePASS

auth_passIWyijM5Q

}

virtual_ipaddress{

172.16.100.10/16

}

}

第二步:node2节点配置

vrrp_instanceVI_1 {

stateBACKUP

interfaceeno16777736

virtual_router_id101

priority99

advert_int1

authentication{

auth_typePASS

auth_passZPNnTQ6F

}

virtual_ipaddress{

172.16.100.9/16

}

}

vrrp_instanceVI_2 {

stateMASTER

interfaceeno16777736

virtual_router_id102

priority100

advert_int1

authentication{

auth_typePASS

auth_passIWyijM5Q

}

virtual_ipaddress{

172.16.100.10/16

}

}    

时间: 2024-08-24 10:29:35

keepalived高可用调度器配置详解的相关文章

keepalived 高可用调度器配置

一.vrrp 概述 1.VRRP协议 虚拟路由冗余协议,是IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议. VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混 乱,准许主机使用单路由器,及时在在实际第一跳路由器使用失败的情形下仍能够维护路由器 间的连通性. 2.VRRP基本术语 3.VRRP工作原理  4.VRRP的主要功能 1.master 路由器的选择功能 2.master 路由器的状态通告 3.VRRP 认证功能 5.VRRP高可用工

Hadoop 2.6.0 HA高可用集群配置详解

1 Hadoop HA架构详解 1.1 HDFS HA背景 HDFS集群中NameNode 存在单点故障(SPOF).对于只有一个NameNode的集群,如果NameNode机器出现意外情况,将导致整个集群无法使用,直到NameNode 重新启动. 影响HDFS集群不可用主要包括以下两种情况:一是NameNode机器宕机,将导致集群不可用,重启NameNode之后才可使用:二是计划内的NameNode节点软件或硬件升级,导致集群在短时间内不可用. 为了解决上述问题,Hadoop给出了HDFS的高

Yarn 调度器Scheduler详解

理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资源的就是Scheduler.其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景.为此,Yarn提供了多种调度器和可配置的策略供我们选择. 一.调度器的选择 在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,FairS ched

linux高可用之corosync+packmaker详解

HA完整结构: 安装配置高可用集群: 1.节点名称:集群每个节点的名称都得能互相解析 /etc/hosts hosts中主机名的正反解析结果必须跟"uname -n"的结果保持一致: 2.时间必须得同步 使用网络时间服务器同步时间 3.并非必须:各节点间能基于ssh密钥认证通信: 安装: [[email protected] heartbeat]# yum  install corosync  -y 配置: [[email protected] heartbeat]# cd /etc/

HAProxy+Keepalived高可用负载均衡配置

一.系统环境:系统版本:CentOS5.5 x86_64master_ip:172.20.27.40backup_ip:172.20.27.50 vip:172.20.27.200web_1: 172.20.27.90web_2:172.20.27.100二.haproxy安装:1.首先172.20.27.40安装上安装:1.1安装 tar zxvf haproxy-1.3.20.tar.gz cd haproxy-1.3.20 make TARGET=linux26 PREFIX=/usr/l

Linux集群——高可用集群原理详解

主备节点名称 :Active/PassivePrimary/Standby心跳 :HeartbeatHA Resource :IP ,Service ,STONITHFailOver :故障转移FailBack :服务切回资源粘性 :资源更倾向于运行于哪个节点集群内部信息传递是基于UDP的Messaging Layer资源管理器 CRM Cluster Resource ManagerDC : Designated CoordinatorPE : Policy EngineTE : Transa

keepalived高可用集群配置

[软件安装] yum install -y keepalived rpm -qa keepalived LB01配置文件 [[email protected]_01 ~]# cat /etc/keepalived/keepalived.conf !Configuration file for keepalived global_defs {         notification_email {         [email protected]         }         notif

高可用集群架构详解(基于corosync)

架构图 Messaging and Infrastructure Layer 第一层是messaging/infrastructure层,也就是Corosync/OpenAIS层.通过这一层发送"我还活着"的信号. Resource Allocation Layer 第二层是resource allocation layer.这一层最为复杂,包含以下组件: ClusterResource Manager (CRM) 在资源分配层,每一个动作的执行都要经过CRM.资源分配层上的其它组件(

keepalived高可用群集与lvs群集结合搭建

 keepalived双机热备 1:keepalived双机热备,主要是用来提供故障切换,和对节点服务器的健康检查.当故障主机回复之后加入群集 2:keepalived是基于vrrp协议的方式进行热备方式,除了一个主服务器之外可以有多个从服务器,而且每一台从服务器的优先级等级各不相同. 3:工作的时候只有主服务器在工作其他服务器处于冗余状态,只要主服务器一旦发生宕机,从服务器,优先级最高的将接任主服务器的位置,以此类推.当主服务器故障排除之后,将重新夺得控制权