负载均衡之keepalived
DR实验存在的隐患
- DR可能会挂,单点故障
- RS可能会挂
解决方案:
解决单点故障
- 主备:准备多个DR备用机,做好配置,主机挂掉备用机顶上
- 主主
解决RS会挂的问题
给RS发送请求,如果收到200 ok回复则说明RS正常
keepalived
keepalived就是实现了上述解决方法的工具,检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。
主要用途:
- 高可用:监控主机,主动替换备用机
- RS的健康检测
只需要给主机DR和备用机装keepalived监控DR,并且向RS发送请求检测RS。
keepalived的使用:
安装
yum install keepalived ipvsadm -y
备份和修改keepalived配置文件
DR配置文件:
cp keepalive.conf keepalived.conf.bak
cat /etc/keepalived.conf
global_defs { notification_email { #设置报警邮件地址,可多行每行一个。
xxxxxxx@qq.com
} notification_email_from keepalived@localhost #设置邮件的发送地址 smtp_server 127.0.0.1 #设置SMTP server地址 smtp_connect_timeout 30 #设置SMTP 超时时间 router_id LVS_DEVEL #运行keepalived机器的一个标识 } vrrp_instance VI_1 { #定义一个vrrp实例,不同实例的实例编号不一样。 state MASTER #定义在keepalived的角色MASTER表示为主服务器,BACKUP为备服务器。 interface eth0 #指定HA检测的网络接口 virtual_router_id 50 #虚拟路由标示,同一个实例里的路由标示相同,且唯一。MASTER和BACKUP的路由标识一样,且唯一。 priority 100 #定义此服务器在此虚拟路由器中的优先级,优先级大权限高 advert_int 1 #检测时间间隔 authentication { #设置验证类型和密码,主从的密码必须相同,要不两者不通讯。 auth_type PASS auth_pass 1111 } virtual_ipaddress { #设置虚拟IP地址,可以设置多个虚拟IP地址。 192.168.233.100/24 dev ens33 label ens33:3 } }
//配置DR主机lvs,代替使用ipvsadm配置lvs
virtual_server 192.168.233.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR //模式,NAT,DR,TUN
nat_mask 255.255.255.0 //子网掩码
persistence_timeout 0 //
protocol TCP real_server 192.168.150.12 80 {//负载机配置
weight 1
HTTP_GET {//对后端机进行健康检查的配置
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
//配置RS
real_server 192.168.233.129 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
备用DR配置:
global_defs { notification_email {
xxxxxx@qq.com
} notification_email_from keepalive@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 50 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.233.100 } }
//配置DR主机lvs,代替使用ipvsadm配置lvs
virtual_server 192.168.233.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR //模式,NAT,DR,TUN
nat_mask 255.255.255.0 //子网掩码
persistence_timeout 0 //
protocol TCP real_server 192.168.150.12 80 {//负载机配置
weight 1
HTTP_GET {//对后端机进行健康检查的配置
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
//配置RS
real_server 192.168.233.129 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
启动keepalived服务
service keepalived start
最后,如果keepalived进程挂掉呢?
使用zookper集群解决这个问题。
负载均衡之keepalived的更多相关文章
- 企业级Nginx负载均衡与keepalived高可用实战(二)keepalived篇
1.Keepalived高可用软件 1.1.Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实 ...
- [转帖]负载均衡 LVS+Keepalived
负载均衡 LVS+Keepalived https://www.cnblogs.com/jicki/p/5546862.html 改天试试 一直没搞过. 系统 CentOS 5.6 X64 物理机 ...
- Nginx负载均衡和Keepalived的安装设置
一.Nginx设置负载均衡 (1)upstream的配置 http { upstream backend { #这里设置后台分发的服务器族群,有多少个可以添加,同时设置查询策略 server 192. ...
- JAVAEE——宜立方商城03:商品类目选择、Nginx端口或域名区分虚拟机、Nginx反向代理、负载均衡、keepalived实现高可用
1. 学习计划 第三天: 1.商品类目选择(EasyUI的tree实现) 2.图片上传 a) 图片服务器FastDFS(Nainx部分) 2. 商品类目选择 2.1. 原型 2.2. 功能分析 展示商 ...
- nginx负载均衡配合keepalived服务案例实战
本实验用4台 centos6 虚拟机,2台做负载均衡,2台做web服务器,都先装上nginx lb01:192.168.0.235 --主负载均衡器 lb02:192.168.0.236 --备负 ...
- lvs 中DR模式负载均衡及keepalived
lvs DR配置 LVS负载均衡:三种负载均衡模式:DR,TUN(ip隧道),NAT,这里我们介绍DR模式 server1: 首先,配置server机yum源 方便后期实验流畅vim /etc/yum ...
- Linux集群之高可用负载均衡lvs+keepalived
LVS简介 LVS介绍 LVS是Linux Virtual Server的缩写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,属于4层负载均衡 ipvs和ipvsadm的关系 我们使用配置LV ...
- Nginx配置upstream实现负载均衡及keepalived实现nginx高可用
(原文链接:http://www.studyshare.cn/blog-front//blog/details/1159/0 ) 一.准备工作 1.准备两个项目,发布到不同的服务器上,此处使用2个虚拟 ...
- 企业级Nginx负载均衡与keepalived高可用实战(一)Nginx篇
1.集群简介 1.1.什么是集群 简单地说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器. ...
- Haproxy/LVS负载均衡实现+keepalived实现高可用
haproxy+keepalived 集群高可用集群转发 环境介绍 #内核版本 Ubuntu 18.04.4 LTS \n \l 107-Ubuntu SMP Thu Jun 4 11:27:52 U ...
随机推荐
- 有关placeholder在ie9中的一点折腾
有关placeholder在ie9中的一点折腾. placeholder属性定义: placeholder 属性规定可描述输入字段预期值的简短的提示信息(比如:一个样本值或者预期格式的短描述). 问题 ...
- JavaScript实现简单轮播图动画
运行效果: 源代码: <!DOCTYPE html> <html lang="zh"> <head> <meta charset=&quo ...
- Java之万年历
@(文章目录) 二.Java之万年历 2.1 要求 输入年份: 输入月份: 输出某年某月的日历. 2.2 思路 实现从控制台接收年和月,判断是否是闰年(判断是否是闰年:能被4整除但不能被100整除:或 ...
- vue 组件复用 - component
vue 组件复用 - component vue 组件复用 就是对 component 标签的使用 先看图 下图看使用 结果: 可以看到 在箱包 这一项,我将banner 组件用了两次,我 每次 点击 ...
- vue elementUI 之 this.$confirm 用法
this.$confirm('您确定退出当前账号吗?', '提示', { confirmButtonText: '确定', ...
- HCIE笔记-第十节-静态路由
协议 :标识 前方的目的网络 是通过什么协议形成的 优先级:代表形成路由的协议的优先级数值 [厂商规定] 开销值:代表该路由协议形成此路由时的开销 -- 不同的协议计算开销值的方式有区别(越小越优) ...
- node.js - mysql
今天结束的挺早,因为今天的内容还可以不是很难,今天全程是学了一些关于mysql数据库和sql查询语句的内容包括在node终端里面怎么来连接数据库.经过今天的一个学习,我感觉离那个地步越来越近了,就是那 ...
- 简单了解AndroidManifest.xml文件
AndroidManifest.xml:资源清单文件 <?xml version="1.0" encoding="utf-8"?> <mani ...
- Rancher部署PostgreSQL容器
1.打开工作负载,选择部署服务 2.选择合适的PostgreSQL镜像 镜像地址https://registry.hub.docker.com/_/postgres,也可使用公司内部镜像库 网络模式选 ...
- 开源框架YiShaAdmin如何使用任务计划
1.在Startup添加 new JobCenter().Start();(红色字体,下同) // This method gets called by the runtime. Use this m ...