1. 程式人生 > >HAproxy+Keepalived(雙主)

HAproxy+Keepalived(雙主)

local www. 貼圖 queue 應用 inpu udp端口 install rect

HAproxy+Keepalived(雙主)配置

  • 網絡拓撲如下
    技術分享圖片
  • 準備RealServer(RS服務器)配置
    這裏RS上準備http服務作為應用驗證,在實際生產中兩臺RS服務器應該具有相同資源實現冗余。這裏為了測試驗證,故意將被訪問資源設置成不同,以方便驗證。
  1. 兩臺RS服務器上執行yum install httpd -y安裝httpd應用程序(兩臺都要執行,前提是系統已配置yum倉庫)
  2. 準備不同訪問資源 以便驗證調度效果
    技術分享圖片
    技術分享圖片
    從客戶端直接訪問RS http服務資源,以確保RS 正常提供服務。
    技術分享圖片
  • 準備HAproxy調度服務
  1. 在兩臺Dirctor服務器上執行安裝haproxy包和keepalived包
    技術分享圖片
  2. 修改haproxy配置文件,兩臺haproxy配置文件相同
    [root@hapro1 05:51:23 ~]#cd /etc/haproxy/
    [root@hapro1 05:51:29 haproxy]#vim haproxy.cfg
    global
    log 127.0.0.1 local2
    chroot /var/lib/haproxy
    pidfile /var/run/haproxy.pid
    maxconn 4000
    user haproxy
    group haproxy
    daemon
    stats socket /var/lib/haproxy/stats
    defaults
    mode http
    log global
    option httplog
    option dontlognull
    option http-server-close
    option forwardfor except 127.0.0.0/8
    option redispatch
    retries 3
    timeout http-request 10s
    timeout queue 1m
    timeout connect 10s
    timeout client 1m
    timeout server 1m
    timeout http-keep-alive 10s
    timeout check 10s
    maxconn 3000
    listen stats
    mode http
    bind 0.0.0.0:1080
    stats enable
    stats hide-version
    stats uri /haproxyadmin?stats
    stats realm Haproxy\ Statistics
    stats admin if TRUE
    frontend websrv
    option forwardfor
    bind *:80
    default_backend app
    frontend healthcheck
    bind :1099
    mode http
    option forwardfor
    default_backend app
    backend app
    balance roundrobin
    server app1 192.168.30.23:80 check weight 1
    server app2 192.168.30.24:80 check weight 2
  3. 修改rsyslog配置文件 使haproxy生成日誌
    修改以下行其它rsyslog配置不變
    [root@hapro1 06:00:08 haproxy]#vim /etc/rsyslog.conf
    # Provides UDP syslog reception
    $ModLoad imudp
    $UDPServerRun 514 ################啟動udp端口 作為服務器工作
    # Provides TCP syslog reception
    $ModLoad imtcp
    $InputTCPServerRun 514 #############啟動tcp監聽端口
    local2.* /var/log/haproxy.log
  4. 啟動haproxy服務,訪問Dirctor IP確保haproxy調度正常
    在兩臺Director上開啟haproxy服務並查看狀態
    技術分享圖片
    技術分享圖片
    通過客戶端訪問驗證
    技術分享圖片
    技術分享圖片
    至此,雙haproxy+http配置完成,接下來就要在Director上加上keepalived保證haproxy互為主備

  • 配置keepalived雙主服務
    在Director1上直接配置keepalived.conf文件
    技術分享圖片
    在Director2上配置需要修改以下地方:
    技術分享圖片
    啟動keepalived服務,並驗證
    a. 在兩臺Director上啟動keepalived
    技術分享圖片
    技術分享圖片
    b. 從客戶端訪問兩個VIP,192.168.30.100和192.168.30.200驗證調度效果
    技術分享圖片
    c. 關閉RS1服務,看是否調度到RS2
    技術分享圖片
    類似的,也可以關閉RS2看是否調度到RS1上,這裏就不做貼圖。
    d. 關閉Director2看VIP 192.168.30.200是否切換到Director1,並且服務訪問正常
    客戶端效果:
    技術分享圖片
    Director1效果:
    技術分享圖片
    Director2上以及沒有192.168.30.200 VIP:
    技術分享圖片

至此,haproxy+keepalived雙主配置完成



來自為知筆記(Wiz)

HAproxy+Keepalived(雙主)