環境:
準備兩臺機子,安裝haproxy及keepalive都一樣,只是配置不一樣而已。
這里只說明一臺機子上安裝haproxy及keepalive。
======================================
一、keepalived安裝配置
mkidr /application/tool -p
cd /application/tool
wget http://www.keepalived.org/software/keepalived-1.1.19.tar.gz
yum -y install popt-devel
uname -a ;過濾查看內涵版本
ln –s/usr/src/kernels/2/6.32… /usr/src/linux
tar xf keepalived-1.1.19.tar.gz
cd keepalived-1.1.19
./configure --sysconf=/etc
cp /usr/local/sbin/keepalived /usr/bin/
#vim /etc/keepalived/keepalived.conf
=====配置如下===
! Configuration File for keepalived
global_defs {
smtp_connect_timeout 30
router_id LVS_1 ;每臺機子route_id不一樣;備機上id不一樣
}
vrrp_instance VI_1 { ;相面的實例保持一致;備機上保持一致
state MASTER ;定義類型為主 ; 備機狀態為BACKUP
interface eth0 ; 監聽哪個IP接口 ; 根據備機實際接口
virtual_router_id 55 ; 相同實例保持一致; 備機保持一致
priority 150 ; 優先級越高,就成為主狀態。優先提供服務。; 備機優先級不能高于主。
advert_int 1 ; 隔一秒發送一次報文
authentication { ; 相同實例的認證方式; 備機保持一致
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { ; VIP的地址,相同實例保持一致; 備機保持相同
192.168.0.253/24
}
}
=====配置結束======
#/etc/init.d/keepalived start
#ip add |grep 192.168.0.253 ;如果有地址顯示,說明第一臺主配置正確。
備機上只要做如上相同步驟,不同配置即可。
注:備機上通過ip add |grep 192.168.0.253是沒有地址顯示的,這是正?,F象,只有當主的宕機了才會在備機有這個VIP地址。
============================================
二、haproxy配置
mkdir /application/tool
cd /application/tool
wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.24.tar.gz
tar xf haproxy-1.4.24.tar.gz
cd haproxy-1.4.24
make TARGET=linux26 ARCH=x86_64
make PREFIX=/application/haproxy install
sed -i "s#net.ipv4.ip_forward=0# net.ipv4.ip_forward=1#g"
sysctl -p
cd /application/haproxy
mkdir -p bin conf logs var/run var/chroot
#vim conf/haproxy.conf
================配置如下==============
global
chroot /application/haproxy/var/chroot ;定義一個安全目錄
daemon ; daemon模式啟動
group haproxy ;用戶及組
user haproxy
log 127.0.0.1:514 local0 warning ; 日志類型
pidfile /application/haproxy/var/run/haproxy.pid ;pid路徑
maxconn 20000 ;最大連接數
spread-checks 3
nbproc 4 ; 進程數,根據CUP核數指定
defaults
log global
retries 3
option redispatch
contimeout 5000
clitimeout 50000
srvtimeout 50000
stats enable ;開啟狀態查看工程
stats uri /admin?status ; 定義usr地址
stats auth admin:admin ; 用戶名及密碼
listen pet_ebk_push ; 定義一個listen,相當一個實例。
bind 192.168.0.253:8080 ; 監聽的地址,這里注意和keepalived的VIP地址保持一致。
mode tcp ;四層tcp模式,端口檢測。
balance roundrobin ; 輪詢算法
#option forwardfor
timeout server 15s
timeout connect 15s
server web01 192.168.0.176:8080 check port 8080 inter 1000 fall 1
server web02 192.168.0.176:8081 check port 8081 inter 1000 fall 1 ;當訪問本機的192.168.0.253:8080端口時,實際上是由這臺haproxy機子幫我們代理找后面0.176這臺機子請求數據,并將請求到的結果返回給用戶。之后后端要監聽哪些直接添加即可。
===========配置結束=============================
注:另外一臺haproxy安裝和配置完全相同,無差異。
到此keepalived+haproxy的配置到些結束,如想知道更多,請自行翻閱資料。(功能非常強大)
新聞熱點
疑難解答