24212 发表于 2016-2-23 08:25:22

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复用器、内存管理、配置文件分析器
核心组件具体如下:

Watchdog高可用监视器
checkers健康状态检测器(TCP、HTTP、SSL、MISC…...)
smtp支持发送邮件通告机制
Systemcall支持系统调用机制,作出管理操作
vrrp stackVRRP栈的实现,实现VRRP协议调用
NetlinkReflectiorVRRP借助于Netlink监控网络,实现网络功能配置
ipvs wrapperipvs控制

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_idLVS_DEVEL物理节点的标识符;建立使用主机名;
vrrp_mcast_group4IPV4多播地址,默认224.0.0.18;
   (2)VRRPDCONFIGURATION:配置vrrp实例vrrp instance:虚拟路由器vrrp_instance NAME {...}vrrp synchronization groupvrrp_sync_group NAME{...}   1)常用配置:
state    MASTER|BACKUP在当前VRRP实例中此节点的初始状态;
interface   IFACE_NAMEvrrp用于绑定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 {stateMASTERinterfaceeno16777736virtual_router_id101priority100advert_int1authentication{auth_typePASSauth_passZPNnTQ6F}virtual_ipaddress{172.16.100.9/16}}vrrp_instanceVI_2 {stateBACKUPinterfaceeno16777736virtual_router_id102priority99advert_int1authentication{auth_typePASSauth_passIWyijM5Q}virtual_ipaddress{172.16.100.10/16}}                                        第二步:node2节点配置vrrp_instanceVI_1 {stateBACKUPinterfaceeno16777736virtual_router_id101priority99advert_int1authentication{auth_typePASSauth_passZPNnTQ6F}virtual_ipaddress{172.16.100.9/16}}vrrp_instanceVI_2 {stateMASTERinterfaceeno16777736virtual_router_id102priority100advert_int1authentication{auth_typePASSauth_passIWyijM5Q}virtual_ipaddress{172.16.100.10/16}}                              
页: [1]
查看完整版本: keepalived高可用调度器配置详解