keepalived配置

对于Linux系统的HA Cluster有多种解决办法,有基于AIS的corosync+pacemaker+pcs/crmsh,有基于vrrp协议的keepalived,这里就介绍一些关于keepalived的一些配置。

keepalived:vrrp协议在Linux主机上的以守护进程的方法实现;能够根据配置文件生成ipvs规则,并对各real server做健康检查,调度外部脚本(vrrp_script,track_script)。

HA Cluster配置前提:

1)各节点时间要同步,可以使用crontab定义周期性任务,通过ntpdate同步于同一个时间服务器。

2)确保iptables和selinux关闭。

3)各节点能够基于主机名通信,节点的名称设定的host文件(/etc/hosts)中解析的文件名要保持一致,uname -n获取的主机名与解析的主机名要相同(hostnamectl set-hostname HOSTNAME).

4) (非必须)各节点之间基于密钥认证方式通过ssh互信通信(ssh-keygen -t rsa -p ‘‘;ssh-copy-id -i /root/.ssh/id_rsa.pub ANOUTHERHOST)。

keepalived配置文件:

GLOBAL CONFIGRATION:全局配置

VRRPD CONFIGURATION:配置vrrp实例

vttp instance:虚拟路由器

vrrp synchronization group:vrrp同步组

LVS CONFIGURATION:ipvs的相关配置

集群服务以及服务内的RS

全局配置:

global_defs {
   notification_email {
       [email protected]
   }
   notification_email_from [email protected]
   smtp_server 172.16.50.102
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

global_defs {

notification_email {

...(邮件通知对象)

}

notification_email_from:发件人邮箱地址

smtp_server:邮件发送服务器IP

smtp_connect_timeout:邮件服务器建立连接的超时时间

router_id LVS_DEVEL:物理节点的标识符(建议使用主机名)

vrrp_mcast_group4:IPv4多播地址,默认为224.0.0.18

vrrp实例配置(虚拟路由器:IP地址漂移)

vrrp_instance VI_1 {
    state MASTER
    interface eno16777736
    virtual_router_id 20
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass Ripol/cW
    }
    virtual_ipaddress {
        172.16.50.10
    }
    track_script {
        chk_down
    }
}

state MASTER|BACKUP:在当前VRRP实例中此节点的初始状态设定

interface IFACE:vrrp用来绑定vip的接口

virtual_router_id #:当前vrrp实例的VRID,可用范围为0-255,默认为51

priority #:当前结点优先级,可以范围0-255

advert_int #:通告时间间隔,单位是秒,默认为1

authentication { :认证方式(类型分为:无认证;简单字符认证;MD5认证)

auth_type PASS:认证类型

auth_pass 1111:建议使用8为随机字符

}

virtual_ipaddr { :虚拟ip地址

...

}

定义通知脚本(vrrp_intance{}中)

notify_master "/etc/keepalived/notify.sh master"

notify_backup "/etc/keepalived/notify.sh backup"

notify_fault "/etc/keepalived/notify.sh fault"

只要发生转换,就触发后面的脚本;

定义外部脚本(用来实现高可用服务依赖到的资源的监控)

vrrp_script chk_down {
    script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"
    interval 1
    weight -2
}

interval 1:检测时间间隔1秒

weight -2:检测失败则减少权重

track_script {
        chk_down
}

在实例中追踪定义脚本,用于作为实例的当前节点的监控机制

track_interface {
         IFACE_NAME
}

在实例中追踪网络接口

ipvs服务定义方法

virtual_server 172.16.50.10 80 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    nat_mask 255.255.0.0
    persistence_timeout 50
    protocol TCP

定义real server的方法

    real_server 172.16.50.102 80 {
        weight 1
    }

常用参数

①weight <INT>

②notify_up<string>|<QUOTED-STRING>

③nitify_down<string>|<QUOTED-STRING>

④健康状态检测机制(web应用层检测)

        HTTP_GET {
            url {
                path /
                status_code 200
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }

status_code <INT>:响应状态码

connect_timeout <INTEGER>:连接超时时长

delay_before_retry <INT>:两次重试之间的时间间隔

warmup <INT>:健康状态检测延迟

⑤传输层健康状态检测(tcp层检测)

        TCP_CHECK {
            connect_timeout <INTERFACE>
            connect_port
            bindto <IPADDRESS>
            bind_port <PORT>
        }
时间: 2024-11-07 05:15:46

keepalived配置的相关文章

Keepalived 配置实例

Keepalived 是一款轻量级HA集群应用,它的设计初衷是为了做LVS集群的HA,即探测LVS健康情况,从而进行主备切换,不仅如此,还能够探测LVS代理的后端主机的健康状况,动态修改LVS转发规则. 当LVS进行主备切换的时候,对外提供服务的IP是如何做到切换的呢?这就依赖于keepalived 所应用的vrrp协议,即Virtual Reduntant  Routing Protocol,虚拟冗余路由协议.简单来讲,此协议是将IP设置在虚拟接口之上,根据一定的规则实现IP在物理主机上流动,

Keepalived 配置和使用

keepalived主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现.keepalived主要目的在于,其自身启动一个服务,能够实现工作在双节点或多个节点上,并且可以在内核生效的ipvs规则其中当前持有资源的节点被称为活跃节点,另外的节点被称为备节点被称为 Master/Backup. VRRP(如果有学习过TCP\IP,这一块很好理解): 虚拟路由器冗余协议(VRRP)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域

LVS + Keepalived 配置

#keepalived 配置 ! Configuration File for keepalived global_defs { router_id LVS_DEVEL } ########VRRP Instance######## vrrp_instance VI_1 { state MASTER #指定Keepalived的角色,MASTER为主机服务器,BACKUP为备用服务器 interface eth2 #BACKUP为备用服务器 virtual_router_id 31 priori

CentOS Linux 负载均衡高可用WEB集群之LVS+Keepalived配置

CentOS Linux 负载均衡高可用WEB集群之LVS+Keepalived配置 LB集群是locd balance集群的简称.翻译成中文是:负载均衡集群的意思:集群是一组相互独立的.通过高速网络互联的计算机相互之间构成一个组合,并以单一的系统的模式加以管理.LVS是Linux Virtual Server的简写,翻译中文是Linux虚拟服务器,是一个虚拟的服务器集群系统. 负载均衡集群:是为了企业提供更为实用,性价比更高的系统机构解决方案.负载均衡集群把用户的请求尽可能的平均分发到集群的各

18.1 集群介绍;18.2 keepalived介绍;18.3,18.4,18.5 用keepalived配置高可用集群(上,中,下);

18.1 集群介绍 1. 根据功能划分为两大类:高可用和负载均衡 2. 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 3. 实现高可用的开源软件有:heartbeat.keepalived 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2 4. 实现负载均衡的开源软件有LVS.keepalived.haproxy.nginx,

haproxy+keepalived配置

一.环境 系统:CentOS 6.4x64最小化安装 ha-keep-m:192.168.3.15 ha-keep-s:192.168.3.22 httpd-16:192.168.3.16 httpd-17:192.168.3.17 VIP:192.168.3.28 二.在ha-keep-m和ha-keep-s上安装haproxy [[email protected] ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64

实例:LVS+Keepalived配置LVS的高可用

LVS+Keepalived配置LVS的高可用 我们这里LVS-DR模型的高可用集群: 实验环境:     vm1 LVS-DR1:              eth0 172.16.3.2/16              VIP :eth0:0 172.16.3.88              vm2 LVS-DR2:             eth0 172.16.3.3/16     vm3 Server-web1             RS1: eth0 172.16.3.1/16  

LVS + Keepalived 配置详解

LVS+Keepalived 配置 我们通过LVS-DR-MASTER,LVS-DR-BACKUP作为LVS负载均衡调度器,并且两者之间通过keepalived来两者之间的HA.keepalived本身就是为了LVS为开发的,所以说我们通过keepalived来进行LVS的配置就显得十分的方便.而且keepalived是直接操作ip_vs不用通过ipvsadm,所以更加方便. 实验拓扑图 LVS节点1配置: # yum install popt-devel openssl openssl-dev

一次故障记录keepalived配置疏忽导致的故障

负载均衡keepalived+lvs 负载nginx 应用tomcat nginx负载通过公网,每一台nginx都负载了多聊链路到后端应用,突然部分客户无法访问业务,负载均衡没有问题,部分nginx服务器到后端应用超时,nginx日志中报出错误:但是keepalived配置为 TCP_CHECK {            connect_timeout 3             nb_get_retry 3            delay_before_retry 3            

lvs+keepalived配置

一.环境 lvs-keep-m: 192.168.3.24 lvs-keep-s: 192.168.3.25 RS1: 192.168.3.26 RS2: 192.168.3.27 VIP: 192.168.3.28 二.在所有节点都配置ntp同步时间 [[email protected] ~]# ntpdate asia.pool.ntp.org [[email protected] ~]# hwclock -w 三.RS1和RS2配置httpd服务,以及VIP RS1操作 [[email p