1. 程式人生 > >keepalived+haproxy 高可用負載均衡叢集

keepalived+haproxy 高可用負載均衡叢集

在這裡插入圖片描述
在這裡插入圖片描述

案例

在這裡插入圖片描述

chkconfig NetworkManager off
chkconfig iptables off
cat /etc/sysconfig/selinux  #例行公事四臺都要這樣selinux為disabled狀態。
#web為配置好的狀態 只有一個頁面。

開始配置主排程器

/etc/sysctl.conf  #修改核心引數( /etc/sysctl.conf)檔案,關閉ICMP重定向。
sysctl -p

在這裡插入圖片描述

yum -y install pcre-devel bzip2-devel keepalived haproxy
#裝外掛 從伺服器同樣需要裝

在這裡插入圖片描述

/etc/haproxy/haproxy.cfg  #配置檔案
global  #全域性配置
    log   /dev/log     local0 info  #配置日誌記錄,local0為日誌裝置,預設存到系統日誌。這裡單獨定義出來了
    log   /dev/log     local0 notice  #日誌級別預設有24個級別

   # chroot      /var/lib/haproxy
    maxconn     4096  #最大連線數
    user        haproxy  #程式使用者
    group       haproxy  #程式組
    daemon

defaults  #預設配置
    log                     global  #定義日誌為global配置中的日誌定義
    mode                    http  #模式為http
    option                  httplog  #採用http日誌格式記錄日誌
    option                  dontlognull  #保證HAProxy不記錄上級負載均衡傳送過來的用於檢測狀態沒有資料的心跳包
    option http-server-close  #主動關閉http請求選項
    retries                 3  #檢查節點伺服器失敗次數,連續三次失敗,則認為節點不可用
    maxconn                 2000  #最大連線數
    contimeout              5000  #連線超時時間
    clitimeout              50000  #客戶端超時時間
 srvtimeout              50000  #伺服器超時時間

listen  webcluster 0.0.0.0:80  #應用元件配置,定義一個webcluster的應用
        option httpchk GET /index.html  #檢查伺服器的index.htm檔案l
        balance         roundrobin  #負載均衡排程演算法使用輪詢
        #option 	persist  #強制將請求傳送到已經down掉的伺服器
        server inst1    192.168.1.20:80 check   inter   2000    fall 3
        server inst2    192.168.1.30:80 check   inter   2000    fall 3   #後面加backup就認為是備份伺服器  不加為線上節點
#2000為心跳頻率,3表示3次失敗認為不可用。  fall 3 backup  這樣將認為是節點備份伺服器。

在這裡插入圖片描述
在這裡插入圖片描述

service haproxy start  #啟動服務

在這裡插入圖片描述

配置日誌檔案

vim /etc/rsyslog.d/haproxy.conf #配置檔案
if ($programname == 'haproxy' and $syslogseverity-text == 'info') then -/var/log/haproxy/haproxy-info.log
& ~
if ($programname == 'haproxy' and $syslogseverity-text == 'notice') then -/var/log/haproxy/haproxy-notice.log
& ~

在這裡插入圖片描述

service rsyslog restart

在這裡插入圖片描述

tail -f /var/log/haproxy/haproxy-info.log #動態檢視日誌

在這裡插入圖片描述

配置keepalived 熱備

vim /etc/keepalived/keepalived.conf #配置檔案

! Configuration File for keepalived

global_defs {
   notification_email {
     [email protected]
     [email protected]c
     [email protected]
   }
   notification_email_from [email protected]
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL1
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
     authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.100
    }
}

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

配置從排程器

yum -y install pcre-devel bzip2-devel keepalived haproxy #外掛

在這裡插入圖片描述

scp [email protected]:/etc/sysctl.conf  /etc/
sysctl -p
scp [email protected]:/etc/keepalived/keepalived.conf /etc/keepalived
scp [email protected]:/etc/haproxy/haproxy.cfg /etc/haproxy/

在這裡插入圖片描述

vim /etc/keepalived/keepalived.conf  #修改配置檔案 這裡把需要改的列出來
router_id LVS_DEVEL2  #改名字
state BACKUP  #改型別
priority 90   #改優先順序

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

service haproxy start
service keepalived start
#啟動服務
配置日誌檔案
scp [email protected]:/etc/rsyslog.d/haproxy.conf /etc/rsyslog.d/
service rsyslog restart

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述