双主模型的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

相关推荐

  • 马哥教育网络第21期-第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@6 ~]# …

    Linux干货 2016-08-29
  • gitlib环境部署

         GitLab是利用 Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松…

    2016-05-19
  • man,男人的使用方法

        Linux中有个很强大的男人,这个男人就是man。任何不懂得命令和或者配置文件我们都可以去man,所以请深爱这个男人;     我们输入 man ls,它会在最左上角显示“LS(1)”,在这里,“LS”表示手册名称,而“(1)”表示该手册位于第一节章,同样,我们输入“ma…

    Linux干货 2016-07-26
  • PXE自动部署CentOS6

    1、安装需要的软件    (1)dhcp     (2)http    (3)tftp-server    (4)system-config-kickstart    (5)syslinux [root@centos6 ~]# y…

    Linux干货 2016-06-26
  • Trie树:应用于统计和排序

    1. 什么是trie树 1.Trie树 (特例结构树)         Trie树,又称单词查找树、字典树,是一种树形结构,是一种哈希树的变种,是一种用于快速检索的多叉树结构。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少…

    Linux干货 2015-04-08
  • N23-第一周博客作业

    一、计算机组成 由五大基本部件【运算器 + 控制器 + 储存器 + 输入设备 + 输出设备】组成且遵循冯诺依曼体系,CPU包含运算器和控制器两大部件。 CPU: 核心部件:运算器、控制器 其他部件:寄存器、缓存、等等 存储器:内存,RAM(Random Access Memory)随机访问存储器。 Input(输入设备):下指令,提供数据等,如:硬盘、键盘、…

    Linux干货 2016-09-15