搭建雙主模型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.www58058.com/75732

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

相關推薦

  • Linux文件和目錄管理

    Linux目錄和文件管理 Linux文件信息詳述 文件數據存儲在塊中 文件元數據存儲在inode中 文件名和其對應的inode號碼存儲在目錄項中 數據塊的概念: 文件在硬盤上的最小存儲單位叫做扇區,1扇區=512字節,操作系統讀取硬盤的時候不會一個一個讀,這樣太慢,會一次連續讀多個扇區,即一個讀取一個“塊”,常見的 1塊=八個扇區=4kB inode的概念:…

    Linux干貨 2016-11-04
  • 命令read

    read命令是一個bash命令,它用于從鍵盤或標準輸入中讀取文本.我們可以使用read以交互的形式讀取來自用戶的輸入.并且read還提供一種不需要按回車就能夠輸入參數的方法. read可以從標準輸入中讀取單獨的一行,或者使用-u選項,從文件描述符FD中讀取.并且這單獨的行被分隔成多個域,第一個詞被賦值給第一個變量,第一個賦值給第二個變量,以此類推,直到剩下的…

    Linux干貨 2016-08-12
  • keepalived實現前端負載均衡器的高可用

    概述:     在之前的內容中,我們了解了當一個網站并發量大時,可以利用前端負載均衡器將用戶請求調度到后端的多個real server上,實現分散服務壓力,橫向擴展的方式,形成LB集群,但是試想一下,作為前端負載均衡器:     如果是LVS,萬一作為前端調度器的Director…

    Linux干貨 2016-11-01
  • 馬哥教育網絡班21期第1周課程練習 — 草稿

    1、描述計算機的組成及其功能。     計算機的主要組成部分包括:運算器、控制器、存儲器、輸入設備、輸出設備。        按更常見的組件來講:CPU = 運算器+控制器、 內存+硬盤 = 存儲器、 I/O = 輸入設備+輸出設備  &n…

    Linux干貨 2016-07-07
  • 進程與計劃任務詳解

    時光匆匆,王老師代兩周的課就這樣結束了,剛適應王老師的講課風格。王老師講課進度非常快,能按照自己的思路把上課的內容每一個地方都貫徹下去。我覺得這樣是非常好的,但是筆記方面還是南老師做的詳細,各有各的風格吧。今天我們將要給大家介紹進程與計劃任務,對我們的以后工作有非常大的幫助,因為我們以后工作盡可能的都自動化管理,不需要我們每天都去敲那些命令。所以我相信今天的…

    2017-09-09
  • linux基礎命令

    顯示當前系統正在使用的shell:echo ${SHELL}  注意$在這里表示輸出的內容是變量命令提示符:prompt[root@localhost ~]# 表示管理員用戶 $表示普通用戶修改提示符格式 PS1=“[\e[31m][\u@\h \w]\$[\e[0m]”\h 主機名簡稱\H 主機名\w 當前…

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