一、实验环境和网络拓扑图

  本实验需要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高可用负载均衡的更多相关文章

  1. 测试LVS+Keepalived高可用负载均衡集群

    测试LVS+Keepalived高可用负载均衡集群 1. 启动LVS高可用集群服务 此时查看Keepalived服务的系统日志信息如下: [root@localhost ~]# tail -f /va ...

  2. LVS+Keepalived高可用负载均衡集群架构实验-01

    一.为什么要使用负载均衡技术? 1.系统高可用性 2.  系统可扩展性 3.  负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查, ...

  3. 配置LVS + Keepalived高可用负载均衡集群之图文教程

    负载均衡系统可以选用LVS方案,而为避免Director Server单点故障引起系统崩溃,我们可以选用LVS+Keepalived组合保证高可用性.  重点:每个节点时间都同步哈! C++代码 [r ...

  4. 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 ...

  5. Heartbeat+LVS构建高可用负载均衡集群

    1.heartbeat简介: Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里 ...

  6. 案例一(haproxy+keepalived高可用负载均衡系统)【转】

    1.搭建环境描述: 操作系统: [root@HA-1 ~]# cat /etc/redhat-release CentOS release 6.7 (Final) 地址规划: 主机名 IP地址 集群角 ...

  7. 使用Ansible实现nginx+keepalived高可用负载均衡自动化部署

    本篇文章记录通过Ansible自动化部署nginx的负载均衡高可用,前端代理使用nginx+keepalived,端web server使用3台nginx用于负载效果的体现,结构图如下: 部署前准备工 ...

  8. Keepalived+LVS(dr)高可用负载均衡集群的实现

    一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2 ...

  9. Keepalived+lvs 搭建高可用负载均衡

    本站点停止更新,请访问:blog.coocap.com 不了解负载均衡高可用的童鞋,强烈建议先看keepalived+nginx高可用负载均衡: 传送门(求粉):http://www.cnblogs. ...

随机推荐

  1. 触发bfc解决父子元素嵌套垂直方向margin塌陷问题

    首先看一下问题案例 .wrapper{             width: 100px;             height: 100px;             background-colo ...

  2. 三天精通Vue--ES6的常用语法

    详细学习请参考  阮一峰的ECMAScript 6 入门 let和const的使⽤ es5中使用var来声明全局变量 es5中我们学习了使用var来声明变量,但是使用var声明变量,会存在变量提升的问 ...

  3. nginx 配置参数优化

    nginx作为高性能web服务器,即使不特意调整配置参数也可以处理大量的并发请求.以下的配置参数是借鉴网上的一些调优参数,仅作为参考,不见得适于你的线上业务. worker进程 worker_proc ...

  4. npm install命令遇到relocation error: npm: symbol SSL_set_cert_cb的报错问题

    在安装elasticsearch-head的过程中npm install遇到如下报错 [root@localhost elasticsearch-head]# npm install npm: rel ...

  5. SpringMVC拦截器与SpringBoot自定义拦截器

    首先我们先回顾一下传统拦截器的写法: 第一步创建一个类实现HandlerInterceptor接口,重写接口的方法. 第二步在XML中进行如下配置,就可以实现自定义拦截器了 SpringBoot实现自 ...

  6. ASP.NET Core使用Docker-Compose实现多容器应用部署

    一.需求背景 人生苦短,我用.NET Core!前面的<ASP.NET Core使用Docker进行容器化托管和部署>基础课程我们学习了如何使用Docker来部署搭建ASP.NET Cor ...

  7. 【转】调用百度API,HTML在线文字转语音播报

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. PHP strlen 对中文 的定义

    $zhStr = ‘您好,中国!’; // gbk编码下每个中文字符所占字节为2echo strlen($zhStr); // 输出:12 //utf-8编码下每个中文字符所占字节为3 echo st ...

  9. 在myecplice中关联svn

    1:下载插件 site-1.8.22 2:找到myecplic的安装目录 下的dropins 文件夹(例如:C:\Users\han\AppData\Local\MyEclipse Professio ...

  10. FusionInsight大数据开发---Oozie应用开发

    Oozie应用开发 要求: 了解Oozie应用开发适用场景 掌握Oozie应用开发 熟悉并使用Oozie常用API Oozie简介 Oozie是一个Hadoop作业的工作流调度管理系统 Oozie工作 ...