keepalived相关配置示例(二)

虚拟服务器配置实验:

两台centos6主机为web service系统为CentOS6.8  n1:172.16.253.87    n2:172.16.252.5都安装httpd    yum install -y httpd[root@n1 ~]#vim /var/www/html/index.html<h1>Real Server 1</h1>[root@n1 ~]#service httpd start[root@n2 ~]#vim /var/www/html/index.html<h1>RealServer 2</h1>[root@n1 ~]#service httpd start#!/bin/bash##vip='172.16.0.99'netmask='255.255.255.255'iface='lo:0' case $1 instart)        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 $iface $vip netmask $netmask broadcast $vip up        route add -host $vip dev $iface        ;;stop)        ifconfig $iface 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        ;;*)        exit 1esac[root@n1 ~]#bash -x setrs.sh start[root@n1 ~]#route -n172.16.0.99     0.0.0.0         255.255.255.255 UH    0      0        0 lo[root@n1 ~]#scp setrs.sh 172.16.252.5:/root[root@n2 ~]#bash -x setrs.sh start[root@n2 ~]#route -n172.16.0.99     0.0.0.0         255.255.255.255 UH    0      0        0 lo [root@node1 ~]#yum -y install nginx[root@node1 ~]#systemctl start nginx.service[root@node2 ~]#yum -y install nginx[root@node2 ~]#systemctl start nginx.service[root@node1 ~]#yum install -y ipvsadm[root@node1 /etc/keepalived]#vim keepalived.confvirtual_server 172.16.0.99 80 {        delay_ loop 1   服务轮询的时间间隔        lb_algo wrr 定义调度方法        lb_kind DR  集群的类型        protocol TCP 服务协议,仅支持TCP        sorry_server 127.0.0.1 80   备用服务器地址        real_server 172.16.252.5 80 {                weight 1                HTTP_GET {                    url {   定义当前主机的健康状态检测方法                        path /index.html 定义要监控的URL                        status_code 200 判断上述检测机制为健康状态的响应码                    }                       nb_get_retry 3  重试次数                    delay_before_retry 2    重试之前的延迟时长                    connect_timeout 3   连接请求的超时时长                }        }        real_server 172.16.252.5 80 {                weight 1                HTTP_GET {                    url {                        path /index.html                        status_code 200                    }                       nb_get_retry 3                    delay_before_retry 2                    connect_timeout 3                }           }       }       [root@node2 /etc/keepalived]#vim keepalived.conf    做同上操作测试:[root@node1 /etc/keepalived]#systemctl stop keepalived.service[root@node2 /etc/keepalived]#curl http://172.16.0.99<h1>Real Server 1</h1>[root@node2 /etc/keepalived]#curl http://172.16.0.99<h1>RealServer 2</h1>[root@node2 /etc/keepalived]#curl http://172.16.0.99<h1>Real Server 1</h1>[root@node2 /etc/keepalived]#curl http://172.16.0.99<h1>RealServer 2</h1>[root@node1 /etc/keepalived]#systemctl start keepalived.service[root@node1 /etc/keepalived]#ipvsadm -ln  -> 172.16.252.5:80              Route   1      0          2           -> 172.16.253.87:80             Route   1      0          2         [root@node2 /etc/keepalived]#ipvsadm -ln  -> 172.16.252.5:80              Route   1      0          0           -> 172.16.253.87:80             Route   1      0          0       [root@n1 ~]#service httpd stop[root@node1 /etc/keepalived]#ipvsadm -ln  -> 172.16.252.5:80              Route   1      0          0    [root@n1 ~]#service httpd start   [root@n2 ~]#service httpd stop[root@node2 /etc/keepalived]#ipvsadm -ln  -> 172.16.253.87:80             Route   1      0          0   

TCP_CHECK使用示例:

[root@node1 /etc/keepalived]#vim keepalived.confvirtual_server 172.16.0.99 80 {        delay_ loop 1        lb_algo wrr        lb_kind DR        protocol TCP        sorry_server 127.0.0.1 80         real_server 172.16.253.87 80 {                weight 1                HTTP_GET {                    url {                        path /index.html                        status_code 200                    }                    nb_get_retry 3                    delay_before_retry 2                    connect_timeout 3                }        }        real_server 172.16.252.5 80 {                weight 1                TCP_CHECK {                    nb_get_retry 3                    delay_before_retry 2                    connect_timeout 3                }        }}

原创文章,作者:Linux.rookie,如若转载,请注明出处:http://www.178linux.com/78798

(0)
Linux.rookieLinux.rookie
上一篇 2017-06-28
下一篇 2017-06-29

相关推荐

  • bash脚本之数组及字符串切片,登陆配置文件

    一,概述 数组(就是一堆变量的集合) 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合/ 数组名和索引     索引:编号从0开始,属于数值索引     注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后…

    Linux干货 2016-09-01
  • 第十七周作业

    1、结合图形来描叙LVS的工作原理; 工作原理 LVS分为两个组件:ipvs和ipvsadm         ipvs:工作于内核空间,主要用于使用户定义的策略生效;         ipvsadm : 工作于用户空间,主要用于用户定义和管理集群服务…

    2017-06-27
  • 练习正则表达式

        正则表达式可以通过元字符(规则)来匹配查找相关的的字符集合。他与通配符是有区别的。而且相关的使用工具对正则表示的元字符的是有区别的。     首先我们先来了解下常用的元字符及含义(并不是所有的元字符) 字符匹配       &nbs…

    Linux干货 2015-04-15
  • CentOS7之Systemd管理

    Systemd 本章节内容: CentOS7启动 Unit介绍 服务管理和查看 启动排错 破解口令 修复grub2 1、 CentOS启动流程:POST –> Boot Sequence –> Bootloader –> kernel + initramfs(initrd) –> roo…

    Linux干货 2016-09-23
  • bash特性及配置文件

    bash配置文件     两类:         profile:为交互式登录shell提供配置         bashrc:为非交互式登录shell提供配置…

    Linux干货 2016-08-31
  • net25-第17周作业

    1、结合图形描述LVS的工作原理; lvs-nat模型,相当于多目标的dnat,通过将请求报文中的目标地址和目标端口修改为调度出的rs的rip和port来实现转发,整个请求如下: cip -> vip -> vs(nat转换) -> rip  请求 rip -> dip(默认网关) -> vs(nat转换) ->…

    Linux干货 2017-05-15