LVS keepalived負載均衡實戰

2021-09-02 06:25:59 字數 3852 閱讀 3363

lvs+keepalived負載均衡實戰

一、為什麼要使 用負載均衡技術?

1、系統高可用性

2、 系統可擴充套件性

3、 負載均衡能力

lvs+keepalived能很好的實現以上的要求,lvs提 供負載均衡,keepalived提供健康檢查,故障轉移,提高系統的可用性!採用這樣的架構以後 很容易對現有系統進行擴充套件,只要在後端新增或者減少realserver,只要更改lvs的 配置檔案,並能實現無縫配置變更!

二、lvs+keepalived介紹

1、 lvs

lvs是乙個開源的軟體,可以實現linux平台下的簡單負載均衡。lvs是linux virtual server的縮寫,意思是linux虛擬伺服器。目前有三種ip負 載均衡技術(vs/nat、vs/tun和vs/dr);八種排程演算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh)。

2、 keepalived

keepalived 是執行在lvs 之上,它的主要功能是實現真實機的故障隔離及負載均衡器間的失敗 切換,提高系統的可用性

三、lvs+keepalived負載均衡架構圖

四、lvs+keepalived的安裝和配置

1. 配置環境

system os:centos release 5.4

software:ipvsadm-1.24.tar.gz, keepalived-1.1.19.tar.gz

2. 資訊列表

名稱ip

lvs-master

192.168.1.112

lvs-backup

192.168.1.113

lvs-vip

192.168.1.115

realserver1

192.168.1.105

realserver2

192.168.1.103

realserver3

192.168.1.104

3. 安裝lvs

分別在backup lvs和master lvs上安裝

wget

ln -s /usr/src/kernels/2.6.18-164.el5-i686/ /usr/src/linux

tar zxvf ipvsadm-1.24.tar.gz

cd ipvsadm-1.24

make && make install

4. 安裝keepalived

分別在backup lvs和master lvs上安裝

wget

tar zxvf keepalived-1.1.19.tar.gz

cd keepalived-1.1.19

./configure --prefix=/usr/local/keepalived

make

make install

cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

mkdir /etc/keepalived

5. 配置keepadlived

lvs-master的配置檔案如下

# cat /etc/keepalived/keepalived.conf

global_defs

notification_email_from [email protected]

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id lvs1 # 設定lvs的id,在乙個網路內應該是唯一的

}vrrp_sync_group test

}vrrp_instance loadbalance

virtual_ipaddress

}virtual_server 192.168.1.115 80

}real_server 192.168.1.103 80

}real_server 192.168.1.104 80 }}

lvs-backup的配置檔案如下

global_defs

notification_email_from [email protected]

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id lvs2

}vrrp_sync_group test

}vrrp_instance loadbalance

virtual_ipaddress

}virtual_server 192.168.1.115 80

}real_server 192.168.1.103 80

}real_server 192.168.1.104 80 }}

6. realserver的配置

三颱客戶端的指令碼都一樣!

cat /etc/rc.d/init.d/realserver.sh

#!/bin/bash

sns_vip=192.168.1.115

/etc/rc.d/init.d/functions

case "$1" in

start)

ifconfig lo:0 $sns_vip netmask 255.255.255.255 broadcast $sns_vip

/sbin/route add -host $sns_vip dev lo:0

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

sysctl -p >/dev/null 2>&1

echo "realserver start ok"

;;stop)

ifconfig lo:0 down

route del $sns_vip >/dev/null 2>&1

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

echo "realserver stoped"

;;*)

echo "usage: $0 "

exit 1

esac

exit 0

7. 測試

1) 首先測試各個readserver,確定各個readserver都能正常訪問,測試realserver.sh指令碼,看啟動後 能不能繫結lvs vip,停止後能不能去除繫結的vip

2) 測試lvs能否進行負載均衡**,利用ipvsadm命令檢視,如果想只當當前的 請求**到哪個伺服器去了,可以用ipvsadm加選項來檢視,其完整形式為:ipvsadm –lcn | grep 192.168.1.115

3) 停掉主lvs看lvs backup是否接管!

4) 更詳細資訊請檢視日誌,tail -f /var/log/messages

LVS Keepalived負載均衡配置

lvs一般是和keepalived一起組合使用的,雖然也可以單獨使用lvs,但配置比較繁瑣,且可用性也沒有前者高。lvs和keepalived組合使用後,配置lvs的vip和負載均衡就都在keepalived中進行配置,只是在keepalived中呼叫lvs 配置 keepalived.conf g...

LVS keepalived負載均衡 DR

lvs keepalived 負載均衡 dr 為什麼要使 用負載均衡技術?1 系統高可用性 2 系統可擴充套件性 3 負載均衡能力 1.1 lvs是什麼 lvs是linux virtual server的簡稱,也就是linux虛擬伺服器,是乙個由章文嵩博士發起的自由軟體專案,它的官方站點是www.l...

LVS Keepalived構建高可用負載均衡

lvs keepalived構建高可用負載均衡 一 位址規劃 功能 hostname ip位址 虛擬裝置名 虛擬ip director1 node0 192.168.32.30 eth0 0 192.168.32.21 director2 node1 192.168.32.31 eth0 0 192...