实验拓扑图:

实验原理:

Keepalived 是基于 LVS ,并与 LVS 高度融合的

LVS和keepalived的关系:lvs起的是负载均衡功能,而keepalived则是高可用(热

备)的支持,两者均可以单独使用。

keeaplived可以在主从都运行良好的情况下检测主备状态,当主服务器down掉,

或者进程意外终止时,先将VIP绑定到备服务器上,然后通过指定的脚本来提升备

服务器的应用层面的角色定位。

实验环境:

RealServer1     CentOS7  192.168.81.57

RealServer2     CentOS7  192.168.81.58

K&L Master     CentOS7  192.168.81.59

K&L Master     CentOS7  192.168.81.60

$VIP 192.168.81.150

实验过程:

一、在RealServer搭建网站(为方便验证。此处使用服务器IP地址)

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# setenforce 0

[root@localhost ~]#  yum -y install httpd

[root@localhost ~]# systemctl start httpd

[root@localhost ~]# echo '192.168.81.57'>/var/www/html/index.html

浏览器访问验证

[root@localhost~]# ifconfig lo:0 192.168.81.150 netmask 255.255.255.255 broadcast 192.168.81.150

[root@localhost ~]# /sbin/route add -host 192.168.81.150 dev lo:0

[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@localhost ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

[root@localhost ~]# sysctl –p

二、配置Keepalived & Lvs服务器

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# setenforce 0

[root@localhost ~]# yum -y install gcc gcc-c++ make openssl* libtool-devel* popt-devel*

[root@localhost ~]# ls(上传lvs和keepalived安装包)

ipvsadm-1.26-4.el6.x86_64.rpm  keepalived-1.2.19.tar.gz  lvs.sh

----------------K & L------------------------

[root@localhost ~]# yum -y install gcc gcc-c++ make openssl* libtool-devel* popt-devel* net-tools

[root@localhost ~]# yum -y install ipvsadm-1.26-4.el6.x86_64.rpm

[root@localhost ~]# tar -xzvf keepalived-1.2.19.tar.gz

[root@localhost ~]# cd keepalived-1.2.19

[root@localhost ~]# ./configure

[root@localhost ~]# make && make install

[root@localhost ~]# vim /usr/local/etc/keepalived/keepalived.conf

------------Master----------------

vrrp_instance VI_1 {

state MASTER

interface eno16777736

virtual_router_id 88

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.81.150/24

}

}

virtual_server 192.168.81.150 80 {

delay_loop 6

lb_algo wrr

lb_kind DR

#   persistence_timeout 50

protocol TCP

real_server 192.168.81.57 80 {

weight 2

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

real_server 192.168.81.58 80 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

------------Backup----------------

vrrp_instance VI_1 {

state BACKUP

interface eno16777736

virtual_router_id 88

priority 50

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.81.150/24

}

}

virtual_server 192.168.81.150 80 {

delay_loop 6

lb_algo wrr

lb_kind DR

#   persistence_timeout 50

protocol TCP

real_server 192.168.81.57 80 {

weight 2

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

real_server 192.168.81.58 80 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

------------------------------------

[root@localhost keepalived-1.2.19]# keepalived -D -f /usr/local/etc/keepalived/keepalived.conf

[root@localhost keepalived-1.2.19]# ip a(VIP只出现在MASTER上)

三、检测结果

测试负载平衡(这里在IP地址为192.168.81.12的虚拟机进行测试.57/58出现的频率为2:3)

关闭MASTER的KEEPALIVE,再查看IP是否漂移

Keepalived & Lvs集群搭建实验的更多相关文章

  1. 基于VMware的虚拟Linux集群搭建-lvs+keepalived

    基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...

  2. MySQL集群搭建(4)-MMM+LVS+Keepalived

    1 LVS 介绍 1.1 简介 LVS 是 Linux Virtual Server 的简写,意即 Linux 虚拟服务器,是一个虚拟的服务器集群系统.本项目在 1998 年 5 月由章文嵩博士成立, ...

  3. HA(High available)-Keepalived高可用性集群(双机热备)单点实验-菜鸟入门级

    HA(High available)-Keepalived高可用性集群   Keepalived 是一个基于VRRP虚拟路由冗余协议来实现的WEB 服务高可用方案,虚拟路由冗余协议 (Virtual ...

  4. 多puppetmaster,多ca,keepalived+haproxy(nginx)puppet集群搭建

    多puppetmaster,多ca,keepalived+haproxy(nginx)puppet集群搭建 一.服务器详情 192.168.122.111 pm01.jq.com pm01 #(pup ...

  5. CentOS7Linux中服务器LVS负载均衡、高可用集群搭建(NAT、DR);

    目录 集群 声明 集群概念 集群特性 Web服务器并发相应瓶颈 集群的分类 LB实现方法: LVS集群 负载调度器 服务器池 共享存储 LVS负载均衡的三种模式 负载均衡 集群 声明 文档不断更新中. ...

  6. rabbitmq+haproxy+keepalived实现高可用集群搭建

    项目需要搭建rabbitmq的高可用集群,最近在学习搭建过程,在这里记录下可以跟大家一起互相交流(这里只是记录了学习之后自己的搭建过程,许多原理的东西没有细说). 搭建环境 CentOS7 64位 R ...

  7. 每秒处理3百万请求的Web集群搭建-用 LVS 搭建一个负载均衡集群

    这篇文章是<打造3百万次请求/秒的高性能服务器集群>系列的第3部分,有关于性能测试工具以及优化WEB服务器部分的内容请参看以前的文章. 本文基于你已经优化好服务器以及网络协议栈的基础之上, ...

  8. docker实验--redis集群搭建

    背景介绍: 我经常在做一些小项目的时候,采用了Redis来做缓存,但是都是基于单节点的,一旦redis挂了,整个项目就挂了.于是乎,想到了多节点集群的方式来使用,就开始折腾着怎么去搭建这个集群.在网上 ...

  9. Keepalived之高可用LVS集群

    前文我们聊了下keepalived的邮件通知相关配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13645163.html:今天我们来说说keepalive ...

随机推荐

  1. 《Head First Servlets & JSP》-4-请求和响应

    Servlet生命周期 生命周期三大重要时刻 Servlet集成结构: 方法 init() service() doGet()/goPost() 何时调用 Servlet实例被创建之后.为客户请求提供 ...

  2. 树莓派(Raspberry Pi 3) 使用wifi模块连接网络

    树莓派3B内置了wifi和蓝牙模块,启动WIFI模块有两种方式,一种是图形界面,一种是命令行模式. 使用图形界面: 在桌面右上角的菜单栏里面选择wifi,输入密码就可以了. 使用命令行: 第一步:配置 ...

  3. springcloud中通过Filter实现微服务跨域访问允许

    import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.an ...

  4. Java 在本地开发环境部署多个 spring 项目

    修改Tomcat 的 server.xml 文件 路径:C:\JAVA\apache_tomcat_8.5.11\conf\server.xml : 每个web项目的端口号不同,且存储的目录相同但是文 ...

  5. passing parameter to an event handler [stackoverflow]

    Q: i want to pass my List<string> as parameter using my event public event EventHandler _newFi ...

  6. No module named 'numpy.core._multiarray_umath'

    问题:基于anaconda prompt 安装好TensorFlow框架以后,引入的时候(import tensorflow as tf)报如下图片的错误: 回答:网上好多人说是需要升级numpy,我 ...

  7. django 基础框架学习 (二)

    Django框架基础-02 Django缓存cookie 1.说明        当我们服务器在响应数据的同时,希望写⼊⼀些缓存数据到客户端        我们可以选择在响应的同时,将要写⼊到客户端的 ...

  8. Oracle恢复表数据

    Oracle恢复数据 在oracle 10g以及之后的版本,提供了回收站的机制,为了防止误操作将表数据清空而有回收机制. 换句话说,我们删除的表不会立马消失,而是进入回收站.下面我们可以查看回收站 查 ...

  9. 设置SQL脚本大小敏感

    1.设置SQL脚本大小写不敏感 USE [master]  GO  ALTER DATABASE [DatabaseName] COLLATE Chinese_PRC_CI_AI  GO 2.设置大S ...

  10. Android模拟器手动设置经纬度坐标

    第一种方式可以在eclipse的DDMS中的Emulator control中设置,如下图 另一种是在cmd中输入telnet localhost 5554(注:5554是模拟器在本机的端口,有可能不 ...