1 問題
準備4臺linux伺服器,兩台做web伺服器,1臺安裝haproxy,1臺做客戶端,實現如下功能:
客戶端訪問haproxy,haproxy分發請求到後端real server
開啟haproxy監控頁面,及時檢視排程器狀態
設定haproxy為開機啟動
2 方案
使用4臺虛擬機器,1臺作為haproxy排程器、2臺作為real server、1臺作為客戶端,拓撲結構如圖-1所示,具體配置如表-1所示。
圖-1表-1
3 步驟
實現此案例需要按照如下步驟進行。
注意事項:
將前面實驗vip、lvs等實驗的內容清理乾淨!!!!!!
刪除所有裝置的vip,清空所有lvs設定,關閉keepalived!!!
web1關閉多餘的網絡卡與vip,配置本地真實ip位址。
[root@web1 ~]# ifdown eth0
[root@web1 ~]# ifdown lo:0
[root@web1 ~]# nmcli connection modify eth1 ipv4.method manual \
ipv4.addresses 192.168.2.100/24 connection.autoconnect yes
[root@web1 ~]# nmcli connection up eth1
web2關閉多餘的網絡卡與vip,配置本地真實ip位址。
[root@web2 ~]# ifdown eth0
[root@web2 ~]# ifdown lo:0
[root@web2 ~]# nmcli connection modify eth1 ipv4.method manual \
ipv4.addresses 192.168.2.200/24 connection.autoconnect yes
[root@web2 ~]# nmcli connection up eth1
proxy關閉keepalived服務,清理lvs規則。
[root@proxy ~]# systemctl stop keepalived
[root@proxy ~]# systemctl disable keepalived
[root@proxy ~]# ipvsadm -c
[root@proxy ~]# nmcli connection modify eth0 ipv4.method manual \
ipv4.addresses 192.168.4.5/24 connection.autoconnect yes
[root@proxy ~]# nmcli connection up eth0
[root@proxy ~]# nmcli connection modify eth1 ipv4.method manual \
ipv4.addresses 192.168.2.5/24 connection.autoconnect yes
[root@proxy ~]# nmcli connection up eth1
步驟一:配置後端web伺服器
設定兩台後端web服務(如果已經配置完成,可用忽略此步驟)
步驟二:部署haproxy伺服器
1)配置網路,安裝軟體
[root@haproxy ~]# yum -y install haproxy
2)修改配置檔案
[root@haproxy ~]# vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2 ###[err warning info debug]
chroot /usr/local/haproxy
pidfile /var/run/haproxy.pid ###haproxy的pid存放路徑
maxconn 4000 ###最大連線數,預設4000
user haproxy
group haproxy
daemon ###建立1個程序進入deamon模式執行
defaults
mode http ###預設的模式mode log global ###採用全域性定義的日誌
option dontlognull ###不記錄健康檢查的日誌資訊
option httpclose ###每次請求完畢後主動關閉http通道
option httplog ###日誌類別http日誌格式
option forwardfor ###後端伺服器可以從http header中獲得客戶端ip
option redispatch ###serverid伺服器掛掉後強制定向到其他健康伺服器
timeout connect 10000 #如果backend沒有指定,預設為10s
timeout client 300000 ###客戶端連線超時
timeout server 300000 ###伺服器連線超時
maxconn 60000 ###最大連線數
retries 3 ###3次連線失敗就認為服務不可用,也可以通過後面設定
listen stats 0.0.0.0:1080 #監聽埠
stats refresh 30s #統計頁面自動重新整理時間
stats uri /stats #統計頁面url
stats realm haproxy manager #進入管理解面檢視狀態資訊
stats auth admin:admin #統計頁面使用者名稱和密碼設定
#stats hide-version #隱藏統計頁面上haproxy的版本資訊
listen websrv-rewrite 0.0.0.0:80
balance roundrobin
server web1 192.168.2.100:80 check inter 2000 rise 2 fall 5
server web2 192.168.2.200:80 check inter 2000 rise 2 fall 5
3)啟動伺服器並設定開機啟動
[root@haproxy ~]# systemctl start haproxy
[root@haproxy ~]# systemctl enable haproxy
步驟三:客戶端驗證
客戶端配置與haproxy相同網路的ip位址,並使用火狐瀏覽器訪問測試排程器是否正常工作,客戶端訪問測試狀態監控頁面是否正常。訪問狀態監控頁的內容,參考圖-2所示。
圖-2備註:
queue佇列資料的資訊(當前佇列數量,最大值,佇列限制數量);
session rate每秒會話率(當前值,最大值,限制數量);
sessions總會話量(當前值,最大值,總量,lbtot: total number of times a server was selected選中一台伺服器所用的總時間);
bytes(入站、出站流量);
denied(拒絕請求、拒絕回應);
errors(錯誤請求、錯誤連線、錯誤回應);
warnings(重新嘗試警告retry、重新連線redispatches);
server(狀態、最後檢查的時間(多久前執行的最後一次檢查)、權重、備份伺服器數量、down機伺服器數量、down機時長)。
配置HAProxy負載平衡集群
步驟一 配置後端web伺服器 設定兩台後端web服務 如果已經配置完成,可用忽略此步驟 步驟二 部署haproxy伺服器配置網路,安裝軟體 echo net.ipv4.ip forward 1 sysctl.conf 開啟路由 sysctl p yum y install haproxy 修改配置檔...
配置HAProxy負載平衡集群 (隨堂筆記)
配置檔案說明 haproxy配置引數 命令列 總是具有最高優先順序 global 全域性設定程序級別引數 宣告 default listen frontend backend 配置文家由以下部分構成 default 為後續的其他部分設定預設引數,預設引數可以被後續部分重置 frontend 描述接受...
ActiveMQ 集群負載平衡
目前的架構 負載均衡方案 第二種方案呢,假設我們整個應用是個食堂,這個食堂裡面有好多飯口,每個飯口有好多大爺大媽 咦 每個飯口實現了高可用,即使有大媽不上班,還有大爺頂上。針對好多學生 使用者 實現了負載均衡,學生被基本均勻的分配到每乙個飯口上。食堂 應用 飯口 集群 大媽 伺服器 現在我們利用br...