LVS+keepalived负载均衡 ??待续
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
背景:
??????? 隨著你的網(wǎng)站業(yè)務(wù)量的增長你網(wǎng)站的服務(wù)器壓力越來越大?需要負載均衡方案!商業(yè)的硬件如F5又太貴,你們又是創(chuàng)業(yè)型互聯(lián)公司如何有效節(jié)約成本,節(jié)省不必要的浪費?同時實現(xiàn)商業(yè)硬件一樣的高性能高可用的功能?有什么好的負載均衡可伸張可擴展的方案嗎?答案是肯定的!有!我們利用 LVS+Keepalived基于完整開源軟件的架構(gòu)可以為你提供一個負載均衡及高可用的服務(wù)器。
LVS+Keepalived 介紹
LVS
??????? LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務(wù)器,是一個虛擬的服務(wù)器集群系統(tǒng)。本項目在1998年5月由章文嵩博士成立,是中國國內(nèi)最早出現(xiàn)的自由軟件項目之一.目前有三種IP負載均衡技術(shù)(VS/NAT、VS/TUN和VS/DR);
八種調(diào)度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh)。
Keepalvied
??????? Keepalived在這里主要用作RealServer的健康狀態(tài)檢查以及LoadBalance主機和BackUP主機之間failover的實現(xiàn)
二. 網(wǎng)站負載均衡構(gòu)架圖
IP信息列表:
名稱??????????????????? IP
LVS-DR-Master??????? 61.164.122.6???????
LVS-DR-BACKUP??????? 61.164.122.7???????
LVS-DR-VIP?????????? 61.164.122.8???????
WEB1-Realserver????? 61.164.122.9???????
WEB2-Realserver????? 61.164.122.10???????
GateWay????????????? 61.164.122.1?
三. 安裝LVS和Keepalvied軟件包
1. 下載相關(guān)軟件包
2.安裝LVS和Keepalived
????????#lsmod?|grep?ip_vs#uname?-r2.6.18-53.el5PAE#ln?-s?/usr/src/kernels/2.6.18-53.el5PAE-i686/??/usr/src/linux#tar?zxvf?ipvsadm-1.24.tar.gz#cd?ipvsadm-1.24#make?&&?make?install#find?/?-name?ipvsadm??#?查看ipvsadm的位置#tar?zxvf?keepalived-1.1.15.tar.gz#cd?keepalived-1.1.15#./configure??&&?make?&&?make?install#find?/?-name?keepalived??#?查看keepalived位置????????????????#cp?/usr/local/etc/rc.d/init.d/keepalived?/etc/rc.d/init.d/#cp?/usr/local/etc/sysconfig/keepalived?/etc/sysconfig/#mkdir?/etc/keepalived#cp?/usr/local/etc/keepalived/keepalived.conf?/etc/keepalived/#cp?/usr/local/sbin/keepalived?/usr/sbin/#service?keepalived?start|stop?????#做成系統(tǒng)啟動服務(wù)方便管理.四. 配置LVS實現(xiàn)負載均衡
? 1. LVS-DR,配置LVS腳本實現(xiàn)負載均衡
2. 配置Realserver腳本.
#vi?/usr/local/sbin/realserver.sh#!/bin/bash#?description:?Config?realserver?lo?and?apply?noarp?#Written?by?:NetSeek?SNS_VIP=61.164.122.8.?/etc/rc.d/init.d/functionscase?"$1"?instart)ifconfig?lo:0?$SNS_VIP?netmask?255.255.255.255?broadcast?$SNS_VIP/sbin/route?add?-host?$SNS_VIP?dev?lo:0echo?"1"?>/proc/sys/net/ipv4/conf/lo/arp_ignoreecho?"2"?>/proc/sys/net/ipv4/conf/lo/arp_announceecho?"1"?>/proc/sys/net/ipv4/conf/all/arp_ignoreecho?"2"?>/proc/sys/net/ipv4/conf/all/arp_announcesysctl?-p?>/dev/null?2>&1echo?"RealServer?Start?OK"????????;;stop)ifconfig?lo:0?downroute?del?$SNS_VIP?>/dev/null?2>&1echo?"0"?>/proc/sys/net/ipv4/conf/lo/arp_ignoreecho?"0"?>/proc/sys/net/ipv4/conf/lo/arp_announceecho?"0"?>/proc/sys/net/ipv4/conf/all/arp_ignoreecho?"0"?>/proc/sys/net/ipv4/conf/all/arp_announceecho?"RealServer?Stoped";;*)echo?"Usage:?$0?{start|stop}"exit?1esac?????????exit?0或者采用secondary ip address方式配置
3. 啟動lvs-dr腳本和realserver啟本,在DR上可以查看LVS當前狀態(tài):
五.利用Keepalvied實現(xiàn)負載均衡和和高可用性
? 1.配置在主負載均衡服務(wù)器上配置keepalived.conf
2. BACKUP服務(wù)器同上配置,先安裝lvs再按裝keepalived,仍后配置/etc/keepalived/keepalived.conf,只需將紅色標示的部分改一下即可.
3.
keepalived.conf 配置文件,實現(xiàn)負載均衡和高可用.
4. 查看lvs服務(wù)是否正常
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddressort Scheduler Flags
? -> RemoteAddressort?????????? Forward Weight ActiveConn InActConn
TCP? 61.164.122.8:80 wrr persistent 60
? -> 61.164.122.10:80??????????? Route?? 3????? 0????????? 0
? -> 61.164.122.9:80???????????? Route?? 3????? 0????????? 0
監(jiān)聽日志,查看狀態(tài),測試LVS負載均衡及高可用性是否有效。
5.停Master服務(wù)器的keepalived服務(wù),查看BAKCUP服務(wù)器是否能正常接管服務(wù)。
四.相關(guān)參考
? 1.LVS 基礎(chǔ)知識匯總
LVS的算法介紹?????????????? http://www.linuxtone.org/viewthread.php?tid=69
學習LVS的三種轉(zhuǎn)發(fā)模式?????? http://www.linuxtone.org/viewthread.php?tid=77
LVS中的IP負載均衡技術(shù)?????? http://www.linuxtone.org/viewthread.php?tid=68
更多的請到http://www.linuxtone.org 負載均衡版查看
Keepalived 相關(guān)參考資料。
?? http://www.keepalived.org/documentation.html
轉(zhuǎn)載于:https://my.oschina.net/MrMichael/blog/294957
總結(jié)
以上是生活随笔為你收集整理的LVS+keepalived负载均衡 ??待续的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定时执行vacuum
- 下一篇: 面向对象编程──走错了路?