实现基于Keepalived高可用集群网站架构
实验一:实现keepalived主从方式高可用基于LVS-DR模式的应用实战:
实验原理
1、环境准备:
2、配置 lvs-server-master(主服务器)
3、配置lvs-server-backup (从服务器)
4、配置 real server
5、测试
实验二:实现keepalived双主方式高可用基于LVS-DR模式的应用实战:
实验原理
1、实验环境,基本同上
2、配置 lvs-server-master1(第一个主服务器)
3、配置 lvs-server-master2(第二个主服务器)
4、配置 real server
5、测试
实验三:实现keepalived主从方式高可用基于LVS-NAT模式的应用实战:
实验原理
1、环境准备
2、配置 lvs-server-master(主服务器)
3、配置 lvs-server-backup (从服务器)
4、配置 real server
5、测试
实现基于Keepalived高可用集群网站架构随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,目前业务已经通过集群LVS架构可做到随时拓展,后端节点已经通过集群技术保障了可用性,但对于前端负载均衡器来说,是个比较大的安全隐患,因为当前端负载均衡器出现故障时,整个集群就处于瘫痪状态,因此,负载均衡器的可用性也显得至关重要,那么怎么来解决负载均衡器的可用性问题呢? 实验一:实现keepalived主从方式高可用基于LVS-DR模式的应用实战: 实验原理
主从:一主一从,主的在工作,从的在休息;主的宕机了,VIP漂移到从上,由从提供服务
1、环境准备:两台CentOS系统做DR、一主一从,两台实现过基于LNMP的电子商务网站
机器名称IP配置服务角色备注lvs-server-master VIP:172.17.100.100 DIP:172.17.66.66 负载均衡器 主服务器 开启路由功能 配置keepalived
lvs-server-backup VIP:172.17.100.100 DIP:172.17.251.66 后端服务器 从服务器 开启路由功能 配置keepalived
rs01 RIP:172.17.77.77 后端服务器 网关指向DIP(桥接)
rs02 RIP:172.17.251.111 后端服务器 网关指向DIP(桥接)
2、配置 lvs-server-master(主服务器)
修改keepalived主(lvs-server-master)配置文件实现 virtual_instance 实例
2.1 配置文件中修改三段 配置文件为/etc/keepalived/keepalived.conf
① 全局段,故障通知邮件配置
② 配置虚拟路由器的实例段,VI_1是自定义的实例名称,可以有多个实例段
vrrp_instance VI_1 { state MASTER interface eth1 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass keer } virtual_ipaddress { 172.17.100.100 } }③ 设置一个virtual server段
virtual_server 172.17.100.100 80 { delay_loop 6 lb_algo wrr lb_kind DR nat_mask 255.255.255.255 persistence_timeout 600 protocol TCP④ 配置real server段
real_server 172.17.1.7 80 { weight 1 HTTP_GET { url { path / } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } real_server 172.17.22.22 80 { weight 2 HTTP_GET { url { path / } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }一定要注意大小写!
2.2 开启keepalived 服务 service keepalived start 能看到网卡别名 和 负载均衡策略已经设置好了
我们来使用ipvsadm -Ln来查看一下:
2.3 后续
因为是主从方式,所以从上的配置和主只有一点差别;所以可以把这个配置文件拷贝到从服务器上在进行修改即可:
scp /etc/keepalived/keepalived.conf @172.17.11.11: 3、配置lvs-server-backup (从服务器) 3.1 修改配置文件因为这个配置文件是从主服务器上拷贝过来的,所以只需要修改②实例段,其他都不要变,保证一模一样
vrrp_instance VI_1 { state BACKUP interface eth1 virtual_router_id 51 priority 99 advert_int 1 authentication { auth_type PASS auth_pass keer } 3.2 开启keepalived 服务 service keepalived start 负载均衡策略已经设置好了,注意:主director没有宕机,从上就不会有VIP
可以用ipvsadm -Ln来查看,可能过一会才会显示
配置VIP到本地回环网卡lo上,并只广播自己
ifconfig lo:0 172.17.100.100 broadcast 172.17.100.100 netmask 255.255.255.255 up配置本地回环网卡路由
route add -host 172.17.100.100 lo:0 4.2.2 使RS “闭嘴” echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce忽略ARP广播
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce注意:关闭arp应答
1:仅在请求的目标IP配置在本地主机的接收到请求报文的接口上时,才给予响应
2:必须避免将接口信息向非本网络进行通告
客户端访问
也可以详细测试
① 在rs1 上设置一个测试一面
vim /data/web/test.html
real server 1
② 在rs2 上设置一个测试一面
vim /data/web/test.html
real server 2
③ 网页访问 发现有real server 1也有real server 2
① 使keepalive 的主宕机
service keepalived stop 会发现服务能照常访问,但是VIP 漂移到了从上
从多了网卡别名,且地址是VIP
② 使keepalive 的主重新开启服务,因为主的优先级高,所以VIP又重新漂移到了主上