CentOS 7 keepalived+LVS
LVS架构中 , 不管是NAT模式还是DR模式 , 当后端的RS宕机了 , 调度器还是会把请求转发到宕掉的RS上 , 然而keepalived可以解决该问题 , 它不仅仅有高可用的功能 , 还有负载均衡的功能
完整的keepalived+LVS构架需要有两台调度器来实现高可用 , 提供调度服务的只需要一台服务器 , 另一台作为备用
高可用的备用服务器只需对照主服务器稍微修改keepalived.conf的几个配置项就可以实现 ,下面就只演示负载均衡
主keepalived(调度器) : 192.168.94.11
真实web服务器1 : 192.168.94.22
真实web服务器2 : 192.168.94.33
VIP : 192.168.94.111
[root@lb ~]# yum -y install keepalived
[root@lb ~]# cd /etc/keepalived/
[root@lb keepalived]# cp keepalived.conf keepalived.conf.bak
[root@lb keepalived]# vim keepalived.conf
vrrp_instance VI_1 {
#备用服务器上为 BACKUP
state MASTER
#绑定vip的网卡为ens33
interface ens33
virtual_router_id
#备用服务器上为90
priority
advert_int
authentication {
auth_type PASS
auth_pass damowang
}
virtual_ipaddress {
192.168.94.111
}
}
virtual_server 192.168.94.111 {
#(每隔10秒查询realserver状态)
delay_loop
#(lvs 算法)
lb_algo wlc
#(DR模式)
lb_kind DR
#(同一IP的连接60秒内被分配到同一台realserver)
persistence_timeout
#(用TCP协议检查realserver状态)
protocol TCP real_server 192.168.94.22 {
#(权重)
weight
TCP_CHECK {
#(10秒无响应超时)
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
real_server 192.168.94.33 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
}
keepalived服务器配置完成
如果之前有ipvsadm的规则 , 先清空 , 再重新加载网卡 , 可以把之前设置的VIP清掉
[root@lb keepalived]# ipvsadm -C
[root@lb keepalived]# systemctl restart network
配置web服务器
因为keepalived的配置文件中定义的LVS模式是DR模式 , 所以再把前面DR模式LVS脚本执行一遍即可
CentOS 7 DR模式LVS搭建
[root@web1 ~]# sh /usr/local/sbin/lvs_dr_rs.sh
[root@web2 ~]# sh /usr/local/sbin/lvs_dr_rs.sh
最后一步
[root@lb keepalived]# systemctl start keepalived # 开启keepalived服务
[root@lb keepalived]# systemctl status keepalived # 查看服务是否正常运行
测试 :
用浏览器访问VIP 然后把其中一台web服务器关掉 , 再刷新浏览器(Ctrl+F5) , 这样就不会有缓存了 ,
同时也可以在调度器上查看连接数
[root@lb keepalived]# ipvsadm -ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.94.111: wlc persistent
-> 192.168.94.22: Route
-> 192.168.94.33: Route [root@wab2 ~]# systemctl stop httpd [root@lb keepalived]# ipvsadm -ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.94.111: wlc persistent
-> 192.168.94.22: Route [root@wab2 ~]# systemctl start httpd [root@lb keepalived]# ipvsadm -ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.94.111: wlc persistent
-> 192.168.94.22: Route
-> 192.168.94.33: Route
CentOS 7 keepalived+LVS的更多相关文章
- keepalived+LVS 实现双机热备、负载均衡、失效转移 高性能 高可用 高伸缩性 服务器集群
本章笔者亲自动手,使用LVS技术实现实现一个可以支持庞大访问量.高可用性.高伸缩性的服务器集群 在读本章之前,可能有不少读者尚未使用该技术,或者部分读者使用Nginx实现应用层的负载均衡.这里大家都可 ...
- Linux中keepalived+LVS负载均衡的搭建测试
1.1 LVS简介 LVS(Linux Virtual Server),也就是Linux虚拟服务器, 是一个自由软件项目.使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Lin ...
- Keepalived+LVS(dr)高可用负载均衡集群的实现
一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2 ...
- Keepalived + LVS/DR 安装配置
Keepalived + LVS/DR 说明 Keepalived:可以踢出掉故障服务 Keepalived:可以实现主从切换,解决单点故障 实验环境 四台主机:Linux Centos 6.4 32 ...
- Keepalived+LVS实现LNMP网站的高可用部署
Keepalived+LVS实现LNMP网站的高可用部署 项目需求 当我们访问某个网站的时候可以在浏览器中输入IP或者域名链接到Web Server进行访问,如果这个Web Server挂了, ...
- Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用
上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx ...
- Keepalived+Lvs+Mysql主主复制
一简单介绍 Keepalived+lvs+mysql主主复制是比較经常使用的一种Mysql高可用方案,当中lvs 提供读负载均衡,Keepalived通过虚拟vip漂移实现故障自己主动转移,而Mysq ...
- mysql高可用架构方案之二(keepalived+lvs+读写分离+负载均衡)
mysql主从复制与lvs+keepalived实现负载高可用 文件夹 1.前言 4 2.原理 4 2.1.概要介绍 4 2.2.工作原理 4 2.3.实际作用 4 3方 ...
- Keepalived+LVS+Nginx负载均衡之高可用
Keepalived+LVS+Nginx负载均衡之高可用 上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常 ...
随机推荐
- Netty 学习笔记(1)通信原理
前言 本文主要从 select 和 epoll 系统调用入手,来打开 Netty 的大门,从认识 Netty 的基础原理 —— I/O 多路复用模型开始. Netty 的通信原理 Netty 底层 ...
- 利用Layer组件弹出多个对话框(非嵌套)与关闭及刷新
页面A中弹出页面B,在页面B中弹出页面C,在layer做嵌套ifframe弹出时会遇到C页面被嵌套在B页面中,如果C尺寸大于B,则C将不能显示完整.这个时候可以考虑B,C页面均由A页面弹出从而避免嵌套 ...
- [原创]Cadence Allegro小技巧之解决Out of date shapes问题
Allegro报错“Dynamic shapes are out of date; please update them. Check for out of date shapes in Setup ...
- springboot-aop
AOP(面向切面编程)是Spring的两大核心功能之一,功能非常强大,为解耦提供了非常优秀的解决方案. 现在就以springboot中aop的使用来了解一下如何使用aop. 写几个简单的Spring ...
- 树莓派apache2.4源码包安装
1.安装apr-1.6.3.tar.gz apr-util-1.6.1.tar.bz2 httpd-2.4.34.tar.gz (源码包下载centos7的就行,树莓派版本官方debian) 2.问题 ...
- tensorflow使用多个gpu训练
关于多gpu训练,tf并没有给太多的学习资料,比较官方的只有:tensorflow-models/tutorials/image/cifar10/cifar10_multi_gpu_train.py ...
- HAWQ配置之客户端访问
一.配置简单的口令访问 1,建立数据库和用户 postgres=# create database epbd; CREATE DATABASE postgres=# create role user1 ...
- nodejs在windows下的安装配置(使用NVM的方式)
NVM的安装 1.下载安装包,https://github.com/coreybutler/nvm-windows/releases 2.下载完成后点击nvm-setup,按步骤安装,注意路径中不能带 ...
- 【中间件安全】IIS6安全加固规范
1. 适用情况 适用于使用IIS6进行部署的Web网站. 2. 技能要求 熟悉IIS配置操作,能够利用IIS进行建站,并能针对站点使用IIS进行安全加固. 3. 前置条件 1. 根据站点开放端口.进程 ...
- Golang 笔记 1 基础、基本数据类型
一.Go语言基础 1. 基础 Go语言中的标识符必须以字母(Unicode字母,PHP/JS可以用中文作为变量名)下划线开头.大写字母跟小写字母是不同的:Hello和hello是两个不同的名字. G ...