双主模型的lvs-dr高可用负载均衡集群

双主模型的lvs-dr高可用负载均衡集群

实验目的:使用keepalived实现lvs-dr模型双主高可用集群

实验环境:两台virtual server(实现lvs的双主)、两台real server(安装web service,用于负载均衡)、一台clietn用于验证结果

注意:为了不影响实验结果,在实验开始前先关闭iptablesselinux

操作步骤:

一、配置IP

1.配置A主机的IP

# ip addr add dev eth0 192.168.10.2/24

2.配置B主机的IP

# ip addr add dev eth0 192.168.10.23/24

3.配置C主机的IP,修改内核参数和回环的IP

# ip addr add dev eth0 192.168.10.3/24

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

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

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

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

# ip addr add dev lo 192.168.10.200/32 label lo:0 broadcast 192.168.10.200

# ip addr add dev lo 192.168.10.201/32 label lo:1 broadcast 192.168.10.201

4.配置D主机的IP,修改内核参数和回环的IP

# ip addr add dev eth0 192.168.10.33/24

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

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

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

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

# ip addr add dev lo 192.168.10.200/32 label lo:0 broadcast 192.168.10.200

# ip addr add dev lo 192.168.10.201/32 label lo:1 broadcast 192.168.10.201

二、配置web
service
CD主机做同样配置,默认主页的内容中的IP地址改为D主机的IP即可)

1.安装apache

# yum -y install httpd

2.创建默认主页

# vim /var/www/html/index.html

    <h1>R1:192.168.10.3</h1>

3.启动服务

# service httpd start

三、配置keepalived,实现双主高可用

1.安装keepalived

# yum -y install keepalived

2.编辑A主机的配置文件/etc/keepalived/keepalived.conf,作如下配置:

! Configuration File for keepalived

    global_defs {

    notification_email {

        root@localhost

    }

    notification_email_from keepalived@localhost

    smtp_server 127.0.0.1

    smtp_connect_timeout 30

    router_id centos6

    vrrp_mcast_group4 224.0.100.39

    }

    vrrp_instance lvs {

        state MASTER

        interface eth0

        virtual_router_id 14

        priority 100

        advert_int 1

        authentication {

            auth_type PASS

            auth_pass MDQ41fTp

        }

        virtual_ipaddress {

            192.168.10.200/24 dev eth0

        }

    }

    vrrp_instance lvs2 {

        state BACKUP

        interface eth0    

        virtual_router_id 15

        priority 98

        advert_int 1

        authentication {

            auth_type PASS

            auth_pass XYZ41fTp

        }

        virtual_ipaddress {

            192.168.10.201/24 dev eth0

        }

    }

    virtual_server 192.168.10.200 80 {

        delay_loop 6

        lb_algo rr

        lb_kind DR

        protocol TCP

        sorry_server 127.0.0.1 80

        real_server 192.168.10.3 80 {

        weight 1

        HTTP_GET {

            url {

                path /

                status_code 200

            }

            connect_timeout 1

            nb_get_retry 3

            delay_before_retry 1    

        }

    }

    real_server 192.168.10.33 80 {

        weight 1

        HTTP_GET {

            url {

                path /

                status_code 200

            }

                connect_timeout 1

                nb_get_retry 3

                delay_before_retry 1

            }

        }

    }

    virtual_server 192.168.10.201 80 {

        delay_loop 6

        lb_algo rr

        lb_kind DR

        protocol TCP

        sorry_server 127.0.0.1 80

        real_server 192.168.10.3 80 {

            weight 1

            HTTP_GET {

                url {

                    path /

                    status_code 200

                }

                connect_timeout 1

                nb_get_retry 3

                delay_before_retry 1

            }

    }

    real_server 192.168.10.33 80 {

        weight 1

        HTTP_GET {

            url {

                path /

                status_code 200

            }

                connect_timeout 1

                nb_get_retry 3

                delay_before_retry 1

            }

        }

   }

B主机也作同样配置,稍作修改即可,需要修改的地方如下:

    vrrp_instance lvs {

        state BACKUP

        priority 98

    }

    vrrp_instance lvs2 {

        state MASTER

        priority 100

    }

四、配置sorry_server(在两台RS都不能正常提供服务且有用户访问时,sorry主机可显示告知信息)sorry_server需要配置在virtual server(两台RS都做同样配置,默认主页中的IP地址改为本机的IP以示区分。)

1.安装apache

# yum -y install httpd

2.创建默认主页

# vim /var/www/html/index.html

<h1>sorry_server:192.168.10.2</h1>

3.启动服务

# service httpd start

五、模拟故障,验证结果(由于没有配置路由,因此client主机并不能访问,可在服务器网段中选择任意一台主机测试)

1.启动两台VSkeepalived服务

# service keepalived start

2.查看生成的lvs规则,如图有两组规则

# ipvsadm -ln

双主模型的lvs-dr高可用负载均衡集群

3.访问192.168.10.200,结果应是后端的RS轮询响应请求

双主模型的lvs-dr高可用负载均衡集群

4.访问192.168.10.201,结果应是后端的RS轮询响应请求

双主模型的lvs-dr高可用负载均衡集群

5.将后端RSweb服务关闭一台,此时访问192.168.10.200192.168.10.201,响应请求的将只是另一台web服务正常运行的RS

双主模型的lvs-dr高可用负载均衡集群

6.将后端RSweb服务都关闭,此时访问192.168.10.200192.168.10.201,响应请求的将只是各自的主server中定义的sorry_server

双主模型的lvs-dr高可用负载均衡集群

双主模型的lvs-dr高可用负载均衡集群

7.关闭一台VSkeepalived服务,此时访问192.168.10.200192.168.10.201,响应的请求的将只是另一台正常运行keepalived服务的VS

双主模型的lvs-dr高可用负载均衡集群

原创文章,作者:人字拖,如若转载,请注明出处:http://www.178linux.com/75455

(1)
人字拖人字拖
上一篇 2017-05-13 21:43
下一篇 2017-05-13 22:10

相关推荐

  • iptables练习

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; 系统默认策略设定: ~]# iptables -P INPUT DROP ~]# iptables -P OUPUT DROP 网络说明…

    Linux干货 2016-12-27
  • 脚本练习

      1、写一个脚本,使用ping命令探测10.1.8.1-10.1.8.10之间所有主机的在线状态,在线的主机使用绿色显示,不在线的主机使用红色显示。     #!/bin/bash     #Test host whether onlin…

    Linux干货 2016-12-18
  • Linux文件查找命令find和压缩解压缩

    概述     Linux系统上一切皆文件,那么随着时间的推移和管理的服务器增加,在众多的文件中,如何找到我们需要的文件,这就需要用到文件查找命令了。本章就分享下关于文件查找命令的一些内容和压缩解压缩的相关内容。     具体分为一下几个部分:    …

    Linux干货 2016-08-16
  • 一个“蝇量级” C 语言协程库

    协程(coroutine)顾名思义就是“协作的例程”(co-operative routines)。跟具有操作系统概念的线程不一样,协程是在用户空间利用程序语言的语法语义就能实现逻辑上类似多任务的编程技巧。实际上协程的概念比线程还要早,按照 Knuth 的说法“子例程是协程的特例”,一个子例程就是一次子函数调用,那么实际上协程就是类函数一样的程序组件,你可以…

    Linux干货 2016-08-15
  • Nginx代理MogileFS并实现负载均衡和高可用

    Nginx代理MogileFS并实现负载均衡和高可用 MogileFS nginx 负载均衡 前言 实验拓扑 实验环境 实验步骤 配置MogileFS 配置Nginx 总结 前言 上篇文章我们了解分布式系统和MogileFS的基本使用, 但是那样的架构是有问题的, 本篇文章我们来了解一下如何使用nginx-mogilefs-module-…

    大数据运维 2016-05-05
  • 文本处理工具练习题(包含正则)

    正则练习题(包含文本处理练习题) 问题 找出ifconfig命令结果中本机的所有IPv4地址  查出分区空间使用率的最大百分比值 查出用户UID最大值的用户名、UID及shell类型 查出/tmp的权限,以数字方式显示 统计当前连接本机的每个远程主机IP的连接数,并按从大 到小排序 答; ifconfig | grep -o '[0-9]\…

    Linux干货 2016-08-08