文档章节

20170417-keepalived+lvs-实现高可用负载均衡集群

小白还是大白
 小白还是大白
发布于 2017/04/19 23:20
字数 644
阅读 17
收藏 0

调度器:

vm15 192.168.122.15

vm16 192.168.122.16

web服务器:

vm17 192.168.122.17

vm18 192.168.122.18

都开启转发 :

echo "1" > /proc/sys/net/ipv4/ip_forward (临时)

vim /etc/sysctl.conf -> net.ipv4.ip_forward=1 (永久)

  sysctl -p 生效

配置好软件仓库

调度器:

vm15:yum install keepalived

一: NAT模式

genhash --server 192.168.122.17 --port 80 -u /var/www/html/index.html

genhash --server 192.168.122.18 --port 80 -u /var/www/html/index.html

得到的hash值填在配置文件digest后面

vim /etc/keepalived/keepalived.conf

vrrp_script chk_keepalived {

   script "kill -0 keepalived"  检测keepalived 是否正常运行

    interval 2   每2秒检测一次

    weight

}

 vrrp_instance VI_1 {
      state MASTER
      interface eth0
      virtual_router_id 51
      priority 100
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 123123
      }

       track_script {

          chk_keepalived

    }
  virtual_ipaddress {
          192.168.122.100
      }
  }

virtual_server 192.168.122.100 80 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    nat_mask 255.255.255.0
    persistence_timeout 0
    protocol TCP

    real_server 192.168.122.17 80 {
        weight 1
        HTTP_GET {
            url {
              path /var/www/html/index.html
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 

       }

     }

   real_server 192.168.122.18 80 {

         weight 1

        HTTP_GET {
            url {
              path /var/www/html/index.html
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

vm16:

vim /etc/keepalived/keepalived.conf

vrrp_script chk_keepalived {

   script "kill -0 keepalived"  检测keepalived 是否正常运行

    interval 2   每2秒检测一次

    weight

}

 vrrp_instance VI_1 {
      state BACKUP
      interface eth0
      virtual_router_id 51
      priority 99
      advert_int 1
      authentication {
          auth_type PASS

          auth_pass 123123
      }

       track_script {

          chk_keepalived

    }
  virtual_ipaddress {
          192.168.122.100
      }
  }

virtual_server 192.168.122.100 80 {
    delay_loop 6
    lb_algo rr

    lb_kind NAT
    nat_mask 255.255.255.0
    persistence_timeout 0
    protocol TCP

    real_server 192.168.122.17 80 {
        weight 1
        HTTP_GET {
            url {
              path /var/www/html/index.html
              digest ff20ad2481f97b1754ef3e12ecd3a9cc
            }

            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 

       }

   }

   

real_server 192.168.122.18 80 {

         weight 1

        HTTP_GET {
            url {
              path /var/www/html/index.html
              digest 9b3a0c85a887a256d6939da88aabd8cd
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

保存退出

service keepalived restart

chkconfig keepalived on

vm17 vm18 :

  vim /var/www/html/index.html

    hello,vm17

vim /var/www/html/index.html

 hello,vm18

service httpd restart

vm15 vm16:

ip addr show eth0  看VIP 192.168.122.100产生没有

yum install ipvsadm

运行: ipvsadm 查看后端RS及vm17和vm18产生没有

vm17 vm18:

添加路由规则: 因为这里是NAT

192.168.122这个网段:route add -net 192.168.122.0 netmask 255.255.255.0 gw 192.168.122.100

单个主机: route add -host 192.168.122.19 netmask 255.255.255.255 gw 192.168.122.100 

测试: vm19 192.168.122.19

  curl 192.168.122.100

可以看到轮循看到:

hello,vm17

hell,vm18

就成功了

二:直接路由模式:

vm15 vm16:

vim /etc/keepalived/keepalived.conf

lb_kind NAT 改为:lb_kind DR

vm17 vm18:

vim lvsrs

将VIP改为调度设置的VIP

#!/bin/bash

#

# lvsrs        Startup script for the lvsrs Server

#

# chkconfig: 2345 86 14

# description: lvsrs script.  It is used to serve \

#

 

VIP=192.168.122.100

 

. /etc/rc.d/init.d/functions

 

case "$1" in

    start)

        echo " start LVS of REALServer"

        /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up

        echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

        echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

        echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

        ;;

    stop)

        echo "close LVS Directorserver"

        /sbin/ifconfig lo:0 down

        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore

        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce

        echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore

        echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

        ;;

    *)

        echo "Usage: $0 {start|stop}"

        exit 1

esac

保存退出,

cp lvsrs /etc/init.d/

chmod +x /etc/init.d/lvsrs

service lvsrs start

chkconfig lvsrs on

测试: vm19 192.168.122.19

curl 192.168.122.100

一般都用直接路由模式

 

 

 

© 著作权归作者所有

小白还是大白
粉丝 3
博文 107
码字总数 66389
作品 0
成都
私信 提问
集群应用与实战

集群 什么是集群: — 一组通过高速网络互联的计算组,并以单一系统的模式加以管理 — 将很多服务器集中起来,提供同一中服务,在客户端看来就像是只有一个服务器 — 可以在付出较低成本的情...

Xuenqlve
2018/01/15
0
0
LVS(DR)+keepalived实现高可用负载均衡

一、lvs+keepalived 1、lvs LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一...

nmshuishui
2014/05/03
0
0
keepalived实现lvs的高可用

搭建环境: 两台director,两台RS director1:ip(172.16.125.5),安装好keepalived; director2:ip(172.16.125.6),安装好keepalived; RS1:ip(172.16.125.7),安装好httpd; RS2:i...

Angry丶Bird
2015/10/26
0
0
服务器集群之keepalived配置高可用(资料)

Linux集群概述 • 根据功能划分为两大类:高可用和负载均衡 • 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 • 实现高可用的开...

寰宇01
2018/05/24
276
0
keepalived+lvs实现高可用负载均衡集群

LVS实战篇 第1章 环境准备 1.1 系统环境 1.1.1 系统版本 [root@lb01 ~]# cat /etc/redhat-releaseCentOS release 6.9 (Final)[root@lb01 ~]# uname -r2.6.32-696.el6.x86_64[root@lb01 ~]# u......

北座城市
2018/05/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

db.properties

jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8&characterEncoding=utf8&useSSL=falsejdbc.username=rootjdbc.pas......

行者终成事
21分钟前
3
0
从 Storm 到 Flink,汽车之家基于 Flink 的实时 SQL 平台设计思路与实践

在 2019 年之前,之家的大部分实时业务都是运行在 Storm 之上的。Storm 作为早期主流的实时计算引擎,凭借简单的 Spout 和 Bolt 编程模型以及集群本身的稳定性,俘获了大批用户。下图是实时计...

阿里云官方博客
21分钟前
4
0
网络安全-Day04

2.1.1 什么是SQL注入 2.1.2 注入分类 2.1.3 MySQL手工注入 2.1.4 sqlmap使用 2.1.5 总结 什么是SQL注入 SQL注入漏洞原理 什么是SQL 结构化查询语言(Structured Query Language),是一种特殊目...

Jerry1101
22分钟前
3
0
docker容器内安装yum,vim等命令,以及配置ls指令

使用国内镜像 mv /etc/apt/sources.list /etc/apt/sources.list.bakecho "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >> /etc/apt/sources.listecho "deb http://......

长恭
22分钟前
3
0
超详细的MySQL8.0.17版本安装教程

下载MySQL MySQL的官网地址:https://www.mysql.com/。 如下图所示: 然后点击DOWNLOADS ==> Community,选择MySQL Community Server。如图所示: 滑到页面的最下面,找到Recommended Downl...

彩色泡泡糖
25分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部