天天看點

Haproxy、Keepalived雙主高可用負載均衡

一、haproxy和keepalived簡介

1、haproxy

haproxy提供高可用性、負載均衡以及基于tcp和http應用的代理,支援虛拟主機。它是免費、快速并且可靠的一種解決方案。特别适用于那些負載特大的web站點,這些站點通常又需要會話保持或七層處理。haproxy運作在目前的硬體上,完全可以支援數以萬計的并發連接配接。并且它的運作模式使得它可以很簡單安全的整合進您目前的架構中, 同時可以保護你的web伺服器不被暴露到網絡上。

2、keepalived

keepalived是一個類似于layer3, 4 & 7交換機制的軟體,也就是我們平時說的第3層、第4層和第7層交換,檢測web伺服器的狀态,如果有一台web伺服器當機,或工作出現故障,keepalived将檢測到,并将有故障的web伺服器從系統中剔除,當web伺服器工作正常後keepalived自動将web伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工幹涉,需要人工做的隻是修複故障的web伺服器。

二、實驗架構圖

三、實驗環境

os:centos6.5x86_64

apache:httpd-2.2.15-29.el6.centos.x86_64

haproxy:haproxy-1.4.24-2.el6.x86_64

keepalived:keepalived-1.2.7-3.el6.x86_64

四、實驗目的

1、haproxy+keepalived雙主雙機高可用模型,keepalived為haproxy主從提供高可用保證haproxy-master若挂掉haproxy-backup能無縫接管,haproxy為後端web提供負載均衡,緩解并發壓力,實作web站點負載均衡+高可用性;

2、haproxy反代web做動靜分離;

五、實驗配置

1、前端配置

(1)haproxy1配置

首先配置keepalived

為keepalived提供腳本

    賦予執行權限 chmod +x /etc/keepalived/notify.sh

接着配置haproxy

(2)haproxy2配置

與haproxy1大緻相同,不同地方會提醒大家哦!!!

腳本同haproxy1的相同,隻需把腳本裡的vip改為172.16.6.200。

因為haproxy1的haproxy與haproxy2的haproxy是相同的,都是将服務代理至後端伺服器,可以直接使用haproxy1的haproxy的配置。

(3)啟動keepalived,haproxy并測試,測試keepalived高可用

 haproxy1 haproxy2 啟動keepalived,haproxy

對于haproxy1,效果如下

對于haproxy2,效果如下

Haproxy、Keepalived雙主高可用負載均衡

關閉haproxy1的haproxy服務測試,vip飄移

Haproxy、Keepalived雙主高可用負載均衡

檢視haproxy2,接收到了haproxy1飄過來的vip

Haproxy、Keepalived雙主高可用負載均衡

2、後端配置

(1)配置web1, 配置靜态頁面

(2)配置web2, 配置頁動态頁面

(3)haproxy動靜分離機制

請求靜态内容

首先在web1(172.16.6.10)的網頁目錄下放入hyd.jpg

請求靜态内容:通路172.16.6.200/hyd.jpg

請求動态内容:通路172.16.6.200

haproxy統計頁面的輸出

本文出自 “” 部落格,請務必保留此出處