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

相关推荐

  • Leetcode 编程训练

    Leetcode这个网站上的题都是一些经典的公司用来面试应聘者的面试题,很多人通过刷这些题来应聘一些喜欢面试算法的公司,比如:Google、微软、Facebook、Amazon之类的这些公司,基本上是应试教育的功利主义。 我做这些题目的不是为了要去应聘这些公司,而是为了锻炼一下自己的算法和编程能力。因为我开始工作的时候基本没有这样的训练算法和编程的网站,除了…

    Linux干货 2016-08-15
  • OSI模型与TCP/IP协议栈

         OSI模型:     使用OSI模型的意义:      简化教学     加快发展速度     确保技术的互操作性     简化模块化设计  &nbs…

    2017-08-20
  • 数据结构- 串的模式匹配算法:BF和 KMP算法

    Brute-Force算法的思想 1.BF(Brute-Force)算法   Brute-Force算法的基本思想是: 1) 从目标串s 的第一个字符起和模式串t的第一个字符进行比较,若相等,则继续逐个比较后续字符,否则从串s 的第二个字符起再重新和串t进行比较。 2) 依此类推,直至串t 中的每个字符依次和串s的一个连续的字符序列相等,则称模式匹…

    Linux干货 2015-04-07
  • MongoDB

    Edit MongoDB 手册 MongoDB 手册 第一章 Introduction MongoDB入门学习目录(建议) Databases Collections Documents 第二章 部署安装 1. Import the MongoDB public key 2. Configure the package management system (…

    Linux干货 2015-01-12
  • rpm包管理

    一、概述 RPM 是RPM Package Manager(RPM软件包管理器)的缩写。由redhat公司的Redhat package manager改名而来,成了RedHat的工业标准 二、rpm的命名格式: rpm包的命名格式:name-version-relase.arch.rpm version: major.minor.release,同源代码 …

    Linux干货 2015-10-07
  • 马哥Linux学习之查询篇(命令查询和文件查询)

        Linux运维工作一般都使用命令完成,在如此多的各种命令中,要想全部记住显然是不太可能也是不必要的,另外,文件的查找在日常操作中也是必不可少的。下面我就总结一下Linux中如何查找命令以及文件。     命令的运行文件路径查询。这个查找的方法是同样是使用命令,这个命令叫w…

    Linux干货 2015-04-13