Keepalived搭建lvs負(fù)載均衡高可用_第1頁(yè)
Keepalived搭建lvs負(fù)載均衡高可用_第2頁(yè)
Keepalived搭建lvs負(fù)載均衡高可用_第3頁(yè)
Keepalived搭建lvs負(fù)載均衡高可用_第4頁(yè)
Keepalived搭建lvs負(fù)載均衡高可用_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Keepalived搭建lvs負(fù)載均衡高可用一.環(huán)境準(zhǔn)備3二KEEPALIVED+LVS 負(fù)載均衡31. 網(wǎng)絡(luò)IP規(guī)劃:32. LVS 分發(fā)有三種模式:33.LVS的8種常用調(diào)度模式:(本文采用rr模式)4三簡(jiǎn)易安裝思路(主lvs上,0)51.安裝ipvsadm 包-分發(fā)器52.keepalievd 依賴包-HA53.安裝編輯keepalievd包54.建立開(kāi)機(jī)啟動(dòng)文件65.啟動(dòng)keepalived并設(shè)置開(kāi)機(jī)自啟66.修改主配置文件:(主從稍有不同,在主上標(biāo)記從的配置)67.啟動(dòng)keepalived和ipvsadm服務(wù)并查看8四配置web服務(wù)器(本文需要兩臺(tái),配置相同)8

2、2.啟動(dòng)腳本93.開(kāi)機(jī)啟動(dòng)腳本94.為web節(jié)點(diǎn)添加網(wǎng)頁(yè)index.html95.開(kāi)啟httpd服務(wù)9五測(cè)試101.正常狀態(tài):lvs在主上工作,負(fù)載62和63102.主機(jī)宕機(jī)狀態(tài):lvs在從上工作,負(fù)載62和6310六壓力測(cè)試(webbench)11七報(bào)錯(cuò)信息(日志文件為:/var/log/messages)111.過(guò)程中出現(xiàn)過(guò)vip不能漂移11一.環(huán)境準(zhǔn)備關(guān)閉selinux、iptables修改hosts文件all 有機(jī)器的ip 與 各自的主機(jī)名對(duì)應(yīng)修改/etc/sysconfig/network主機(jī)名修改/etc/resolv.conf配置yum源配置網(wǎng)卡做好快照二KEEPALIVED+L

3、VS 負(fù)載均衡1. 網(wǎng)絡(luò)IP規(guī)劃: vip:0 主分發(fā)器 dip:0 gw: 從分發(fā)器 dip:1 gw: Realserver: web服務(wù)器dip:2gw: lo:1 0 Realserver: web服務(wù)器dip:3gw: lo:1 02. LVS 分發(fā)有三種模式:LVS是工作在TCP/IP的網(wǎng)絡(luò)層,通過(guò)控制IP來(lái)實(shí)現(xiàn)負(fù)載均衡的,所以它相對(duì)于其他負(fù)載

4、均衡如DNS域名輪流解析、應(yīng)用層負(fù)載的調(diào)度、客戶端的調(diào)度等,效率是非常高的。ipvs(IP Virtual Server)是LVS的核心,也是LVS的具體實(shí)現(xiàn)模塊,自linux內(nèi)核2.6版本起,ipvs就已經(jīng)整合到內(nèi)核中了,因此只要在編譯內(nèi)核的時(shí)候選擇 了ipvs的功能,您的Linux就支持LVS了。如果您的內(nèi)核是較舊版本,那么需要您自己進(jìn)行整合和編譯了。ipvs安裝在Director Server上面,在Director Server上虛擬一個(gè)對(duì)外訪問(wèn)的IP(VIP),用戶訪問(wèn)VIP,到達(dá)Director Server,然后Director Server根據(jù)一定的規(guī)則選擇一個(gè)Real Ser

5、ver,處理完成后返回給客戶端數(shù)據(jù)。但如何選擇具體的Real Server以及Real Server如何返回給客戶端數(shù)據(jù)呢?IPVS為此有三種機(jī)制:VS/NAT(Virtual Server via Network Address Translation,網(wǎng)絡(luò)地址翻轉(zhuǎn)技術(shù)實(shí)現(xiàn)虛擬服務(wù)器),當(dāng)請(qǐng)求到來(lái)時(shí),Director Server上處理的程序?qū)?shù)據(jù)報(bào)文中的目標(biāo)地址(VIP)改成具體的某臺(tái)Real Server,端口也改成Real Server的端口,然后把報(bào)文發(fā)給Real Server。Real Server處理完數(shù)據(jù)后,需要返回給Director Server,然后Director Ser

6、ver將數(shù)據(jù)包中的源地址和源端口改成VIP的地址和端口,最后把數(shù)據(jù)發(fā)送出去。由此可以看出,用戶的請(qǐng)求和返回都要經(jīng)過(guò)Director Server,如果數(shù)據(jù)過(guò)多,則Director Server 將不堪負(fù)重。VS/TUN(Virtual Server via IP Tunneling,IP隧道技術(shù)實(shí)現(xiàn)虛擬服務(wù)器) ,它跟VS/NAT基本一樣,但Real Server是直接返回?cái)?shù)據(jù)給客戶端,不需要經(jīng)過(guò)Director Server,這樣大大降低了Director Server的壓力。VS/DR(Virtual Server via Direct Routing,直接路由技術(shù)實(shí)現(xiàn)虛擬服務(wù)器),它通過(guò)

7、改寫(xiě)請(qǐng)求報(bào)文的MAC地址,將請(qǐng)求發(fā)送到Real Server,而Real Server 將相應(yīng)直接返回給客戶,免去了VS/TUN中的IP隧道開(kāi)銷。這種是以上三種模式中性能最高最好的,但必須要求Director Server與Real Server都有一塊網(wǎng)卡連接在同一物理網(wǎng)段上。三種工作模式的優(yōu)缺點(diǎn):vs/NAT優(yōu)點(diǎn):集群的物理服務(wù)器可以使用任何支持TCP/IP操作系統(tǒng),物理服務(wù)器可以分配Internte的保留私有地址,只有Director Server需要一個(gè)合法的IP地址。缺點(diǎn):擴(kuò)展性不足。當(dāng)服Real Server增長(zhǎng)到>=20臺(tái)時(shí)間,Director Server將成為整個(gè)系統(tǒng)的

8、瓶頸,因?yàn)樗械恼?qǐng)求包和應(yīng)答包都需要經(jīng)過(guò)Director Server。VS/TUN優(yōu)點(diǎn):Director Server只負(fù)責(zé)將請(qǐng)求包分發(fā)給物理服務(wù)器,而物理服務(wù)器將應(yīng)該報(bào)直接發(fā)給用戶,所以Director Server處理巨大的請(qǐng)求包,這種模式一臺(tái)Director Server能為超過(guò)100臺(tái)的服務(wù)器服務(wù)器服務(wù),Director Server基本不成為系統(tǒng)的瓶頸。 非常適合Internet(如Web,Webservice等)負(fù)載,因?yàn)橐话闼鼈兊恼?qǐng)求包很小,但應(yīng)答包比較大。缺點(diǎn):這種方式需要所有服務(wù)器支持IP Tunneling(IP Encapsulation)協(xié)議。VS/DR優(yōu)點(diǎn):和VS/

9、TUN一樣,Director Server只負(fù)責(zé)分發(fā)請(qǐng)求, 應(yīng)答包通過(guò)單獨(dú)的路由方法返回給客戶端。與VS/TUN相比,VS/DR不要隧道支持,因?yàn)榭梢允褂么蠖鄶?shù)的操作系統(tǒng)缺點(diǎn):要求Director Server網(wǎng)卡必須與物理網(wǎng)卡在一個(gè)物理段上。3.LVS的8種常用調(diào)度模式:(本文采用rr模式)rr 輪叫(Round Robin):調(diào)度器通過(guò)”輪叫”調(diào)度算法將外部請(qǐng)求按順序輪流分配到集群中的真實(shí)服務(wù)器上,它均等地對(duì)待每一臺(tái)服務(wù)器,而不管服務(wù)器上實(shí)際的連接數(shù)和系統(tǒng)負(fù)載。wrr 加權(quán)輪叫(Weighted Round Robin):調(diào)度器通過(guò)”加權(quán)輪叫”調(diào)度算法根據(jù)真實(shí)服務(wù)器的不

10、同處理能力來(lái)調(diào)度訪問(wèn)請(qǐng)求。這樣可以保證處理能力強(qiáng)的服務(wù)器處理更多的訪問(wèn)流量。調(diào)度器可以自動(dòng)問(wèn)詢真實(shí)服務(wù)器的負(fù)載情況,并動(dòng)態(tài)地調(diào)整其權(quán)值。lc 最少鏈接(Least Connections):調(diào)度器通過(guò)”最少連接”調(diào)度算法動(dòng)態(tài)地將網(wǎng)絡(luò)請(qǐng)求調(diào)度到已建立的鏈接數(shù)最少的服務(wù)器上。如果集群系統(tǒng)的真實(shí)服務(wù)器具有相近的系統(tǒng)性能,采用”最小連接”調(diào)度算法可以較好地均衡負(fù)載。wlc 加權(quán)最少鏈接(Weighted Least Connections):在集群系統(tǒng)中的服務(wù)器性能差異較大的情況下,調(diào)度器采用”加權(quán)最少鏈接”調(diào)度算法優(yōu)化負(fù)載均衡性能,具有較高權(quán)值的服務(wù)器將承 受較大比例的活動(dòng)連接負(fù)

11、載。調(diào)度器可以自動(dòng)問(wèn)詢真實(shí)服務(wù)器的負(fù)載情況,并動(dòng)態(tài)地調(diào)整其權(quán)值。lblc 基于局部性的最少鏈接(Locality-Based Least Connections):“基于局部性的最少鏈接”調(diào)度算法是針對(duì)目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng)。該算法根據(jù)請(qǐng)求的目標(biāo)IP 地址找出該目標(biāo)IP地址最近使用的服務(wù)器,若該服務(wù)器是可用的且沒(méi)有超載,將請(qǐng)求發(fā)送到該服務(wù)器;若服務(wù)器不存在,或者該服務(wù)器超載且有服務(wù)器處于一半的 工作負(fù)載,則用”最少鏈接” 的原則選出一個(gè)可用的服務(wù)器,將請(qǐng)求發(fā)送到該服務(wù)器。lblcr 帶復(fù)制的基于局部性最少鏈接(Locality-Based L

12、east Connections with Replication):”帶復(fù)制的基于局部性最少鏈接”調(diào)度算法也是針對(duì)目標(biāo)IP地址的負(fù)載均衡,目前主要用于Cache集群系統(tǒng)。它與LBLC算法 的不同之處是它要維護(hù)從一個(gè)目標(biāo)IP地址到一組服務(wù)器的映射,而LBLC算法維護(hù)從一個(gè)目標(biāo)IP地址到一臺(tái)服務(wù)器的映射。該算法根據(jù)請(qǐng)求的目標(biāo)IP地址找 出該目標(biāo)IP地址對(duì)應(yīng)的服務(wù)器組,按”最小連接”原則從服務(wù)器組中選出一臺(tái)服務(wù)器,若服務(wù)器沒(méi)有超載,將請(qǐng)求發(fā)送到該服務(wù)器,若服務(wù)器超載;則按”最小連 接”原則從這個(gè)集群中選出一臺(tái)服務(wù)器,將該服務(wù)器加入到服務(wù)器組中,將請(qǐng)求發(fā)送到該服務(wù)器。同時(shí),當(dāng)該服務(wù)器組有一段時(shí)間沒(méi)有

13、被修改,將最忙的服務(wù)器從服 務(wù)器組中刪除,以降低復(fù)制的程度。dh 目標(biāo)地址散列(Destination Hashing):“目標(biāo)地址散列”調(diào)度算法根據(jù)請(qǐng)求的目標(biāo)IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對(duì)應(yīng)的服務(wù)器,若該服務(wù)器是可用的且未超載,將請(qǐng)求發(fā)送到該服務(wù)器,否則返回空。sh 源地址散列(Source Hashing):“源地址散列”調(diào)度算法根據(jù)請(qǐng)求的源IP地址,作為散列鍵(Hash Key)從靜態(tài)分配的散列表找出對(duì)應(yīng)的服務(wù)器,若該服務(wù)器是可用的且未超載,將請(qǐng)求發(fā)送到該服務(wù)器,否則返回空。 三簡(jiǎn)易安裝思路(主lvs上,0)1.

14、安裝ipvsadm 包-分發(fā)器rootbadboy60peijie# rpm -ivh /mnt/Packages/ipvsadm-1.26-2.el6.x86_64.rpm rootbadboy60peijie# yum install gcc gcc-c+ openssl* zlib* libnl* -y2.keepalievd 依賴包-HA安裝 openssl yum install openssl*安裝popt yum install popt*安裝ipvsadm yum isntall ipvsadm安裝libnl-dev yum install libnl-dev*3.安裝編輯ke

15、epalievd包 /download.html 下載安裝包1.2.16版本rootbadboy60peijie# tar zxvf keepalived-1.2.16.tar.gz rootbadboy60peijie# cd keepalived-1.2.16rootbadboy60peijie# ./configure -prefix=/usr/local/keepalived.Use IPVS Framework        : YesIPVS sync daemon supp

16、ort : YesIPVS use libnl           : YesUse VRRP Framework       : YesUse VRRP VMAC           : Yes #這幾項(xiàng)必須為yes.rootbadboy60peijie# make -j 4 && make install4.建立開(kāi)機(jī)啟

17、動(dòng)文件rootbadboy60 keepalived-1.2.16# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/rootbadboy60 keepalived-1.2.16# chmod +x /etc/init.d/keepalived #別拉下這一步,否則啟動(dòng)會(huì)有問(wèn)題 因?yàn)椴皇悄J(rèn)安裝,所以有幾個(gè)地方得需要改一下A、vim /etc/init.d/keepalived15 #. /etc/sysconfig/keepalived #把原來(lái)的注銷掉16 . /usr/local/keepalived/etc

18、/sysconfig/keepalived17 export PATH="$PATH:/usr/local/keepalived/sbin" #添加16/17兩行注:#將 keepavlied 主程序所在路徑導(dǎo)入到環(huán)境變量 PATH 中B、vim /usr/local/keepalived/etc/sysconfig/keepalived改:14 KEEPALIVED_OPTIONS="-D"為:14 KEEPALIVED_OPTIONS="-D -f /usr/local/keepalived/etc/keepalived/keepalive

19、d.conf"5.啟動(dòng)keepalived并設(shè)置開(kāi)機(jī)自啟rootbadboy60 keepalived-1.2.16#service keepalived startrootbadboy60 keepalived-1.2.16#chkconfig keepalived onrootbadboy60 keepalived-1.2.16#chkconfig -list keepalivedkeepalived 0:關(guān)閉1:關(guān)閉2:啟用3:啟用4:啟用5:啟用6:關(guān)閉6.修改主配置文件:(主從稍有不同,在主上標(biāo)記從的配置)rootbadboy60keepalived-1.2.16#vim

20、/usr/local/keepalived/etc/keepalived/keepalived.conf global_defs notification_email rootlocal -收件人 notification_email_from rootlocalhost-發(fā)件人 smtp_server localhost -smtp服務(wù)器地址 smtp_connect_timeout 30-30秒超時(shí) router_id 60-主備兩節(jié)點(diǎn)不能相同(從為61)vrrp_instance ha1 -實(shí)例名主備名可以相同或者不同 state MASTER-標(biāo)識(shí)為主節(jié)點(diǎn)(從為BACKUP) inte

21、rface eth0 virtual_router_id 51-VRRP組名主備節(jié)點(diǎn)ID必須相同 priority 100-主備節(jié)點(diǎn)優(yōu)先級(jí) 主必須大于備節(jié)點(diǎn)(從為90) advert_int 1-組播時(shí)間 authentication auth_type PASS-認(rèn)證類型 auth_pass 1111-認(rèn)證密碼 virtual_ipaddress 0-漂移VIP地址 virtual_server 0 80 -VIP 地址 delay_loop 6-Keepalived 多長(zhǎng)時(shí)間監(jiān)測(cè)一次 RS lb_algo rr-輪循方式 lb_kind DR-L

22、VS 模式 nat_mask persistence_timeout 0.3-單位分鐘LVS分發(fā)時(shí) 3秒切換一次節(jié)點(diǎn) protocol TCP real_server 2 80 -提供web服務(wù)節(jié)點(diǎn)的IP weight 1-權(quán)重 TCP_CHECK connect_timeout 3-也歡迎呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀呀、 real_server 3 80 -第二節(jié)點(diǎn)參數(shù)意思同上 weight 1 TCP_CHECK connect_timeout 3 nb_get_retry 3 dela

23、y_before_retry 3 connect_port 80 7.啟動(dòng)keepalived和ipvsadm服務(wù)并查看rootbadboy60keepalived-1.2.16# /etc/init.d/ipvsadm startrootbadboy60keepalived-1.2.16# /etc/init.d/keepalived startrootbadboy60keepalived-1.2.16# Chkconfig ipvsadm onrootbadboy60keepalived-1.2.16# Chkconfig keepalived onrootbadboy60keepaliv

24、ed-1.2.16# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet /8 scope host lo inet 0/32 brd 0 scope global lo:0 inet6 :1/128 scope host valid_lft forever preferred_lft forever2: e

25、th0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:59:7f:09 brd ff:ff:ff:ff:ff:ff inet 0/24 brd 55 scope global eth0 inet 0/32 scope global eth0 inet6 fe80:20c:29ff:fe59:7f09/64 scope link valid_lft forever p

26、referred_lft foreverrootbadboy60keepalived-1.2.16# ipvsadm -L -n (在web節(jié)點(diǎn)配置好之后會(huì)顯示如下)IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 0:80 rr persistent 50 -> 2:80 Route 1 3 0 ->

27、; 3:80 Route 1 0 29 至此,主lvs上keepalived和lvs均已搭建完成,從上只有keepalived的配置文件稍有不同,在主的配置文件中已經(jīng)表明四配置web服務(wù)器(本文需要兩臺(tái),配置相同)1.編寫(xiě)一下腳本并執(zhí)行(主要工作就是在web節(jié)點(diǎn)上添加lo:0,配置位vip:0,然后關(guān)閉arp轉(zhuǎn)發(fā)功能)rootbadboy62 peijie# vim /etc/init.d/lvsrsdr #寫(xiě)入以下內(nèi)容#!/bin/bash#description : start realserverVIP=0source /

28、etc/init.d/functionscase "$1" instart)echo " start LVS of RealServer DR"/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 55 up/sbin/route add -host $VIP dev lo:0echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/

29、lo/arp_announceecho "1" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/all/arp_announce;stop)/sbin/ifconfig lo:0 downecho "close LVS of RealServer DR"echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "0" >/proc

30、/sys/net/ipv4/conf/lo/arp_announceecho "0" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "0" >/proc/sys/net/ipv4/conf/all/arp_announce;*)echo "Usage: $0 start|stop"exit 1Esac2.啟動(dòng)腳本rootbadboy62 peijie# chmod +x /etc/init.d/lvsrsdrrootbadboy62 peijie# /etc/init.d/lvsrsdr startrootbadboy62 peijie# ifconfiglo:1 Link encap:Local Loopbackinet addr:04 Mask:55UP LOOPBACK RUNNING MTU:16436 Metric:13.開(kāi)機(jī)啟動(dòng)腳本rootbadboy62 peijie# echo '/etc/init.d/lvsrsdr start' >> /etc/rc.localrootbadboy62 peijie# echo '/e

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論