实验拓扑图:

实验原理:

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. arp绑定

    Windows xp 在CMD中执行 arp -s ip mac 例如 arp -s 192.168.2.101 40-5f-c2-c1-97-fb Windwos 7 在 Windows 7/Vis ...

  2. java 英文笔记

    JDBC涉及到的单词 Driver 驱动器 DriverManager (Manager 处理者,经理,管理人; 干事,理事; 〈美〉(政党等的)领袖; 策士,干才,干练的人;) create Sta ...

  3. Java 表达式解析(非原创)

    因项目需要,在网上找来一套表达式解析方法,由于原来的方法太过于零散,不利于移植,现在整理在同一文件内: 文件中包含5个内部类,源码如下: import java.util.ArrayList; imp ...

  4. 如何在页面中使用svg图标

    1.svg图标长啥样 注意:图标的宽高无所谓,使用时可以根据需求修改,fill后面是颜色的填充,可修改图标颜色. <svg viewBox="0 0 1024 1024" v ...

  5. Zookeeper学习文档

      1. Zookeeper简介 ZooKeeper是一个开源的分布式框架,提供了协调分布式应用的基本服务.它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronizat ...

  6. (原创)Problem F: WPF的三位数

    Description PF哥是一个爱说骚话的骚年,今天他决定要用阿拉伯数字来说骚话,他将1,2,…,9共9个数字分成了三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例 他要说的骚话就是 ...

  7. 【bzoj3209】: 花神的数论题 数论-DP

    [bzoj3209]: 花神的数论题 首先二进制数中1的个数最多就是64个 设所有<=n的数里二进制中1的个数为i的有a[i]个 那么答案就是  然后快速幂 求a[i]可以用DP 设在二进制中从 ...

  8. django 学习之DRF (一)

    Django框架基础DRF-01 前后端分离介绍 1.前后端不分离图解 2.前后端分离图解     3.为什么要学习DRF    DRF可以帮助我们开发者快速的开发⼀个依托于Django的前后后端分离 ...

  9. web flash推流h264视频取消cbr

    flash as3.0 推视频H264关于视频质量 初次设置代码如下: h264Setting.setProfileLevel(H264Profile.BASELINE, H264Level.LEVE ...

  10. C++学习笔记-关键词

    1.friend友元 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口.但是,有时需要定义一些函数,这些函数不是类的一部分( ...