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 14:28
下一篇 2017-06-29 12:03

相关推荐

  • LVS NAT + Keepalived HOWTO

    LVS NAT + Keepalived HOWTO   这篇文章主要讲解了,基于LVS/NAT,安装,运行与检测keepalived 目录     1、什么是keepalived?     2、规划你的网络 &nbsp…

    Linux干货 2015-09-21
  • 马哥教育网络22期+第四周作业博客

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。    [root@centos-rpi3 skel]# cp -r /etc/skel /home/tuser1 && chmod -R g-rwx,o-rwx /home/tuser1 …

    Linux干货 2016-09-08
  • Linux基础目录名称命名法则及功能规定

    Linux中有非常多的目录文件,那么这些目录文件的命令规则,和功能都有那些,今天学习了下,下面是我的学习记录,跟大家分享下。 文件命名规则 (1) 除了/之外,所有字符都合法 (2) 特殊字符如@、#、¥、&、()、-、空格等最好不要使用,当使用空格作为文件名时,执行命令会出错 (3) 避免使用”.”作为文件名的第一个字符,因为在Linux系统中以”…

    Linux干货 2016-08-15
  • Linux之SELinux

      Linux之SELinux     本文包括以下内容SELinux概念启用SELinux管理文件安全标签管理端口标签管理SELinux布尔值开关管理日志查看SELinux帮助   SELinux介绍SELinux: Secure Enhanced Linux,是美国国家安全局(NSA=The National Se…

    Linux干货 2016-09-21
  • linux命令简单应用

    创建/tmp目录下的:a_c, a_d, b_c, b_d touch /tmp/{a,b}_{c,d} [root@bogon ~]# tree /tmp /tmp |– a_c |– a_d |– b_c |– b_d 创建/tmp/mylinux目录下的: mylinux/ ├── bin ├── boo…

    Linux干货 2016-11-06
  • Linux 命令行返回状态

    linux 执行命令后会返回一个状态码 命令执行成功返回0: 当删除一个文件并删除成功时返回的状态码为0 [root@localhost 1]# rm -rf 1_1 [root@localhost 1]# echo $? 0 命令执行失败返回1-255 当把 文件夹 1_1 重命名为1_2失败后状态码为1 [root@localhost 1]# mv 1_…

    Linux干货 2017-08-28