lvs+keepalived高可用负载均衡
一、实验环境和网络拓扑图
本实验需要5台虚拟机,一台客户机,2台lvs调度器,两台web服务器。
客户机:192.168.0.6/24
lvs1:192.168.0.201/24
lvs2:192.168.0.200/24
web1:192.168.0.19/24
web2:192.168.0.127/24
网络拓扑如下:

二、web服务器的配置
2.1.1、安装apache服务和修改网站首页
命令:
web1:
1 yum -y install httpd
echo "192.168.0.19" > /var/www/html/index.html
systemctl start httpd
systemctl enable httpd
web2:
1 yum -y install httpd
echo "192.168.0.127" > /var/www/html/index.html
systemctl start httpd
systemctl enable httpd
2.1.2、伪装VIP地址
当lvs将请求数据包发送给web服务器时,web服务器根据请求将web网页的结果返回给客户端,但是这时数据包的源IP地址是web服务器的IP地址,客户端接收到数据包后,发现回包的IP地址不是自己请求的IP地址,就会把包丢弃掉,这会导致web请求失败,所以需要将web的IP地址伪装成为客户端访问的VIP地址。这里使用web服务器的环回口地址进行伪装。
命令:
cp /etc/sysconfig/network-scripts/ifcfg-lo /etc/sysconfig/network-scripts/ifcfg-lo:
vim /etc/sysconfig/network-scripts/ifcfg-lo:
修改网卡名称,修改IP地址,删除UUID号,IP地址的掩码必须是32位,也就是4个255

两个web服务器的配置是一样的。修改虚拟网卡lo:0后,先不急着重启网卡。
为防止VIP和lvs上的VIP相互冲突,需要将web服务器的arp的通告配置进行修改,也就是arp解析时不把自己的IP地址告诉请求者,在请求别人时也不宣告自己是192.168.0.202(VIP地址)。

sysctl -p 执行这条命令以上配置修改生效,执行完这条命令后就可以重启网卡。
重启网卡后你就可以看到虚拟网卡lo:0和VIP地址了。
命令:ifconfig

这里只展示了一台web服务的VIP伪装,另一台的配置和这一台的配置一模一样。就不在介绍了。
三、lvs服务器的配置
3.1.1、安装keepalived
命令:
yum -y install keepalived
3.1.2、修改keepalived配置文件,/etc/keepalived/keepalived.conf


配置完成后,启动keepalived的服务
命令:systemctl start keepalived
重启服务后,keepalived服务会在防火墙中生成一些规则,这些规则会导致实验失败,这里需要清除这些规则或者直接关闭防火墙。
清除规则:iptables -F
关闭防火墙:Systemctl stop firewalld
另外一台lvs的配置和这台一样,不详细介绍。
3.1.3、查看vrrp是否配置成功,查看虚拟ip。也就是VIP。
命令:ip address show

3.1.4、查看lvs配置是否成功
安装ipvsadm软件,用于查看lvs的状态
命令:yum -y install ipvsadm

3.1.5、测试健康检查是否成功
断掉web1的网络,模拟web1网络故障。




3.2、测试负载均衡是否成功
通过客户端,使用curl访问lvs的VIP地址。如:curl 192.168.0.202

就此,整个实验完成。
lvs+keepalived高可用负载均衡的更多相关文章
- 测试LVS+Keepalived高可用负载均衡集群
测试LVS+Keepalived高可用负载均衡集群 1. 启动LVS高可用集群服务 此时查看Keepalived服务的系统日志信息如下: [root@localhost ~]# tail -f /va ...
- LVS+Keepalived高可用负载均衡集群架构实验-01
一.为什么要使用负载均衡技术? 1.系统高可用性 2. 系统可扩展性 3. 负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查, ...
- 配置LVS + Keepalived高可用负载均衡集群之图文教程
负载均衡系统可以选用LVS方案,而为避免Director Server单点故障引起系统崩溃,我们可以选用LVS+Keepalived组合保证高可用性. 重点:每个节点时间都同步哈! C++代码 [r ...
- Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】
1.环境说明: 系统版本:Ubuntu 14.04 LVS1物理IP:14.17.64.2 初始接管VIP:14.17.64.13 LVS2物理IP:14.17.64.3 初始接管VIP:14 ...
- Heartbeat+LVS构建高可用负载均衡集群
1.heartbeat简介: Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里 ...
- 案例一(haproxy+keepalived高可用负载均衡系统)【转】
1.搭建环境描述: 操作系统: [root@HA-1 ~]# cat /etc/redhat-release CentOS release 6.7 (Final) 地址规划: 主机名 IP地址 集群角 ...
- 使用Ansible实现nginx+keepalived高可用负载均衡自动化部署
本篇文章记录通过Ansible自动化部署nginx的负载均衡高可用,前端代理使用nginx+keepalived,端web server使用3台nginx用于负载效果的体现,结构图如下: 部署前准备工 ...
- Keepalived+LVS(dr)高可用负载均衡集群的实现
一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2 ...
- Keepalived+lvs 搭建高可用负载均衡
本站点停止更新,请访问:blog.coocap.com 不了解负载均衡高可用的童鞋,强烈建议先看keepalived+nginx高可用负载均衡: 传送门(求粉):http://www.cnblogs. ...
随机推荐
- 【2019年05月16日】A股最便宜的股票
查看更多A股最便宜的股票:androidinvest.com/CNValueTop/ 经典价值三因子选股: 市盈率PE.市净率PB 和 股息分红率,按照 1:1:1的权重,选择前10大最便宜的股票. ...
- Android集成C程序访问驱动设备节点
1.前言 Android系统中,应用程序一般是使用Java语言进行开发的,但是通过C语言也可以进行Android中的可执行程序开发,接下来,将简单介绍在Android系统中如何通过C程序来访问内核中s ...
- 如何从0搭建node服务
第一步 首先要搭一个node服务 基于 express 来快速构建node服务 npm install express 安装express 新建一个项目 myapp npm install expre ...
- [转帖]关于 ./configure
./configure --prefix=/usr/local/scws --prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/ ...
- QT之类型转换
Qt在进行数据类型转换时,容易忘记如何使用,或者是早已厌倦了百度QString转QByteArray,QByteArray转char,QString转string....... 现在分享一篇QT数据类 ...
- 【题解】最大 M 子段和 Max Sum Plus Plus [Hdu1024] [51nod1052]
[题解]最大 M 子段和 Max Sum Plus Plus [Hdu1024] [51nod1052] 传送门:最大 \(M\) 子段和 \(Max\) \(Sum\) \(Plus\) \(Plu ...
- 『正睿OI 2019SC Day3』
容斥原理 容斥原理指的是一种排重,补漏的计算思想,形式化的来说,我们有如下公式: \[\left | \bigcup_{i=1}^nS_i \right |=\sum_{i}|S_i|-\sum_{i ...
- 『Broken Robot 后效性dp 高斯消元』
Broken Robot Description 你作为礼物收到一个非常聪明的机器人走在矩形板上.不幸的是,你明白它已经破碎并且行为相当奇怪(随机).该板由N行和M列单元组成.机器人最初位于第i行和第 ...
- C#调用 kernel32.dll
调用方法: private string mFileName; //INI文件名 public OneGanttINI(string pFileName) { this.mFileName = App ...
- .NET Core中如何对Url进行编码和解码
我们在.NET Core项目中,可以用WebUtility类对Url进行编码和解码,首先我们要确保项目中引入了nuget包:System.Runtime.Extensions 当然这个nuget包默认 ...