keepalived高可用lvs集群,主/备和主/主模型

利用keepalived高可用lvs集群,主/备和主/主;

vrrp_script高可用双主nginx;

keepalived主备:lvs-dr工作模型

网络搭建:

在前端2台调度器:

DR1:172.18.11.111

DR2:172.18.11.112

VIP:172.18.11.7

后端2台web服务器,运行nginx;

RS1:172.18.11.11

RS2:172.18.11.12

搭建web服务器:

提供简单的测试页面,以便容易观测到哪台RS被调度响应:

在RS1上:

]# yum -y install nginx

]# systemctl start nginx.service

]# cd /usr/share/nginx/html/

]# cp index.html{,.bak}

]# vim index.html

<h1> RS2-172.18.11.11</h1>

在RS2上:

]# yum -y install nginx

]# systemctl start nginx.service

]# cd /usr/share/nginx/html/

]# cp index.html{,.bak}

]# vim index.html

<h1> RS2-172.18.11.12</h1>

在RS1上为方便设置内核参数,编写自动设置脚本:

]# vim skp.sh

]# chmod +x skp.sh

]# ./skp.sh start

查看内核参数,确保生效:

]# cat /proc/sys/net/ipv4/conf/all/arp_ignore

]# cat /proc/sys/net/ipv4/conf/all/arp_announce

此脚本传递给RS2:

]# scp skp.sh [email protected]:/root

在RS2主机运行:

]# ./skp.sh start

查看是否arp设置成功

]# cat /proc/sys/net/ipv4/conf/all/arp_ignore

]# cat /proc/sys/net/ipv4/conf/all/arp_announce

在两个调度器上安装keepalived程序并编辑配置文件

]# yum -y install keepalived

分别编辑两个调度器keepalived配置文件

DR1配置:

DR2配置:

只需修改state为备用和优先级即可,其它都保存不变:

在两台调度器上安装ipvsadm命令工具;

安装ipvsadm并查看lvs集群:

]# yum -y install ipvsadm

]# ipvsadm -Ln

显示内容:

可在DR1查看接口上的VIP,已经获得:

找一台主机多次执行测试:

]# curl http://172.18.11.7

会发现,访问请求是由两台RS交替响应的服务;即:

使DR1掉线即手动停止keepalived服务,观察DR2获得VIP负责集群调度;也可同时手动关闭一台RS上的web服务;仍能正常请求web服务;

这就是keepalived基于主备工作模式健康状态检测,来提供高可用nginx的lvs集群服务;

再做keepalived的主/模式主,来提供高可用nginx的lvs集群服务;

只不过就是两个vrrp实例,一个是A的主B的备,一个是B的主A的备;

DR1:172.18.11.111

DR2:172.18.11.112

VIP1:172.18.11.7

VIP2:172.18.11.77

RS1:172.18.11.11

RS2:172.18.11.12

在DR1上配置keepalived:

注意:centos7中可能没有killall命令需要安装psmisc程序包,才能使用;

]# yum -y install psmisc

在DR2上配置keepalived:

编辑脚本通知机制:

配置RS:

在RS1上为方便设置内核参数,编写自动设置脚本:

注意:此处有一大坑!要在两台RS上分别添加lo:1的本机路由条目:

以便实现172.18.11.77能够被访问调度:

]# ifconfig lo:1 172.18.11.77 netmask 255.255.255.255 broadcast 172.18.11.77

]# route add -host 172.18.11.77 dev lo:1

]# chmod +x skp.sh

]# ./skp.sh start

查看内核参数,确保生效:

]# cat /proc/sys/net/ipv4/conf/all/arp_ignore

]# cat /proc/sys/net/ipv4/conf/all/arp_announce

此脚本传递给RS2:

]# scp skp.sh [email protected]:/root

在RS2主机运行:

]# ./skp.sh start

查看是否arp设置成功

]# cat /proc/sys/net/ipv4/conf/all/arp_ignore

]# cat /proc/sys/net/ipv4/conf/all/arp_announce

两台DR上的keepalived都启动,两台RS上的web服务都启动,分别查看两台DR的ip地址:

分别获取到不同VIP,即DR1是VIP1的主用,是VIP2的备用,DR2是VIP1的备用,是VIP2的主用;

测试:访问VIP1和VIP2

可继续测试,手动停止DR1上的keepalived,查看DR2上的ip地址:

在另一台主机curl测试两个VIP:在一台调度器掉线时,对于两个VIP提供的服务,使用curl测试两个VIP,没有任何影响;

同时,再手动停止RS2的nginx服务,在另一台主机curl测试两个VIP:

此时,一台调度器掉线,一台RS掉线,仍能能保持两个VIP提供客户端的服务;

实现了keepalived高可用lvs-dr集群调度,双主nginx的应用。

时间: 2024-10-18 19:35:41

keepalived高可用lvs集群,主/备和主/主模型的相关文章

搭建LVS+Keepalived高可用负载集群

搭建LVS+Keepalived高可用负载集群 最近,本屌接到公司的任务,公司新上20台服务器,需要搭建一整套架构来运行公司的业务,其中有应用服务器,认证服务器,数据库服务器等.服务器基础架构中的应用服务器集群要有高可用性,且需要负载均衡.当我接到这个任务的时候,脑子里第一个想法就是LVS+Keepalived. 由于公司资金有限,直接上硬件的负载均衡设备是不可能的了,所以只好使用软件来实现,LVS在负载均衡集群中无疑是一种很好的方案,使用LVS可以同时分发10台以下的设备,用在我们这个项目中是

直接路由的高可用LVS集群配置

 直接路由的高可用LVS集群配置: 调度服务器IP:(106.3.43.240)192.168.11.100,节点服务器分别为:192.168.11.101,192.168.11.102 一.安装ipvsadmin: 1.yum -y install ipvsadmin(推荐用第一种方法) 2.下载http://www.linuxvirtualserver.org/software/,找到相应的版本: 注意对应自己的内核版本 ipvsadm-1.24.tar.gz tar zxvf ipvs

keepalive构建高可用LVS集群

一.什么是keepalived? 利用虚拟路由冗余协议(vrrp)技术,实现lvs的高可用,也可以对nginx和haproxy等轻量级带有负载均衡的软件进行高可用.因为keepalived非常轻量级,速度非常快,配置简单,所以受到众多企业运维人员青睐. 参考资料:http://outofmemory.cn/wiki/keepalived-configuration 二.虚拟路由备份协议 VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)是一种容错协

MySQL互为主从+Keepalived高可用数据库集群

1.剧情回顾 在之前的博客上,我做了一个MySQL主从配置的实验,链接在这:http://blog.51cto.com/superpcm/2094958 .在这里我决定把这两个数据库做成互为主从,然后在这两个互为主从的数据库上配置keepalived,实现高可用,怎么配置可以参考我前文高可用的实验博客,http://blog.51cto.com/superpcm/2095395 . 最后实现的的拓扑图如下: 2.配置MySQL 互为主从复制 之前可能没有说明,实验默认都是开放所有端口给同一网段的

debian下完成 haproxy +keepalived 高可用web集群架构

参考文章:http://ox0spy.github.io/debian/2014/07/01/setup-haproxy-and-keepalived-on-debian-wheezy/ 亲测,没问题,可用

Keepalived+LVS实现web高可用负载集群

目标:基于LVS的DR模型实现keepalived高可用负载集群 拓扑图: 一.准备好DR模型的Real server1和Realserver2两个节点 1.此处我就用脚本来快速的部署这两个节点,脚本内容如下: #!/bin/bash vip=192.168.1.100 interface="lo:0" case $1 in               start)                   echo 1 > /proc/sys/net/ipv4/conf/all/ar

高可用RabbitMQ集群安装配置

RabbitMQ集群安装配置+HAproxy+Keepalived高可用 rabbitmq 集群 消息队列 RabbitMQ简介 RabbitMQ是流行的开源消息队列系统,用erlang语言开发.RabbitMQ是AMQP(高级消息队列协议)的标准实现. AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然.AMQP的主

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

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

nginx结合keepalived做高可用负载集群服务

一.概述 前面几篇介绍了nginx做web网站以及https网站,反向代理,LVS的NAT与DR调度负载,但由于nginx本身负载是七层,需要套接字,即使基于upstream模块模拟成四层代理也是瓶颈,因此本文介绍nginx基于keepalived做高可用负载均衡集群服务,目标就是两台keepalived对nginx反向代理负载服务做检查与调度,做成双主模式,nginx负载调度后端的httpd网站,任何一台调度器(nginx或keepalived服务)故障,不影响业务;后端任何一台web故障也不