匿名
未登录
登录
Linux78|wiki
搜索
查看“Keepalived做HA”的源代码
来自Linux78|wiki
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
Keepalived做HA
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
wiki:用户|用户
您可以查看与复制此页面的源代码。
用Keepalived做HA是如此的简单,我们所有的精力都在配置Keepalived的VRRP子 进程上,而完全可以不管LVS的配置。这节我们假设给两台运行HAProxy的 机器做HA,提供VIP。架构如下: [[File:keepalived-2.jpg|500px|center|border]] === HAProxy和web服务器配置 === 这部分不属于本文讨论范围内,我们只关注在haprox y的机器上 的Keepalived相关配置。 ==== Keepalived 配置 ==== 假设haporxy和后端的web服务器都准备好了,现在就可以开始配 置Keepalived了。这种情况下,因为我们只用到Keepalived的HA,即做virtual router的功能,所以只需要完成第二章里面描述的全局和VRRP配置即可。 配置前需要准备的信息为: 1. VRID—我们使用默认的51 2. VIP—上图的 192.168.1.1, VIP也即Keepalived里面的vritual address的ip地 址 3. LB的IP—这里就是两台haproxy的地址(192.168.1.3和1.4,并假设前 者为 MASTER) 4. 优先级-priority,在多个BACKUP竞选MASTER的时候,优先级高 会获选。这里假设192.168.1.3的优先级为150,另外一台为100所以,实际要配置为: [[File:keepalived-3.jpg|500px|center|border]] '''不抢占''' 当MASTER出现问题后,BACKUP会竞选为新的MASTER,那么当 之前的MASTER重新0NLINE后,是继续成为MASTER还是变成BACKUP呢? 默认情况下,如果没设置不抢占,那么之前的MASTER起来后会继续抢占 成为MASTER,也就是说,整个过程需要发生2次切换: 1. MASTER->BACKUP 2. BACKUP->MASTER 这样对业务频繁的切换是不能容忍的,因此我们希望MASTER起来后, 成为BACKUP !所以要设置不抢占。Keepalived里面提供了nopreempt这 个配置,但是这个配置只能用在state为BACKUP的机器上,但是我们 明明希望的是MASTER不进行抢占,没办法,MASTER的state也得设置 成BACKUP。也就是说192.168.1.3和 192.168.1.4都要将state设置为BACKUP ! 那么到底谁是MASTER?抢占吧,通过priority,所以我们在两台BACKUP上 面通过设置不同的priority来让他们一起来就抢占,高priority的192.168.1.3成 为最初的MASTER。 MASTER的配置 MASTER的配置一192.168.1.3的配置 global_defs { notification_email { finalbsd@gmail.com } notification_email_from finalbsd@gmail.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id haproxy-ha } vrrp_sync_group VG1 { group { VI_1 } } vrrp_instance VI_1 { state BACKUP smtp_alert notify_fault "/root/script/notify_mail.sh fault" notify_master "/root/script/notify_mail.sh master" nopreempt interface eth1 track_interface { eth0 eth1 } virtual_router_id 51 priority 150 advert_int 1 authentication { auth_type PASS auth_pass fsaf..7&f } virtual_ipaddress { 192.168.1.1/24 dev eth1 scope global } } BACKUP的配置 BACKUP的配置一192.168.1.4的配置 BACKUP的配置和MASTER基本一样,但有2个不同点: 1. priority 设置为 100 2.不设置nopreempt 启动服务 分别在两台上执行service keepalived start启动服务。 3.2 用 Keepalived 配置 LVS 我们假设下面的情形: 4台web服务器通过一对LVS进行调度,LVS转发模式为NAT。一对LVS通 过 Keepalived 做HA, [[File:keepalived-4.jpg|500px|center|border]] virtual server就是VIP+VPORT,VIP需要通过VRRPD配置段进行配 置。 real server这里LVS调度的web服务器的IP地址,即图中的192.168.11-14 lb_algo调度算法,这里使用wlc lb_kind包转发模式,这里使用NAT weight权重,默认这里都设置为3 MASTER 和 BACKUP 配置 Keepalived的全局和vrrp配置段和前一节3.1.2完全一样,这里我们只需 要添加virtuaLserver配置段: virtual_server 192.168.1.1 80 { delay_loop 3 lb_algo wlc lb_kind DR persistence_timeout 1200 protocol TCP ha_suspend real_server 192.168.1.11 80 { weight 3 TCP_CHECK { connect_timeout 3 } } real_server 192.168.1.12 80 { weight 3 TCP_CHECK { connect_timeout 3 } } }
返回至
Keepalived做HA
。
导航
导航
首页
最近更改
随机页面
栏目
Nginx
Kubernetes
Spring Cloud
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志