下面是keepalived詳細配置文件解析:web
[root@localhost kernels]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
# notification_email {
# acassen@firewall.loc
# failover@firewall.loc
# sysadmin@firewall.loc
# }
# notification_email_from Alexandre.Cassen@firewall.loc
# smtp_server 192.168.200.1
# smtp_connect_timeout 30
router_id LVS_DEVEL //負載均衡器標識,同一網段內,能夠相同
}
vrrp_sync_group VGM { //定義一個vrrp組
group {
VI_1
}
}
vrrp_instance VI_1 { //定義vrrp實例
state MASTER //主LVS是MASTER,從的BACKUP
interface eth0 //LVS監控的網絡接口
virtual_router_id 51 //同一實例下virtual_router_id必須相同
priority 100 //定義優先級,數字越大,優先級越高
advert_int 5 //MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒
authentication { //驗證類型和密碼
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { //虛擬IP
192.168.1.8
# 192.168.1.9 //若是有多個,往下加就好了
# 192.168.1.7
}
}
virtual_server 192.168.1.8 80 { //定義虛擬服務器
delay_loop 6 //健康檢查時間,單位是秒
lb_algo rr //負載調度算法,這裏設置爲rr,即輪詢算法
lb_kind DR //LVS實現負載均衡的機制,能夠有NAT、TUN和DR三個模式可選
persistence_timeout 50 //會話保持時間,單位是秒(能夠適當延長時間以保持session)
protocol TCP //轉發協議類型,有tcp和udp兩種
sorry_server 127.0.0.1 80 //web服務器所有失敗,vip指向本機80端口
real_server 192.168.1.16 80 { //定義WEB服務器
weight 1 //權重
TCP_CHECK { //經過tcpcheck判斷RealServer的健康狀態
connect_timeout 5 //鏈接超時時間
nb_get_retry 3 //重連次數
delay_before_retry 3 //重連間隔時間
connect_port 80 //檢測端口
}
}
real_server 192.168.1.17 80 {
weight 1
TCP_CHECK {
connect_timeout 5
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
} 算法
}vim
實例:服務器
vim /etc/keepalived/keepalived.conf網絡
vrrp_instance VI_1 {session
state MASTER # 備用用 BACKUP負載均衡
interface eth2 #用的是哪一個網卡tcp
virtual_router_id 51 #虛擬路由地址必須同樣,才能配置成一個組ide
priority 100 # 備用用 90oop
advert_int 1 #MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒
authentication {
auth_type PASS #(密碼形式)
auth_pass 1111
}
virtual_ipaddress {
192.168.32.100
}
}
virtual_server 192.168.32.100 80 {
delay_loop 6 #每隔6s 查詢 realserver 狀態
lb_algo rr #lvs 算法
lb_kind NAT #Direct Route
persistence_timeout 60 #會話保持時間,單位是秒(能夠適當延長時間以保持session)
protocol TCP # 用 TCP協議檢查 realserver 狀態
real_server 192.168.32.85 80 {
weight 1
TCP_CHECK {
connect_timeout 10 #10s 無響應超時
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
# real_server 192.168.32.86 80 {
weight 2
TCP_CHECK {
connect_timeout 10 #10s 無響應超時
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
#
}
使用源碼先安裝keepalived 1.2.6:
cd /usr/src
wget http://www.keepalived.org/software/keepalived-1.2.13.tar.gz
tar zxf keepalived-1.2.13.tar.gz
cd keepalived-1.2.13
./configure --prefix=/usr/local/keepalived
make
make install
1. 創建服務啓動腳本,以便使用service命令控制之
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
chmod +x /etc/init.d/keepalived
由於咱們使用非默認路徑(/usr/local)安裝keepalived, 故須要修改幾處路徑,以保證keepalived能正常啓動, 須要修改的文件以下:
2. 修改/etc/init.d/keepalived, 尋找大約15行左右的. /etc/sysconfig/keepalived, 修改成:
sed -i "15d;14a . /usr/local/keepalived/etc/sysconfig/keepalived" /etc/init.d/keepalived
同時在上述行下添加如下內容(將keepavlied主程序所在路徑導入到環境變量PATH中):
sed -i '15a PATH="$PATH:/usr/local/keepalived/sbin"' /etc/init.d/keepalived
sed -i '16a export PATH' /etc/init.d/keepalived
3. 修改/usr/local/keepalived/etc/sysconfig/keepalived文件,設置正確的服務啓動參數
sed -i '14d;13a KEEPALIVED_OPTIONS="-D -f /etc/keepalived/keepalived.conf"' /usr/local/keepalived/etc/sysconfig/keepalived
mkdir /etc/keepalived/
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
4. 通過以上修改,keepalived基本安裝便可完成,啓動測試之:
service keepalived start
5. 切勿忘記將此服務設置爲開機啓動
chkconfig keepalived on