搭建双主模型lpvs的高可用集群

一、实验要求:

1、基于LVS-DR模型上实践;

2、调度器高可用(双主模型);

二、实验拓扑图:

搭建双主模型lpvs的高可用集群

三、实验步骤:

1、  设置RS

(a)设置http主页

Yum install httpd

Vim /var/www/html/index.html

<h1>172.18.24.3 server 1或者172.18.24.5
server 2</h1>

(b)设置RSVIP

Vim setRS.sh

#!/bin/bash

vip=172.18.24.10                        

vip2=172.18.24.11

mask=’255.255.255.255′

iface=’lo:0’

iface2=’lo:1’

case $1 in

start)

         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

         ifconfig
lo:0 $vip netmask $mask broadcast $vip up

         route
add -host $vip dev $iface

         ifconfig
lo:0 $vip2 netmask $mask broadcast $vip2 up

         route
add -host $vip2 dev $iface2

                                               ;;

stop)

         ifconfig
$iface down

         ifconfig
$iface2 down

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

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

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

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

                                               ;;

*)

         echo
“Usage $(basename $0) start|stop”

         exit
1

                                               ;;

         esac

RS上运行脚本 setRS.sh start

重启httpd服务

2、  配置VS

Yum install httpd Keepalived

Vim /var/www/html/inde.html

Sorry server 1 或者sorry
server2

(a) 设置VS1主从信息

global_defs {

  
notification_email {

       
root@localhost

   }

 

  
notification_email_from keeplived@localhost

  
smtp_server 127.0.0.1

  
smtp_connect_timeout 30

  
router_id test1                         

  
vrrp_mcast_group4 224.0.100.24

}

vrrp_instance myr1 {

   
state MASTER                       

   
interface eth0                        

   
virtual_router_id 67

   
priority 100                           

   
advert_int 1

   
authentication {

       
auth_type PASS

       
auth_pass UIpYPPDI

}

vrrp_instance
myr2 {

    state BACKUP                    

    interface eth0                    

    virtual_router_id 68

    priority 98                    

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass UIpYPPDi

    }

    virtual_ipaddress {

        172.18.24.11/16 dev eth0   

    }

}

   
virtual_ipaddress {

       
172.18.24.10/16 dev eth0            

    }

   
notify_master “/etc/keepalived/notify.sh master”

   
notify_backup “/etc/keepalived/notify.sh backup”

   
notify_fault “/etc/keepalived/notify.sh fault”

}

 

virtual_server 172.18.24.10 80 {                 

   
delay_loop 6

   
lb_algo wrr

   
lb_kind DR

   
protocol TCP

   
sorry_server 127.0.0.1 80

   
real_server 172.18.24.3 80 {

       
weight 1

       
HTTP_GET {

           
url {

              path /

              status_code 200

           
}

           
connect_timeout 3

           
nb_get_retry 3

           
delay_before_retry 3

       
}

}

    real_server 172.18.24.5 80 {

        weight 1

        HTTP_GET {

            url {

              path /

              status_code 200

            }

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

(b)设置VS2主从信息

global_defs {

  
notification_email {

       
root@localhost

   }

 

  
notification_email_from keeplived@localhost

  
smtp_server 127.0.0.1

  
smtp_connect_timeout 30

  
router_id test4                        

  
vrrp_mcast_group4 224.0.100.24

}

vrrp_instance myr1 {

   
state   
BACKUP             

   
interface 
ens38                        

   
virtual_router_id 67

   
priority
98                           

   
advert_int 1

   
authentication {

       
auth_type PASS

       
auth_pass UIpYPPDI

}

vrrp_instance
myr2 {

    state MASTER                    

    interface ens38                    

    virtual_router_id 68

    priority 100                   

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass UIpYPPDi

    }

    virtual_ipaddress {

        172.18.24.11/16 dev  ens38  

    }

}

   
virtual_ipaddress {

    172.18.24.10/16 dev ens38

    }

   
notify_master “/etc/keepalived/notify.sh master”

   
notify_backup “/etc/keepalived/notify.sh backup”

   
notify_fault “/etc/keepalived/notify.sh fault”

}

 

virtual_server 172.18.24.11 80 {                  

   
delay_loop 6

   
lb_algo wrr

   
lb_kind DR

   
protocol TCP

   
sorry_server 127.0.0.1 80

   
real_server 172.18.24.3 80 {

       
weight 1

       
HTTP_GET {

           
url {

              path /

              status_code 200

           
}

           
connect_timeout 3

           
nb_get_retry 3

           
delay_before_retry 3

       
}

}

    real_server 172.18.24.5 80 {

        weight 1

        HTTP_GET {

            url {

              path /

              status_code 200

            }

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

        }

    }

}

(c)Systemctl start httpd  Systemctl start keepalived

3、测试 curl http://172.18.24.10  curl http://172.18.24.11

检测结果:不论是访问172.18.24.10还是172.18.24.11,最终显示以下的轮询结果,

<h1>172.18.24.3 server 1</h1>或者<h1>172.18.24.5
server 2</h1>

原创文章,作者:chenxu@magedu.com,如若转载,请注明出处:http://www.178linux.com/75732

(0)
chenxu@magedu.comchenxu@magedu.com
上一篇 2017-05-15
下一篇 2017-05-15

相关推荐

  • 文本处理工具

    1、cat命令 功能: 显示文本内容,连接合并文本内容并在标准设备上输出 语法: cat [OPTION]… [FILE]… 选项: -E:显示行结束符(回车)$ -A:显示所有控制符,相当于-vET -n:对显示出的每一行进行编号 -b:对非空白行编号 -s:将连续的空行压缩成一行 -T:把TAB字符显示为^I -v:除了&nb…

    Linux干货 2016-08-07
  • 循环的特殊用法及函数

    while特殊用法 while read 变量名;do 循环体 done<文件路径(将文件中的每一行依次读入循环体,赋值给变量)   (())可以实现C语言风格的变量操作 for循环特殊格式 for((控制变量初始化;条件判断表达式;控制变量修正表达式)) do 循环体 done 控制变量初始化仅在循环开始时执行一次,进行条件判断成立后执行循…

    Linux干货 2016-08-21
  • sed命令用法

    sed命令 [option]  “script”  file sed命令是一种行编辑工具,他是逐行对文件进行编辑。sed命令有一个模式空间,他将一行命令读取进模式空间进行编辑,完成后将本行数据打印再读取下一行数据进行处理。 option: -n:静默模式不显示模式空间内容 -f:从指定文件中读取 -i:修改源文件(-i.###会自动将原文…

    Linux干货 2016-08-12
  • 马哥教育网络班21期-第六周课程练习

    第六周作业 请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@qq tmp]# cp /etc/rc.d/rc.sysinit /tmp [root@qq&nbsp…

    Linux干货 2016-08-02
  • 马哥教育网络21期+第二周练习博客

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 常用文件管理类命令有cp、mv、rm。 # cp命令:文件复制命令     cp [OPTION]… [-T] SOURCE DEST 单文件复制     cp [OPTION]… SOURC…

    Linux干货 2016-07-26
  • iptables/netfilter入门到进阶

    iptables从入门到精通 本文主要围绕以下七点进行阐述:   一、防火墙简介 二、Iptables简介 三、Iptables的四张表及五条链 四、Iptables的filter应用详解 五、Iptables的nat应用详解       一、防火墙简介: 在网络中,所谓的防火墙是指一种将内部网络和公众访问网分开的方法…

    Linux干货 2017-03-15