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.www58058.com/78798

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

相關推薦

  • Linux磁盤管理工具

    掛載mount          掛載:將額外文件系統與根文件系統某現存的目錄建立起關聯關系,                 進而使得此目錄做為其它文件訪問入口的行為         &n…

    Linux干貨 2016-08-29
  • lvs筆記之nat&dr模型簡單實現

    lvs筆記之nat&dr模型簡單實現 lvs筆記之nat&dr模型簡單實現 lvs 集群 實現 負載均衡 nat lvs筆記之nat&dr模型簡單實現 ipvsadm使用說明 lvs-nat的簡單實現 踩過的坑1 lvs-dr實現 總結 ipvsadm使用說明     -A: 添加一個…

    2017-01-03
  • 相關練習

    1、請使用命令行展開功能來完成以下練習:    (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d  mkdir /tmp/{a,b}_{c,d}    (2)、創建/tmp/mylinux目錄下的:  mkdir -pv /tmp/mylinux/{bin,boot/grub,de…

    Linux干貨 2016-11-05
  • bash腳本進階

     shell腳本流程控制     1.if語句 單分支: if 判斷條件;  then ?  雙分支: if 判斷條件; then     條件為真的分支代碼 else     條…

    Linux干貨 2016-08-21
  • Linux發展史

    Linux發展史 Linux的簡單介紹 Linux操作系統誕生于1991 年,是一套免費使用和自由傳播的類Unix操作系統。Linux存在著許多不同的Linux發行版本。嚴格意義上的Linux系統應該是GUN/Linux(kernel+Application)而Linux本身只表示Linux系統內核,但實際上人們已經習慣了用Linux稱呼GUN/Linux系…

    Linux干貨 2016-10-13
  • 把編譯安裝的httpd 實現服務腳本,通過service和chkconfig 進行管理

    把編譯安裝的httpd 實現服務腳本,通過service和chkconfig 進行管理 1 編譯安裝httpd 把httpd編譯安裝在/app/httpd/目錄下。 2 在/etc/rc.d/init.d/目錄下新建一個文件httpd 這個文件的目的在于讓service 命令可以管理編譯安裝的httpd服務。 文件內容如下: [root@CentOS68 ~…

    Linux干貨 2017-05-15
欧美性久久久久