分布式web框架_操作手冊(cè)v0_第1頁(yè)
分布式web框架_操作手冊(cè)v0_第2頁(yè)
分布式web框架_操作手冊(cè)v0_第3頁(yè)
分布式web框架_操作手冊(cè)v0_第4頁(yè)
分布式web框架_操作手冊(cè)v0_第5頁(yè)
已閱讀5頁(yè),還剩39頁(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、CTG-BSS_分布式 WEB 框架操作手冊(cè)V0.42015-5-20文檔版本修訂歷史序號(hào)修訂摘要版本號(hào)修訂人修訂時(shí)間1新建V0.12015-05-192修改V0.2、2015-05-203修改-增加LVS 的部署模式以及依賴包的來(lái)源V0.32015-06-154對(duì)于常見易忽略的部署做了重點(diǎn)數(shù)據(jù)并增加部分依賴包的來(lái)源V0.42015-07-235678910目錄1. 引言..1.5.背景5目的5術(shù)語(yǔ)與縮寫5閱讀建議5參考資料52. 依賴環(huán)境說(shuō)明6ZOOKEEPER6分布式緩存63. LVS-四層負(fù)載均衡的安裝和配置6普通版 LVS 安裝6安裝 ipvsadm6安裝

2、 keepalived7ALI-LVS 安裝8升級(jí)內(nèi)核版本8SERVICE 配置9配置9網(wǎng)絡(luò)及系統(tǒng)參數(shù)設(shè)置10轉(zhuǎn)發(fā)模式...DR 模式13FULLNAT 模式16NAT 模式20TUNE 模式待補(bǔ)充223.6. 部署模式..3.主備模式22主主模式25集群模式待補(bǔ)充304. TENGINE-七層負(fù)載均衡的安裝和配置304.1. 安裝30安裝基礎(chǔ)環(huán)境30安裝 tengine314.2. 配置325. VARNISH-網(wǎng)頁(yè)緩存的安裝和配置335.1. 安裝3..3.安裝基礎(chǔ)環(huán)境33安裝 va

3、rnish34配置啟停. 345.2. 配置346. 探測(cè)模塊安裝和配置3.6.3.安裝基礎(chǔ)環(huán)境36安裝36配置367. SES共享使用與說(shuō)明387.1.安裝38修改倉(cāng)庫(kù)地址38獲取 jar 包387.2. 配置387.3. 使用398. 文件中心使用與說(shuō)明398.1. 安裝39修改倉(cāng)庫(kù)地址39獲取 jar 包408.2. 配置408.3. 使用419. KETTY 容器使用與說(shuō)明419.1. 安裝419.2. 配置4...系統(tǒng)環(huán)境變量42local 配置42應(yīng)用的發(fā)布42應(yīng)用啟停4310.附錄4310.1.依賴包說(shuō)明431.引言1.

4、1.背景1.2.目的本文主要為分布式WEB 框架的使用提供指導(dǎo),對(duì)分布式 WEB 專題各個(gè)組件的安裝和配置提供參考,主要對(duì)象為以下角色:配置管理,開發(fā)、測(cè)試。1.3. 術(shù)語(yǔ)與縮寫DS:DirectorServer,LVS(或 ali-lvs)中 ipvsadm 端服務(wù)器的簡(jiǎn)稱,對(duì)流量進(jìn)行控制分發(fā);RS:RealServer,LVS(或 ali-lvs)、Tengine(或 nginx)、Varnish 中真實(shí)服務(wù)器的簡(jiǎn)稱;VIP:虛擬 IP 地址(Virtual IP) 是一個(gè)不與特定計(jì)算機(jī)或一個(gè)計(jì)算機(jī)中的網(wǎng)絡(luò)接口卡(NIC)相連的 IP 地址。數(shù)據(jù)包被發(fā)送到這個(gè) VIP 地址,但是所有的數(shù)據(jù)

5、還是經(jīng)過(guò)真實(shí)的網(wǎng)絡(luò)接口,本文一般指對(duì)外的 IP 地址。1.4. 閱讀建議1.5. 參考資料2. 依賴環(huán)境說(shuō)明2.1. zookeeperzookeeper 是探測(cè)模塊的基礎(chǔ)環(huán)境,所有應(yīng)用的存活狀態(tài)都是基于 zookeeper 的節(jié)點(diǎn)狀態(tài)。當(dāng)應(yīng)用性能需要擴(kuò)展時(shí),只需啟用相應(yīng)數(shù)量的應(yīng)用實(shí)例,探測(cè)模塊根據(jù)應(yīng)用實(shí)例在zookeeper 的信息,自動(dòng)將實(shí)例加入到集群。2.2. 分布式緩存ses共享的介質(zhì)是緩存,在啟用 ses共享前應(yīng)確保緩存能正常對(duì)外提供服務(wù),目前ses共享僅支持基于 redis 接口的緩存服務(wù)。3. LVS-四層負(fù)載均衡的安裝和配置3.1. 普通版 LVS 安裝普通版LVS 相對(duì)于Al

6、i-LVS,不具備四層負(fù)載集群功能,在生產(chǎn)環(huán)境下,通常配合keepalived一起進(jìn)行主主或主備的方式提供服務(wù),普通版本LVS 由發(fā)布、原生的LVS。一般情況下,普通版 LVS 在 linux 內(nèi)核 2.6 版本以上,不需要升級(jí)內(nèi)核版本,它已經(jīng)是系統(tǒng)的一部分。3.1.1. 安裝 ipvsadm1.檢查 kernel 是否已經(jīng)支持LVS 的 ipvs 模塊:modprobe -l |grpvs如果有類似下面的輸出,表明系統(tǒng)內(nèi)核已經(jīng)默認(rèn)支持了 IPVS 模塊。接著就可以安裝 IPVS管理了。kernel/net/netfilter/ipvs/ip_vs.ko kernel/net/netfilte

7、r/ipvs/ip_vs_rr.ko kernel/net/netfilter/ipvs/ip_vs_wrr.ko kernel/net/netfilter/ipvs/ip_vs_lc.ko kernel/net/netfilter/ipvs/ip_vs_wlc.ko kernel/net/netfilter/ipvs/ip_vs_lblc.ko在 Director Serve 上安裝 IPVS 管理【方法 1】tar zxvf ipvsadm-1.26.tar.gz ipvsadm-1.26make &make install注意:在 make 時(shí)可能會(huì)出現(xiàn)錯(cuò)誤編譯信息,這是由于編譯程序找不

8、到對(duì)應(yīng)內(nèi)核的原因,按照如下操作就可以正常編譯:ln -s /usr/src/kernels/2.6.9-42.EL-i686/usr/src/linux【方法 2】yum install -y ipvsadm驗(yàn)證安裝成功roottest1 app# ipvsadm help如果看到幫助提示,表明 IPVS 已經(jīng)成功安裝。3.1.2. 安裝 keepalived【依賴環(huán)境】服務(wù)器系統(tǒng):Red Hat 6.1 64bitLinux local00 2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40 EDT 2011 x86_64x86_64

9、x86_64 GNU/Linuxgcc 工具:rpm -qa|grep -i gcc環(huán)境配置:gcc make openssl openssl-devel kernel-devel popt-dev【安裝步驟】準(zhǔn)備安裝包keepalived-1.2.13.tar.gz(wget)1)2)3)4)5)Keepalivedtar -zxvf keepalived-1.2.13.tar.gzcd keepalived-1.2.13./configure -prefix=/home/ make & make install/keepalivedkernel/net/netfilter/ipvs/ip_

10、vs_lblcr.ko kernel/net/netfilter/ipvs/ip_vs_dh.ko kernel/net/netfilter/ipvs/ip_vs_sh.ko kernel/net/netfilter/ipvs/ip_vs_sed.ko kernel/net/netfilter/ipvs/ip_vs_nq.ko kernel/net/netfilter/ipvs/ip_vs_ftp.ko3.2. Ali-LVS 安裝Ali-LVS 是普通版LVS 的升級(jí)版,相對(duì)于普通版LVS 主要增加LVS 集群功能以及在原有三種工作模式(DR、NAT、TUN)新增了 FULLNAT 模式,該

11、版對(duì)環(huán)境要比價(jià)苛刻:只適應(yīng)于 linux內(nèi)核版本為 2.6.32。以下所有的配置來(lái)源于 lvs 官網(wǎng): FULLNAT and SYNPROXY3.2.1. 升級(jí)內(nèi)核版本. DirectServer 內(nèi)核版本升級(jí)查看本地是否安裝 ncurses,rpm -qa ncurses,若沒有安裝則執(zhí)行命令:yum ncurses-develwget1)install-y2)3)4)5)6)tar -zxvf Linux-2.6.32-220.23.1.el6.x86_64.lvs.src.tar.gzcd linux-2.6.32-220.23.1.el6.x86_64.lvs/ make mrpro

12、permakeconfig選擇:“savemake -jternate Configuration file”“ok”“Exit”7)8)9)10)11)12)13)make modules_installmake install修改文件/boot/grub/.lst,將 default=0/ default=1 改為 default=1/ default=0當(dāng)前內(nèi)核版本,uname -a重啟 reboot查看修改后的內(nèi)核版本,看是否變化成功. RealServer 內(nèi)核版本升級(jí)1)wget2)3)tar -zxvf Linux-2.6.32-220.23.1.el6.x86_64.rs.sr

13、c.tar.gz其他步驟參加上一章節(jié)。. LVS Tools (keepalived/ipvsadm/quaage)LVS 配套工具有 3 類:keepalived:保證 lvs 主備、對(duì) lvs、vip 進(jìn)行設(shè)置ipvsadm:directserver令行工具,一般情況下 keepalived 內(nèi)部自動(dòng)調(diào)用 lvs 命令,keepalived 和 ipvs 命令行選擇其一即可,使用 keepalived。 quaage:wgettar -zxvf Lvs-fullnat-synproxy.tar.gz mkdir lvstoolscp lvs-fullnat-synproxy/lvs-too

14、ls.tar.gz lvstools/ cd lvstools/tar -zxvf lvs-tools.tar.gzcd tools/1)2)3)4)5)6)7). keepalived install接上一章節(jié):6)7)8)9)cd keepalived/yum install openssl-devel yum install popt-devel./configure-with-kernel-dir=/lib/modules/uname -r/build -prefix=/usr/local必須攜帶紅色標(biāo)記make & make install令選型。10)service 配置11)cd

15、 ./keepalivedcp /usr/local/sbin/keepalived /usr/bin/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/注意:此項(xiàng)配置后,會(huì)使 keepalived 的可執(zhí)行文件、配置文件等發(fā)生變化,使用keepalived start|stop,默認(rèn)會(huì)從以下地方搜索文件:可執(zhí)行文件位置變?yōu)?usr/bin/keepalived配置文件變?yōu)?etc/keepalived/keepalived.co

16、nfservice. ipvsadm install1)2)3)4)cd ./keepalived/keepalived/limakecd ./././ipvsadm/ make & make installvs-2.6/3.3. 配置普通版 LVS 和 Ali-LVS 都可以分直接配置和基于 keepalived 的配置,兩者選擇其一即可。下面大概說(shuō)明直接配置的主要步驟和keepalived 配置文件主要配置項(xiàng)的說(shuō)明。3.3.1. 網(wǎng)絡(luò)及系統(tǒng)參數(shù)設(shè)置. DS 配置首先在 Director Server 上綁定一個(gè)虛擬 IP(也叫 VIP),此 IP 用于對(duì)外提供服務(wù)。.1.直接配置參考如下步

17、驟,根據(jù)機(jī)器的實(shí)際,需要對(duì)參數(shù)做相應(yīng)的調(diào)整在出口網(wǎng)卡綁定了一個(gè)虛擬設(shè)備 ethx:0;設(shè)置 VIP: ifconfig ethx:0 VIP broadcast VIP netmask 55 up;然后給虛擬設(shè)備 ethx:0 指定一條路由,執(zhí)行如下指令:route add -host VIP dev ethx:0.2.Keepalived 配置找到 Keepalived 配置文件(按照操作說(shuō)明安裝 Keepalived 見 第 11 步,配置文件的目錄為/etc/keepalived/Keepalived.conf)以主備的方式說(shuō)明 keepalived 的配置:主節(jié)點(diǎn)配置如下:global

18、_defs router_id LVSvrrp_instance VI_1 s e MASTER #注: BACKUP 將根據(jù)優(yōu)先級(jí)決定主或從;MASTER 指定為主;SLAVE 指定為從.若一方為 MASTER,另一方為 SLAVE,則表示雙機(jī)熱備(即一主一從).erface bond0 #當(dāng)前服務(wù)器網(wǎng)卡virtual_router_id 51#確保和 server2 相同,同網(wǎng)內(nèi)不同集群此項(xiàng)必須不同,否則發(fā)生priority 100#此處 server2 上設(shè)置為 50advert_1nopreempt#不搶占,只在 priority 高的 server1 上設(shè)置,server2 上此項(xiàng)注

19、釋掉authentication auth_type PASS auth_pass 1111virtual_ipaddress 00備節(jié)點(diǎn)配置如下:global_defs router_idLVSvrrp_instance VI_1 s e BACKUP #注: BACKUP 將根據(jù)優(yōu)先級(jí)決定主或從;MASTER 指定為主;SLAVE 指定為從.若一方為 MASTER,另一方為 SLAVE,則表示雙機(jī)熱備(即一主一從).erface eth1virtual_router_id 51#確保和 server2 相同,同網(wǎng)內(nèi)不同集群此項(xiàng)必須不同,否則發(fā)生priority 50#此處 server2

20、上設(shè)置為 50advert_1!nopreempt#不搶占,只在 priority 高的 server1 上設(shè)置,server2 上此項(xiàng)注釋掉authentication auth_type PASS auth_pass 1111virtual_ipaddress 00virtual_server 00 3306 delay_loop 2virtual_server 00 3306 delay_loop 2 #每個(gè) 2 秒檢查一次 real_server 狀態(tài)lb_algo wrr#LVS 算法lb_kind DR#LVS 轉(zhuǎn)發(fā)模式 persistence_timeout 60 #會(huì)話保持時(shí)間

21、 protocol TCPreal_server 00 3306 weight 3 TCP_CHECK connect_timeout 10#連接超時(shí)時(shí)間nb_get_retry 3 #重連次數(shù)delay_before_retry 3#重連間隔時(shí)間connect_port 3306 #健康檢查端口【關(guān)鍵參數(shù)詳解】1.virtual_server 模塊delay_loop 2 #每個(gè) 2 秒檢查一次 real_server 狀態(tài)lb_algo wrr#LVS 算法,共八種lb_kind DR#LVS 轉(zhuǎn)發(fā)模式,共四種:DR/NAT/TUNNEL/FNAT persistence_timeout

22、60 #會(huì)話保持時(shí)間protocol TCP2.real_server 模塊#權(quán)重weight 3TCP_CHECK #該模塊為健康檢查設(shè)置 connect_timeout 10 #連接超時(shí)時(shí)間nb_get_retry 3 #重連次數(shù)delay_before_retry 3 #重連間隔時(shí)間connect_port 3306 #健康檢查端口. RS 配置以 DR 模式為例:1)回環(huán)設(shè)備上綁定了一個(gè)虛擬 IP 地址,ifconfig lo:0 00 netmask 55 up增加路由 Director Server 上的虛擬 IP 保持互通,route add -host 00 dev lo:0了

23、本機(jī)的 ARP 請(qǐng)求。2)lb_algo wrr lb_kind DRpersistence_timeout 60 protocol TCPreal_server 01 3306 #server2 上此處改為01(即 server2 本機(jī) ip)weight 3notify_down /etc/keepalived/.sh TCP_CHECK connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 3306echo 1 /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 2 /proc/s

24、ys/net/ipv4/conf/lo/arp_announceecho 1 /proc/sys/net/ipv4/conf/all/arp_ignoreecho 2 /proc/sys/net/ipv4/conf/all/arp_announce sysctl p. 網(wǎng)絡(luò)參數(shù)調(diào)優(yōu)根據(jù)機(jī)器配置不同參數(shù)略有差別,參數(shù)示例:net.ipv4.ip_forward = 0net.ipv4.conf.default.rp_filter = 1net.ipv4.conf.default.accept_source_route = 0kernel.sysrq = 0kernel.core_uses_net

25、.ipv4.tcp_syn= 1s = 1net.bridge.bridge-nf-call-ip6tables = 0net.bridge.bridge-nf-call-iptables = 0net.bridge.bridge-nf-call-arptables = 0kernekernegmnb = 65536gmax = 65536kernel.shmmax = 68719476736kernel.shmall =net.ipv4.tcp_syns = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_f

26、in_timeout = 30net.ipv4.tcp_keepalive_time = 1200net.ipv4.tcp_max_syn_backlog = 50000net.ipv4.tcp_max_tw_buckets = 50000net.ipv4.ip_local_port_range = 10240610003.4. 轉(zhuǎn)發(fā)模式3.4.1. DR 模式DR 模式是 ALi-LVS 所有模式中效率最高的模式,其特點(diǎn)是只對(duì)請(qǐng)求進(jìn)行轉(zhuǎn)發(fā),響應(yīng)由RS 直接返回不再經(jīng)過(guò) DS,DR 模式對(duì)性能幾乎無(wú)損耗,但 DR 模式對(duì)網(wǎng)絡(luò)要求較高,要求 DS和 RS 必須在同一局域網(wǎng)內(nèi),并能互相響應(yīng)對(duì)方的

27、ARP 請(qǐng)求。. DS 配置.1.直接配置【DirectServer 配置】1、配置 VIPifconfig eth0:0 VIP broadcast VIP netmask 55 up注:eth0:0 可根據(jù)實(shí)際出口網(wǎng)卡的名稱設(shè)置2、配置 DirectorServer 網(wǎng)卡參數(shù)echo 1 /proc/sys/net/ipv4/ip_forward注:當(dāng)系統(tǒng)有多網(wǎng)卡,并有網(wǎng)卡 1 轉(zhuǎn)網(wǎng)卡 2,實(shí)現(xiàn)網(wǎng)卡數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),開啟此參數(shù),否則,無(wú)需開啟。3、配置轉(zhuǎn)發(fā)規(guī)則ipvsadm -a -t $VIP:$RPORT -r $RIP1:$RPORT -g參數(shù)說(shuō)明:-a:新增一條轉(zhuǎn)發(fā)規(guī)則-t:基于 TCP

28、 協(xié)議-r:RR 算法-g:DR 模式(直接路由模式).2.Keepalived 配置【Keepalived 對(duì)應(yīng)配置】global_defs router_id LVSvrrp_instance VI_1 s e MASTER # 注: BACKUP 將根據(jù)優(yōu)先級(jí)決定主或從;MASTER 指定為主;SLAVE 指定為從.若一方為MASTER,另一方為SLAVE,則表示雙機(jī)熱備(即一主一從).erface etho #當(dāng)前服務(wù)器網(wǎng)卡virtual_router_id 51 #確保和 server2 相同,同網(wǎng)內(nèi)不同集群此項(xiàng)必須不同,否則發(fā)生. RS 配置【RealServer 配置】1、配置

29、DirectorServer 網(wǎng)卡參數(shù)echo 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_announce 2、配置回環(huán)地址ifconfig lo:0 VIP netmask 55 uproute add -host 1VIP dev lo:0priority 100#此處 server2 上設(shè)置為 5

30、0advert_1nopreempt#不搶占,只在 priority 高的 server1 上設(shè)置,server2 上此項(xiàng)注釋掉authentication auth_type PASS auth_pass 1111virtual_ipaddress 00 #VIPvirtual_server 00 3306 #轉(zhuǎn)發(fā)規(guī)則 delay_loop 2 #每個(gè) 2 秒檢查一次 real_server 狀態(tài) lb_algo wrr#LVS 算法lb_kind DR#LVS 轉(zhuǎn)發(fā)模式persistence_timeout 60 #會(huì)話保持時(shí)間protocol TCP #轉(zhuǎn)發(fā)協(xié)議類型,有 tcp 和 ud

31、p 兩種real_server 00 3306 weight 3TCP_CHECK #TCP_CHECK 和 UDP_CHECKconnect_timeout 10#連接超時(shí)時(shí)間nb_get_retry 3 #重連次數(shù)delay_before_retry 3#重連間隔時(shí)間connect_port 3306 #健康檢查端口3.4.2. FULLNAT 模式FULLNAT 是基于 NAT 的改良版,其實(shí)現(xiàn)主要:引入 local address(內(nèi)網(wǎng) ip 地址),cip-vip 轉(zhuǎn)換為 lip-rip,而 lip 和 rip 均為 IDC 內(nèi)網(wǎng) ip,可以跨 vlan 通訊; IN/OUT 的數(shù)據(jù)

32、流全部經(jīng)過(guò)LVS,為了保證帶寬,采用萬(wàn)兆(10G)網(wǎng)卡; FULLNAT 轉(zhuǎn)發(fā)模式,當(dāng)前僅支持 TCP協(xié)議對(duì)系統(tǒng)版本要求較高內(nèi)核必須為 2.6.32。. DS 配置【安裝系統(tǒng)和工具】# 參見 lvs-fullnat-synproxy.tar 中的 README,包括 LVS kernel 和keepalived 等的編譯方法;【內(nèi)核啟動(dòng)參數(shù)】在 kernel 一行中,添加“nohz=off ”注:如果不關(guān)閉 nohz,大壓力下 CPU0 可能會(huì)消耗過(guò)高,壓力不均勻;【Sysctl 配置】路徑:/etc/sysctl.conf# configure for lvsdev_max_backlog

33、= 500000【配置網(wǎng)卡參數(shù)】路徑:/etc/rc.local關(guān)閉網(wǎng)卡LRO 和 GRO# ethtool -K eth0 gro off# ethtool -K eth0 lro off【關(guān)閉系統(tǒng)參數(shù)】路徑:/etc/rc.local關(guān)閉 irqbalance# service irqbalantop# chkconfig -level 2345 irqbalance off【LocalAddress 配置】路徑:/etc/rc.localLocal address 綁定到內(nèi)網(wǎng)(下聯(lián))網(wǎng)卡上ip addr add /32 dev eth1ip addr add /32 dev eth1ip

34、 addr add /32 dev eth1ip addr add /32 dev eth1ip addr add /32 dev eth1此步驟不配置,默認(rèn)使用本機(jī) IP?!綤eepalived.conf】啟動(dòng):service keepalived start更新:service keepalived reload停止:service keepalived stopKeepalived 的配置包含 2 個(gè)文件:說(shuō)明:一個(gè)集群內(nèi)的所有LVS 配置文件基本相同,區(qū)別的地方見紅域主配置文件keepalived.conf路徑:/etc/keepalived/keepalived.conf! Conf

35、iguration File for keepalived global_defs #notification_ #notification_from#smtp_server #smtp_connect_timeout 40local_address_group laddr_g1 業(yè)務(wù)配置文件 “業(yè)務(wù)名.conf”路徑:/etc/keepalived/ server.confvirtual_server_group server 80/vip1 80/vip2vrrp_instance VI_1 se MASTER/BACKUPerface eth0 virtual_router_id 200

36、 priority 150/90 advert_1 authentication auth_type PASS auth_pass 123456virtual_ipaddress ! include virtual server configure file include server.confvirtual_server group server delay_loop 7lb_algo rr lb_kind FNAT protocol TCP syn_proxyladdr_group_name laddr_g1/* healthcheck for L4 */ real_server 80

37、weight 100 inhibit_on_failureTCP_CHECK connect_timeout 5/* healthcheck for L7 */ real_server 80 weight 100 inhibit_on_failure HTTP_GET url path /index.html sus_code 200connect_timeout 3【綁定網(wǎng)卡中斷】# set_irq_affinity eth0 #參見附錄,該是 ixgbe/igb driver 網(wǎng)卡. RS 配置【安裝系統(tǒng)】# 參見 lvs-fullnat-synproxy.tar 中的 README,其中

38、有 TOA(RS 內(nèi)核)的 patch;【加載 TOA 模塊】命令:# modprobe toa# vim /etc/rc.local添加 modproble toa3.4.3. NAT 模式NAT 模式的網(wǎng)絡(luò)結(jié)構(gòu)呈現(xiàn)為一種類似的私有網(wǎng)結(jié)構(gòu),通過(guò) DS,將 RS 和互聯(lián)網(wǎng)隔離開來(lái),RS 無(wú)法和客戶端直接通信,不論是請(qǐng)求數(shù)據(jù)還是應(yīng)答數(shù)據(jù),都需要經(jīng)過(guò)負(fù)載均衡器,DS 需要對(duì)進(jìn)入和流出集群的網(wǎng)絡(luò)包進(jìn)行改寫包頭地址的工作,在負(fù)荷比較重的時(shí)候會(huì)影響整個(gè)集群的性能,負(fù)載均衡器容易成為瓶頸。NAT 模式配置最簡(jiǎn)單,只需在 DS 或 Keepalived 配置即可,對(duì) RS 透明。注:因?yàn)槭褂?NAT 模式,

39、虛擬 ip 與內(nèi)網(wǎng) IP 必須屬于兩個(gè)不同網(wǎng)段,若所屬同一網(wǎng)段則運(yùn)行以下命令:route add -host $c nt_ip gw $ds_ipnb_get_retry 2delay_before_retry 5. 直接設(shè)置【DirectServer 配置】1、配置 VIPifconfig eth0:0 VIP broadcast VIP netmask 55 up注:eth0:0 可根據(jù)實(shí)際出口網(wǎng)卡的名稱設(shè)置2、配置 DirectorServer 網(wǎng)卡參數(shù)echo 1 /proc/sys/net/ipv4/ip_forward注:當(dāng)系統(tǒng)有多網(wǎng)卡,并有網(wǎng)卡 1 轉(zhuǎn)網(wǎng)卡 2,實(shí)現(xiàn)網(wǎng)卡數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)

40、,開啟此參數(shù),否則,無(wú)需開啟。3、配置轉(zhuǎn)發(fā)規(guī)則ipvsadm -a -t $VIP:$RPORT -r $RIP1:$RPORT -m參數(shù)說(shuō)明:-a:新增一條轉(zhuǎn)發(fā)規(guī)則-t:基于 TCP 協(xié)議-r:RR 算法-m:NAT 模式(直接路由模式). Keepalived 配置【Keepalived 對(duì)應(yīng)配置】global_defs router_id LVSvrrp_instance VI_1 s e MASTER # 注: BACKUP 將根據(jù)優(yōu)先級(jí)決定主或從;MASTER 指定為主;SLAVE 指定為從.若一方為MASTER,另一方為SLAVE,則表示雙機(jī)熱備(即一主一從).erface eth

41、o #當(dāng)前服務(wù)器網(wǎng)卡virtual_router_id 51#確保和 server2 相同,同網(wǎng)內(nèi)不同集群此項(xiàng)必須不同,否則發(fā)生priority 100#此處 server2 上設(shè)置為 50advert_1nopreempt#不搶占,只在 priority 高的 server1 上設(shè)置,server2 上此項(xiàng)注釋3.4.4. TUNE 模式待補(bǔ)充3.5. 部署模式本章主要對(duì)常用的部署模式做簡(jiǎn)單的介紹,因 LVS 的模式和算法比較多,本章主要選取 DR 模式和 RR 算法作為舉例。3.5.1. 主備模式主備模式的情況下,只需要一個(gè)對(duì)外的 VIP 即可,使用 Keepalived 作為高可用工具,

42、LVS的安裝可以參考上面的章節(jié),下面對(duì)配置的過(guò)程和算法梳理一下。掉authentication auth_type PASS auth_pass 1111virtual_ipaddress 00virtual_server 00 3306 delay_loop 2 #每個(gè) 2 秒檢查一次 real_server 狀態(tài)lb_algo wrr#LVS 算法lb_kind NAT#LVS 轉(zhuǎn)發(fā)模式persistence_timeout 60 #會(huì)話保持時(shí)間protocol TCP #轉(zhuǎn)發(fā)協(xié)議類型,有 tcp 和 udp 兩種real_server 00 3306 weight 3TCP_CHECK

43、#TCP_CHECK 和 UDP_CHECKconnect_timeout 10#連接超時(shí)時(shí)間nb_get_retry 3 #重連次數(shù)delay_before_retry 3#重連間隔時(shí)間connect_port 3306 #健康檢查端口1、安裝 LVS2、在主備機(jī)安裝 Keepalived3、配置 Keepalived4、啟動(dòng)【Keepalived 配置參考】主節(jié)點(diǎn):global_defs router_id LVSvrrp_instance VI_1 se MASTER#注: BACKUP 將根據(jù)優(yōu)先級(jí)決定主或從;MASTER 指定為主;SLAVE 指定為從.若一方為 MASTER,另一方

44、為 SLAVE,則表示雙機(jī)熱備(即一主一從).erfaceetho #當(dāng)前服務(wù)器網(wǎng)卡virtual_router_id 51#確保和 server2 相同,同網(wǎng)內(nèi)不同集群此項(xiàng)必須不同,否則發(fā)生priority 100#此處備節(jié)點(diǎn)上設(shè)置為 50advert_1nopreempt#不搶占,只在 priority 高的 server1 上設(shè)置,server2 上此項(xiàng)注釋掉authentication auth_type PASS auth_pass 1111virtual_ipaddress 23 #VIP 地址virtual_server 23 3306 #對(duì)于 lvs 的轉(zhuǎn)發(fā)規(guī)則 delay_l

45、oop 2 #每個(gè) 2 秒檢查一次 real_server 狀態(tài) lb_algo wrr #LVS 算法lb_kind DR#LVS 轉(zhuǎn)發(fā)模式persistence_timeout 60 #會(huì)話保持時(shí)間protocol TCP #轉(zhuǎn)發(fā)協(xié)議類型,有 tcp 和 udp 兩種real_server 8 3306 weight 3TCP_CHECK #TCP_CHECK 和 UDP_CHECKconnect_timeout 10#連接超時(shí)時(shí)間nb_get_retry 3 #重連次數(shù)delay_before_retry 3#重連間隔時(shí)間connect_port 3306 #健康檢查端口,對(duì)于轉(zhuǎn)發(fā)規(guī)則端

46、口備節(jié)點(diǎn):global_defs router_id LVSvrrp_instance VI_1 se BACKUP#注: BACKUP 將根據(jù)優(yōu)先級(jí)決定主或從;MASTER 指定為主;SLAVE 指定為從.若一方為 MASTER,另一方為 SLAVE,則表示雙機(jī)熱備(即一主一從).erfaceetho #當(dāng)前服務(wù)器網(wǎng)卡virtual_router_id 51#確保和主節(jié)點(diǎn)相同,同網(wǎng)內(nèi)不同集群此項(xiàng)必須不同,否則發(fā)生priority 50#此處備節(jié)點(diǎn)上設(shè)置為 50advert_1#nopreempt#不搶占,只在 priority 高的節(jié)點(diǎn)上設(shè)置,備節(jié)點(diǎn)上此項(xiàng)注釋掉authentication

47、auth_type PASS auth_pass 1111virtual_ipaddress 23#VIP 地址virtual_server 23 3306 #對(duì)于 lvs 的轉(zhuǎn)發(fā)規(guī)則 delay_loop 2 #每個(gè) 2 秒檢查一次 real_server 狀態(tài) lb_algo wrr #LVS 算法lb_kind DR#LVS 轉(zhuǎn)發(fā)模式persistence_timeout 60 #會(huì)話保持時(shí)間protocol TCP #轉(zhuǎn)發(fā)協(xié)議類型,有 tcp 和 udp 兩種real_server 8 3306 weight 3TCP_CHECK #TCP_CHECK 和 UDP_CHECKconne

48、ct_timeout 10#連接超時(shí)時(shí)間nb_get_retry 3 #重連次數(shù)delay_before_retry 3#重連間隔時(shí)間connect_port 3306 #健康檢查端口,對(duì)于轉(zhuǎn)發(fā)規(guī)則端口3.5.2. 主主模式主主模式的情況下,需要兩個(gè)對(duì)外的 VIP 即可,每臺(tái) DS 都有 1 個(gè)主 VIP 和一個(gè)備 VIP,使用 Keepalived 作為高可用工具,LVS 的安裝可以參考上面的章節(jié),下面對(duì)配置的過(guò)程和算法梳理一下。1、安裝 LVS2、在主備機(jī)安裝 Keepalived3、配置 Keepalived4、啟動(dòng)【Keepalived 配置參考】主節(jié)點(diǎn) 1:global_defs r

49、outer_id CTG-HAvrrp_sync_group VGM1 group VI_1vrrp_sync_group VGM2 group VI_2#123 is master vrrp_instance VI_1 se MASTER #更改這個(gè)配置 backup ormaster erface bond0virtual_router_id 51 #注意這個(gè) ID 與上一組的 ID 不同priority 100 #更改這個(gè)配置 100 or 50advert_1 nopreempt authentication auth_type PASS auth_pass 1111virtual_i

50、paddress 23virtual_server 23 9090 delay_loop 6 lb_algo wrr lb_kind DRpersistence_timeout 60 protocol TCPreal_server 8 9090 notify_down /etc/keepalived/down.sh weight 1TCP_CHECK connect_timeout 10 nb_get_retry delay_before_retry connect_port 9090real_server 9 9090 notify_down /etc/keepalived/down.sh

51、weight 1TCP_CHECK connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 9090#124 is slave vrrp_instance VI_2 se BACKUP #更改這個(gè)配置 backup ormaster erface bond0virtual_router_id 52 #注意這個(gè) ID 與上一組的 ID 不同priority 50 #更改這個(gè)配置 100 or 50advert_1 nopreempt authentication auth_type PASS主節(jié)點(diǎn) 2:global_def

52、s router_id CTG-HAauth_pass 1111virtual_ipaddress 24virtual_server 24 9090 delay_loop 6 lb_algo wrr lb_kind DRpersistence_timeout 60 protocol TCPreal_server 8 9090 notify_down /etc/keepalived/down.sh weight 1TCP_CHECK connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 9090real_server 9

53、 9090 notify_down /etc/keepalived/down.sh weight 1TCP_CHECK connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 9090vrrp_sync_group VGM1 group VI_1vrrp_sync_group VGM2 group VI_2#123 is slave vrrp_instance VI_1 se BACKUP#更改這個(gè)配置 backup ormaster erface bond0virtual_router_id 51 #注意這個(gè) ID 與

54、上一組的 ID 不同priority 50 #更改這個(gè)配置 100 or 50advert_1 nopreempt authentication auth_type PASS auth_pass 1111virtual_ipaddress 23virtual_server 23 9090 delay_loop 6 lb_algo wrr lb_kind DRpersistence_timeout 60 protocol TCPreal_server 8 9090 notify_down /etc/keepalived/down.sh weight 1TCP_CHECK connect_time

55、out 10 nb_get_retry delay_before_retry connect_port 9090real_server 9 9090 notify_down /etc/keepalived/down.sh weight 1TCP_CHECK connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 9090#124 is master vrrp_instance VI_2 se MASTER #更改這個(gè)配置 backup ormaster erface bond0virtual_router_id 52 #

56、注意這個(gè) ID 與上一組的 ID 不同priority 100#更改這個(gè)配置 100 or 50advert_1 nopreempt authentication auth_type PASS auth_pass 1111virtual_ipaddress 24virtual_server 24 9090 delay_loop 6 lb_algo wrr lb_kind DRpersistence_timeout 60 protocol TCPreal_server 8 9090 notify_down /etc/keepalived/down.sh weight 1TCP_CHECK con

57、nect_timeout 10nb_get_retry 3delay_before_retry 33.5.3. 集群模式待補(bǔ)充4.TENGINE-七層負(fù)載均衡的安裝和配置4.1. 安裝4.1.1. 安裝基礎(chǔ)環(huán)境gcc 安裝yum install gcc yum install gcc-c+1)新建安裝包目錄mkdir /apps cd/apps2)pcre 安裝從官網(wǎng)獲取 pcre 源碼包 pcre-8.13.tar.gz,(3)wgetconnect_port 9090real_server 9 9090 notify_down /etc/keepalived/down.sh weight

58、1TCP_CHECK connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 9090)tar zxvf pcre-8.13.tar.gzcd pcre-8.13openssl 安裝yum install openssl openssl-devel4)安裝 proxy_cache 插件(參見wget http:/files/ngx cache purge-2.3.tar.gz tar -zxvf ngx_cache_purge-2.3.tar.gz)5)安裝 lua 插件(可選)6)luajit 2.0()并安裝(mak

59、e & make install)導(dǎo)入環(huán)境變量#輸入實(shí)際的 lua 安裝地址export LUAJIT_LIB=/usr/local/libexport LUAJIT_INC=/usr/local/include/luajit-2.0 #輸入實(shí)際的 lua 安裝地址vi /.bash_profileexport LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH4.1.2.安裝 tengine從官網(wǎng)獲取 Tengine 源碼包 tengine-2.1.0.tar.gz1)(wget)2)3)4)tar-zxvftengine-2.1.0.tar.gz

60、cdtengine-2.1.0./configure-with-http_lua_module-with-http_stub_sus_module-prefix=/usr/local/tengine-add-module=/apps/ngx_cache_purge-2.3-with-pcre=/apps/pcre-7.8注意:不指定目錄方式安裝,默認(rèn)安裝在/urs/local/nginx/apps/ngx_cache_purge-2.3:proxy_cache 插件源碼包的位置/apps/pcre-8.13:pcre 源碼包的位置MakeMake install測(cè)試是否安裝成功,在 tengi

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論