企业实战(3)
企业实战:逐步实现企业各种情景下的需求企业情景三:
网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,目前业务已经通过集群LVS架构可做到随时拓展,后端节点已经通过集群技术保障了可用性,但对于前端负载均衡器来说,是个比较大的安全隐患,因为当前端负载均衡器出现故障时,整个集群就处于瘫痪状态,因此,负载均衡器的可用性也显得至关重要,那么怎么来解决负载均衡器的可用性问题呢?
项目三:主从实现基于Keepalived高可用集群网站架构
实现keepalived企业级高可用基于LVS-DR模式的应用实战:
一、环境准备:
两台centos系统做DR、一主一从,两台实现过基于LNMP的电子商务网站
二、安装步骤:
1、两台服务器都使用yum 方式安装keepalived服务
2、iptables -F && setenforing 清空防火墙策略,关闭selinux
实现前分配各个角色
机器名称
IP配置
服务角色
备注
lvs-server-master
VIP:172.17.252.110 DIP:172.17.250.223
主负载均衡器
开启路由功能配置keepalived
lvs-server-backup
VIP:172.17.252.110 DIP:172.17.251.37
从负载均衡器
开启路由功能 配置keepalived
rs01
RIP:172.17.252.87
后端服务器
网关指向DIP(桥接)
rs02
RIP:172.17.250.45
后端服务器
网关指向DIP(桥接)
三、配置基于DR模式的LVS负载均衡集群:
主(master):
1、修改keepalived主(lvs-server-master)配置文件实现virtual_instance
vrrp_instance VI_1 {
state MASTER#状态情况
interface eth1 #接口
virtual_router_id 51
priority 100 #权重
advert_int 1
authentication {
auth_type PASS
auth_pass magedu
}
virtual_ipaddress {
172.17.252.110 #VIP
}
}
2、修改keepalived主(lvs-server-backup)配置文件实现virtual_server
virtual_server VIP 端口 {
delay_loop 6
ld_algo rr
lb_kind DR
protocol TCP
real_server 172.17.252.87 80 { #RIP
weight 1
TCP_CHECK {
connect_timeout 3
}
}
real_server 172.17.250.45 80 { #RIP
weight 1
TCP_CHECK {
connect_timeout 3
}
}
从(back-up):
1、修改keepalived从(lvs-server-backup)配置文件实现virtual_instance
vrrp_instance VI_1 {
state BACKUP#状态情况
interface eth1#接口
virtual_router_id 51
priority 98#权重,注意从要比主的权重小
advert_int 1
authentication {
auth_type PASS
auth_pass grr02
}
virtual_ipaddress {
172.17.252.110
}
}
2、修改keepalived从(lvs-server-backup)配置文件实现virtual_server
virtual_server VIP 端口 {
delay_loop 6
ld_algo rr
lb_kind DR#LVS-DR模式
protocol TCP
real_server 172.17.252.87 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
real_server 172.17.250.45 80 {
weight 1
TCP_CHECK {
connect_timeout 3
}
}
企业应用
(1)实现keeaplived故障通知机制
在企业中,高可用服务,是保证整个系统稳定性的重要前提,确保高可用服务能正常工作和运转,也是非常重要的工作。除了服务上线前的充分测试之外,也需要确保对高可用服务的监控机制,keepalived 自身具备监控和通知机制,可在发生主从切换、故障转移时,通过自定义命令或者脚本,实现通知功能,从而让管理员在第一时间得知系统运行状态,确保整个服务的稳定性和可用性。
可在配置文件中,在instance配置中,通过keepalived 通知功能notify,可实现定制化脚本功能,如下所示:
notify_backup "/etc/keepalived/notify.sh backup"
notify_master "/etc/keepalived/notify.sh master"
notify_fault "/etc/keepalived/notify.sh fault" ```
脚本示范:
vim /etc/keepalived/notify.sh#!/bin/bash
contact='root@localhost'
页:
[1]