亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

LVS+keepalived負載均衡實戰

系統 1953 0

? --------------------- 這里非常感謝田逸老師的文檔,在我學習 lvs 的時候給了我很大的幫助!

?

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

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 ? http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

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 ? http://www.keepalived.org/software/keepalived-1.1.19.tar.gz
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 的配置文件如下

[root@linux5 ~]# cat /etc/keepalived/keepalived.conf

global_defs {

notification_email {

?????????????? ? jimo291@gmail.com ??? ? # email ? 通知

??????? ? }

??????? ? notification_email_from jimo291@gmail.com

??????? ? smtp_server 127.0.0.1

??????? ? smtp_connect_timeout 30

??????? ? router_id LVS1 ????????? ? # ? 設置 lvs id ,在一個網絡內應該是唯一的

}

vrrp_sync_group test { ?????????? ? # 設置 vrrp

group {

??????? ? loadbalance

}

}

?

vrrp_instance loadbalance {

??????? ? state MASTER ?????? ? # 設置 lvs 的狀態,報錯 MASTER BACKUP 兩種,必須大寫

??????? ? interface eth0 ???? ? # 設置對外服務的接口

??????? ? lvs_sync_daemon_inteface eth0 ?? ? # 設置 lvs 監聽的接口

??????? ? virtual_router_id 51 ???????????????????? ? # 設置虛擬路由表示

??????? ? priority 180 ??????????? ? # 設置優先級,數值越大,優先級越高

??????? ? advert_int 5 ?????????? ? # 設置同步時間間隔

authentication { ??????????????????? ? # 設置驗證類型和密碼

??????? ? auth_type PASS

??????? ? auth_pass 1111

}

virtual_ipaddress { ??????????????? ? # 設置 lvs vip

??????? ? 192.168.1.115

}

}

?

virtual_server 192.168.1.115 80 {

??????? ? delay_loop 6 ????????? ? # 健康檢查時間間隔

??????? ? lb_algo rr ?????????????? ? # 負載均衡調度算法

??????? ? lb_kind DR ??????????? ? # 負載均衡轉發規則

??????? ? #persistence_timeout 20 ? ? # 設置會話保持時間,對 bbs 等很有用

??????? ? protocol TCP ??????????????? ? # 協議

??????? ? real_server 192.168.1.105 80 {

??????? ? weight 3 ??????????????? ? # 設置權重

??????? ? TCP_CHECK {

??????? ? connect_timeout 3

??????? ? nb_get_retry 3

??????? ? delay_before_retry 3

??????? ? connect_port 80

}

}

??????? ? real_server 192.168.1.103 80 {

??????? ? weight 3

??????? ? TCP_CHECK {

??????? ? connect_timeout 3

??????? ? nb_get_retry 3

??????? ? delay_before_retry 3

??????? ? connect_port 80

}

}

??????? ? real_server 192.168.1.104 80 {

??????? ? weight 3

??????? ? TCP_CHECK {

??????? ? connect_timeout 3

??????? ? nb_get_retry 3

??????? ? delay_before_retry 3

??????? ? connect_port 80

}

}

}

?

LVS-backup 的配置文件如下

global_defs {

notification_email {

?????????????? ? jimo291@gmail.com

??????? ? }

??????? ? notification_email_from jimo291@gmail.com

??????? ? smtp_server 127.0.0.1

??????? ? smtp_connect_timeout 30

??????? ? router_id LVS2

}

vrrp_sync_group test {

group {

??????? ? loadbalance

}

}

?

vrrp_instance loadbalance {

??????? ? state BACKUP

??????? ? interface eth0

??????? ? lvs_sync_daemon_inteface eth0

??????? ? virtual_router_id 51

??????? ? priority 150

??????? ? advert_int 5

authentication {

??????? ? auth_type PASS

? ? ?????? auth_pass 1111

}

virtual_ipaddress {

??????? ? 192.168.1.115

}

}

?

virtual_server 192.168.1.115 80 {

??????? ? delay_loop 6

??????? ? lb_algo rr

??????? ? lb_kind DR

??????? ? #persistence_timeout 20

??????? ? protocol TCP

??????? ? real_server 192.168.1.105 80 {

? ?????? ? weight 3

??????? ? TCP_CHECK {

??????? ? connect_timeout 3

??????? ? nb_get_retry 3

??????? ? delay_before_retry 3

??????? ? connect_port 80

}

}

??????? ? real_server 192.168.1.103 80 {

??????? ? weight 3

??????? ? TCP_CHECK {

??????? ? connect_timeout 3

??????? ? nb_get_retry 3

??????? ? delay_before_retry 3

??????? ? connect_port 80

}

}

??????? ? real_server 192.168.1.104 80 {

??????? ? weight 3

??????? ? TCP_CHECK {

??????? ? connect_timeout 3

??????? ? nb_get_retry 3

??????? ? delay_before_retry 3

??????? ? connect_port 80

}

}

}

??????

6. ???????? ? Realserver 的配置

三臺客戶端的腳本都一樣!

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

#!/bin/bash

# description: Config realserver lo and apply noarp

?

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 {start|stop}"

?????? ? 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負載均衡實戰


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久天天躁狠狠躁夜夜中文字幕 | 国产系列欧美系列日韩系列在线 | 久久国产精品一区二区三区 | 国产免费久久精品44 | 国产成人h片视频在线观看 国产成人h综合亚洲欧美在线 | 国产成人亚洲欧美激情 | 天天做天天爱夜夜想毛片 | 亚洲精品一区二区三区 | 玖玖在线资源站 | 久久99精品国产免费观看 | 国产产一区二区三区久久毛片国语 | 桃色婷婷 | 中文字幕国产在线观看 | 久久精品爱国产免费久久 | 日本激情视频一区二区三区 | 在线观看国产情趣免费视频 | 国产精品手机视频 | 精品国产福利 | 极品专区高清在线 | 亚洲日本香蕉视频 | 国产精品日本一区二区在线播放 | 波多野结衣av1区2区3区 | 日本中文字幕在线精品 | 婷婷五月情| 成人国产在线24小时播放视频 | 久久伊人久久 | 久久99久久精品97久久综合 | 色综七七久久成人影 | 四虎精品成人免费永久 | 久青草视频在线播放 | 日韩欧美印度一级毛片 | 亚洲精品国产成人99久久 | japanese乱子另类 | 久久综合亚洲伊人色 | 香蕉视频在线观看网站 | 久久精品国产亚洲a不卡 | 在线亚洲综合 | 毛片网站在线观看 | 久久亚洲国产精品五月天 | 日日摸夜夜添夜夜添久久 | 精品久久久中文字幕二区 |