2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩50頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、網(wǎng)站集群架構(gòu)設(shè)計(jì)LVS實(shí)現(xiàn)網(wǎng)絡(luò)負(fù)載均衡實(shí)例精講,http://www.docin.com/sundae_meng,http://www.docin.com/sundae_meng,,清楚為什么會(huì)出現(xiàn)LVSLVS能夠做到的LVS實(shí)現(xiàn)方式LVS需要High AvailabilityLVS的應(yīng)用延伸,http://www.docin.com/sundae_meng,互聯(lián)網(wǎng)的發(fā)展,Unix誕生于1969年1987商業(yè)化的互聯(lián)網(wǎng)誕生

2、1990年互聯(lián)網(wǎng)的膨脹在繼續(xù),http://www.docin.com/sundae_meng,群集概念的出現(xiàn),人口大爆炸,男的比女的多3700萬,都去上網(wǎng)。于是服務(wù)器吃不消了,有人提出了群集、云------概念。,http://www.docin.com/sundae_meng,解決之道,Html語法URL重定向Location 返回代碼早前的DNS的多個(gè)A記錄負(fù)載均衡產(chǎn)品F5硬件GSLB服務(wù)端應(yīng)用負(fù)載均衡 從程序解決,h

3、ttp://www.docin.com/sundae_meng,開源解決之道,節(jié)約采購硬件成本、減少開發(fā)難度基于開源應(yīng)用軟件的Modules解決之路 apache mod_geoip mod_proxy_balancer mod_proxy_ajp nginx GEO Module tomcat sessions1998年5月創(chuàng)立LVS 成為了Linux內(nèi)核的一部分 效率高真實(shí)運(yùn)行的Web proxy集群系統(tǒng),http

4、://www.docin.com/sundae_meng,什么是LVS,LVS是章文嵩博士發(fā)起和領(lǐng)導(dǎo)的優(yōu)秀的集群解決方案,許多商業(yè)的集群產(chǎn)品,比如RedHat的Piranha等,都是基于LVS的核心代碼的。LVS是一個(gè)開源的軟件,在LINUX平臺(tái)下實(shí)現(xiàn)基于IP負(fù)載均衡技術(shù)和內(nèi)容請(qǐng)求分發(fā)技術(shù) 。LVS是Linux Virtual Server的縮寫,意思是Linux虛擬服務(wù)器。http://www.linuxvirtualserve

5、r.org/http://zh.linuxvirtualserver.org/,http://www.docin.com/sundae_meng,LVS能做到的,The Linux Virtual Server is a highly scalable and highly available server built on a cluster of real servers, with the load balancer runni

6、ng on the Linux operating system. The architecture of the server cluster is fully transparent to end users, and the users interact as if it were a single high-performance virtual server.http://www.linuxvirtualserver.org

7、/,http://www.docin.com/sundae_meng,高性能的調(diào)度器,LVS集群采用IP負(fù)載均衡技術(shù)。調(diào)度器具有很好的吞吐率,將請(qǐng)求均衡地轉(zhuǎn)移到不同的服務(wù)器上執(zhí)行,結(jié)合健康檢測功能調(diào)度器自動(dòng)屏蔽掉服務(wù)器的故障,結(jié)合High Availability技術(shù)從而將一組服務(wù)器構(gòu)成一個(gè)高性能的、高可用的虛擬服務(wù)器。整個(gè)服務(wù)器集群的結(jié)構(gòu)對(duì)客戶是透明的,而且無需修改客戶端和服務(wù)器端的程序。為此,在設(shè)計(jì)時(shí)需要考慮系統(tǒng)的透明性、可伸縮性、

8、高可用性和易管理性。,http://www.docin.com/sundae_meng,LVS不能做到的,機(jī)器數(shù)量需要多Nginx 在一個(gè)主機(jī)上就可以實(shí)現(xiàn)很好的負(fù)載基于IP的調(diào)度算法不能實(shí)現(xiàn)基于語意的調(diào)度對(duì)于應(yīng)用程序的sessions需要借助其他方式對(duì)于數(shù)據(jù)庫RAC、REPLICATION不同Google file system, Bigtable, Mapreduce(Hadoop開源的可運(yùn)行于大規(guī)模集群上的分布式并行編程

9、框架 ),http://www.docin.com/sundae_meng,典型LVS結(jié)構(gòu),一般來說,LVS集群采用三層結(jié)構(gòu),負(fù)載調(diào)度器、服務(wù)器池、共享存儲(chǔ)主要部分組成。,http://www.docin.com/sundae_meng,LVS的三個(gè)部分,負(fù)載調(diào)度器(load balancer),它是整個(gè)集群對(duì)外面的前端機(jī),負(fù)責(zé)將客戶的請(qǐng)求發(fā)送到一組服務(wù)器上執(zhí)行,而客戶認(rèn)為服務(wù)是來自一個(gè)IP地址(我們可稱之為虛擬IP地址)上的。服務(wù)器

10、池(server pool),是一組真正執(zhí)行客戶請(qǐng)求的服務(wù)器,執(zhí)行的服務(wù)有WEB、MAIL、FTP和DNS等。 共享存儲(chǔ)(shared storage),它為服務(wù)器池提供一個(gè)共享的存儲(chǔ)區(qū),這樣很容易使得服務(wù)器池?fù)碛邢嗤膬?nèi)容,提供相同的服務(wù)。,http://www.docin.com/sundae_meng,三種IP負(fù)載均衡技術(shù),可伸縮網(wǎng)絡(luò)服務(wù)結(jié)構(gòu),都需要一個(gè)前端的負(fù)載調(diào)度器(主從備份)基于IP負(fù)載均衡技術(shù)是在負(fù)載調(diào)度器的實(shí)現(xiàn)技術(shù)中

11、效率最高的。在已有的IP負(fù)載均衡技術(shù)中,主要有通過網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation)將一組服務(wù)器構(gòu)成一個(gè)高性能的、高可用的虛擬服務(wù)器,我們稱之為VS/NAT技術(shù)(Virtual Server via Network Address Translation)。在分析VS/NAT的缺點(diǎn)和網(wǎng)絡(luò)服務(wù)的非對(duì)稱性的基礎(chǔ)上通過IP隧道實(shí)現(xiàn)虛擬服務(wù)器的方法VS/TUN (Virtual Server via I

12、P Tunneling)通過直接路由實(shí)現(xiàn)虛擬服務(wù)器的方法VS/DR(Virtual Server via Direct Routing),VS/DR可以極大地提高系統(tǒng)的伸縮性。VS/NAT、VS/TUN和技術(shù)是LVS集群中實(shí)現(xiàn)的三種IP負(fù)載均衡技術(shù)。,http://www.docin.com/sundae_meng,VS/NAT的體系結(jié)構(gòu),,http://www.docin.com/sundae_meng,半連接的TCP有限狀態(tài)機(jī)

13、,,http://www.docin.com/sundae_meng,VS/TUN的體系結(jié)構(gòu),,http://www.docin.com/sundae_meng,VS/DR的體系結(jié)構(gòu),,http://www.docin.com/sundae_meng,調(diào)度算法,輪叫調(diào)度(Round-Robin Scheduling) 加權(quán)輪叫調(diào)度(Weighted Round-Robin Scheduling) 最小連接調(diào)度(Least-Conne

14、ction Scheduling) 加權(quán)最小連接調(diào)度(Weighted Least-Connection Scheduling) 基于局部性的最少鏈接(Locality-Based Least Connections Scheduling) Cache 帶復(fù)制的基于局部性最少鏈接(Locality-Based Least Connections with Replication Scheduling)Cache 目標(biāo)地址散列調(diào)

15、度(Destination Hashing Scheduling) 源地址散列調(diào)度(Source Hashing Scheduling),http://www.docin.com/sundae_meng,LVS實(shí)現(xiàn)方式,IP Virtual Server Netfilter module ls -l /lib/modules/`uname -r`/kernel/net/ipv4/ipvsRedHat 7.3/8.0都把

16、ipvs預(yù)先編譯到了RedHat發(fā)行版的內(nèi)核當(dāng)在redhat9.0取消了預(yù)編譯目前IPVS包含在2.6的內(nèi)核中,不需要重新編譯,非常簡單ipvsadm utility to administer the IP Virtual Server inside the Linux kernel,http://www.docin.com/sundae_meng,ipvsadm常用命令,增加調(diào)度服務(wù)ipvsadm -A -t 虛擬服務(wù)地址:服

17、務(wù)端口 -s 調(diào)度算法增加真實(shí)服務(wù)器ipvsadm -a -t 虛擬服務(wù)地址:服務(wù)端口 -r 真實(shí)服務(wù)地址 –g工作模式刪除真實(shí)服務(wù)器ipvsadm -d -t 虛擬服務(wù)地址:服務(wù)端口 -r 真實(shí)服務(wù)地址 –g工作模式刪除調(diào)度服務(wù)ipvsadm -D -t 虛擬服務(wù)地址:服務(wù)端口 -s 調(diào)度算法查看調(diào)度狀態(tài)ipvsadm –lnipvsadm -lnc,http://www.docin.com/sundae_meng,

18、狀態(tài)同步,主節(jié)點(diǎn)ipvsadm --start-daemon master --mcast-interface eth0從節(jié)點(diǎn)ipvsadm --start-daemon backup --mcast-interface eth0,http://www.docin.com/sundae_meng,session會(huì)話保持Persistence,-p –persistent [timeout] 持久穩(wěn)固的服務(wù)。這個(gè)選項(xiàng)的意思是來自同

19、一個(gè)客戶的多次請(qǐng)求,將被同一臺(tái)真實(shí)的服務(wù)器處理。timeout 的默認(rèn)值為300 秒。解決這個(gè)問題,最有效的辦法就是在后端web節(jié)點(diǎn)間實(shí)現(xiàn)session復(fù)制,用戶在任何一個(gè)真實(shí)web節(jié)點(diǎn)上的session發(fā)生變化時(shí),通過一定的策略同步復(fù)制到其它web節(jié)點(diǎn)上。,http://www.docin.com/sundae_meng,調(diào)度器與真實(shí)服務(wù)器配置,在調(diào)度器上設(shè)置VIP調(diào)度地址開啟IP轉(zhuǎn)發(fā)ifconfig eth0:0 虛擬

20、服務(wù)地址 netmask 255.255.255.255 broadcast 虛擬服務(wù)地址 uproute add -host 虛擬服務(wù)地址 dev eth0:0echo 1 > /proc/sys/net/ipv4/ip_forward,http://www.docin.com/sundae_meng,調(diào)度器與真實(shí)服務(wù)器配置,在真實(shí)服務(wù)器上設(shè)置VIP應(yīng)答地址屏蔽arp請(qǐng)求ifconfig lo:0 虛擬服務(wù)地址 n

21、etmask 255.255.255.255 borcast 虛擬服務(wù)地址 uproute add -host 虛擬服務(wù)地址 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_i

22、gnoreecho 2 > /proc/sys/net/ipv4/conf/all/arp_announce,http://www.docin.com/sundae_meng,RealServer標(biāo)準(zhǔn)配置方式,編輯/etc/sysconfig/network-scripts/ifcfg-lo:0 設(shè)置VIP地址DEVICE=lo:0IPADDR=192.168.1.160#VIP地址NETMASK=255.255.25

23、5.255 BROADCAST=192.168.1.160#廣播地址設(shè)置為VIP地址ONBOOT=yesNAME=loopback編輯/etc/sysctl.conf 設(shè)置禁用arpnet.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.

24、all.arp_announce = 2,http://www.docin.com/sundae_meng,演示環(huán)境,采用VS/DR模式,通過ipvsadm命令方式建立演示一個(gè)典型的環(huán)境:一個(gè)dr節(jié)點(diǎn)、兩個(gè)realserver節(jié)點(diǎn)運(yùn)行WEB服務(wù)。VIP:192.168.1.160/24DR:192.168.1.161/24RealServerA:192.168.1.167/24RealServerB:192.1

25、68.1.168/24GATEWAY:192.168.1.1DNS:192.168.1.1,http://www.docin.com/sundae_meng,,Demo 演示視頻,http://www.docin.com/sundae_meng,問題,配置腳本問題DR節(jié)點(diǎn)成為單點(diǎn)故障源無RealServer的監(jiān)控狀態(tài)檢測LVS需要High Availability,http://www.docin.com/sun

26、dae_meng,LVS需要High Availability,LVS PiranhaLVS heartbeat ldirectordLVS Keepalived,http://www.docin.com/sundae_meng,LVS Piranha,piranha為REDHAT開發(fā)的一個(gè)LVS集群管理工具叫Piranha,用于控制LVS集群,并提供了一個(gè)圖形化的配置界面。Piranha - Load-balanced Web

27、 and FTP Clusterspiranha-gui servicepulse serviceLinux Virtual Server Administration http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Virtual_Server_Administration/index.html,http://www.docin.com/sund

28、ae_meng,Piranha,http://www.docin.com/sundae_meng,,GET / HTTP/1.0\r\n\r\n,http://www.docin.com/sundae_meng,Piranha安裝,Piranha是調(diào)度節(jié)點(diǎn)的配置,RealServer節(jié)點(diǎn)的配置仍不能缺少rs節(jié)點(diǎn)設(shè)置VIPrs節(jié)點(diǎn)禁用ARP對(duì)于centos yum -y install piranha ipvsadm不能使用yu

29、m需要安裝如下包(具體版本因OS不同)php-commonphp-cliphpipvsadmpiranha,http://www.docin.com/sundae_meng,Piranha配置文件,/etc/sysconfig/ha/lvs.cf添加刪除節(jié)點(diǎn)更改調(diào)度服務(wù)定義更改參數(shù)設(shè)置更改后重新啟動(dòng)pulse,http://www.docin.com/sundae_meng,Piranha結(jié)合Kickstart定制,結(jié)

30、合Kickstart %post腳本定制預(yù)定義修改lvs.cf快速,http://www.docin.com/sundae_meng,,采用VS/DR模式,通過Piranha方式建立演示一個(gè)典型的環(huán)境:一個(gè)dr節(jié)點(diǎn)、兩個(gè)realserver節(jié)點(diǎn)運(yùn)行WEB服務(wù)。VIP:192.168.1.160/24DR:192.168.1.161/24BDR:192.168.1.162/24RealServerA:19

31、2.168.1.167/24RealServerB:192.168.1.168/24GATEWAY:192.168.1.1DNS:192.168.1.1配置監(jiān)控檢測,測試節(jié)點(diǎn)移除,http://www.docin.com/sundae_meng,,Demo 演示視頻,http://www.docin.com/sundae_meng,LVS Keepalived,keepalived http://keepalive

32、d.sourceforge.netKeepalived在這里主要用作RealServer的健康狀態(tài)檢查以及DR調(diào)度Master主機(jī)和BackUP主機(jī)之間failover的實(shí)現(xiàn) 當(dāng)網(wǎng)卡就可以實(shí)現(xiàn)(主備監(jiān)聽) VRRP提示:在centos 5.3 上有異常,http://www.docin.com/sundae_meng,VRRP:Virtual Router Redundancy Protocol(虛擬路由器冗余協(xié)議,虛擬路由器冗余

33、協(xié)議(VRRP)是一種選擇協(xié)議,它可以把一個(gè)虛擬路由器的責(zé)任動(dòng)態(tài)分配到局域網(wǎng)上的 VRRP 路由器中的一臺(tái)??刂铺摂M路由器 IP 地址的 VRRP 路由器稱為主路由器,它負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù)包到這些虛擬 IP 地址。一旦主路由器不可用,這種選擇過程就提供了動(dòng)態(tài)的故障轉(zhuǎn)移機(jī)制,這就允許虛擬路由器的 IP 地址可以作為終端主機(jī)的默認(rèn)第一跳路由器。,http://www.docin.com/sundae_meng,LVS Keepalived,Kee

34、palivedkeepalived是一個(gè)類似于layer3, 4 & 5交換機(jī)制的軟件,也就是我們平時(shí)說的第3層、第4層和第5層交換。Keepalived的作用是檢測web服務(wù)器的狀態(tài),如果有一臺(tái)web服務(wù)器死機(jī),或工作出現(xiàn)故障,Keepalived將檢測到,并將有故障的web服務(wù)器從系統(tǒng)中剔除,當(dāng)web服務(wù)器工作正常后Keepalived自動(dòng)將web服務(wù)器加入到服務(wù)器群中,這些工作全部自動(dòng)完成,不需要人工干涉,需要人工做的只

35、是修復(fù)故障的web服務(wù)器。 Layer3,4&5工作在IP/TCP協(xié)議棧的IP層,TCP層,及應(yīng)用層,原理分別如下: Layer3:Keepalived使用Layer3的方式工作式時(shí),Keepalived會(huì)定期向服務(wù)器群中的服務(wù)器發(fā)送一個(gè)ICMP的數(shù)據(jù)包(既我們平時(shí)用的Ping程序),如果發(fā)現(xiàn)某臺(tái)服務(wù)的IP地址沒有激活,Keepalived便報(bào)告這臺(tái)服務(wù)器失效,并將它從服務(wù)器群中剔除,這種情況的典型例子是某臺(tái)服務(wù)器被非法關(guān)機(jī)

36、。Layer3的方式是以服務(wù)器的IP地址是否有效作為服務(wù)器工作正常與否的標(biāo)準(zhǔn)。Layer4:如果您理解了Layer3的方式,Layer4就容易了。Layer4主要以TCP端口的狀態(tài)來決定服務(wù)器工作正常與否。如web server的服務(wù)端口一般是80,如果Keepalived檢測到80端口沒有啟動(dòng),則Keepalived將把這臺(tái)服務(wù)器從服務(wù)器群中剔除。 Layer5:Layer5就是工作在具體的應(yīng)用層了,比Layer3,Layer4要

37、復(fù)雜一點(diǎn),在網(wǎng)絡(luò)上占用的帶寬也要大一些。Keepalived將根據(jù)用戶的設(shè)定檢查服務(wù)器程序的運(yùn)行是否正常,如果與用戶的設(shè)定不相符,則Keepalived將把服務(wù)器從服務(wù)器群中剔除。,http://www.docin.com/sundae_meng,,,http://www.docin.com/sundae_meng,,,http://www.docin.com/sundae_meng,,Demo 演示視頻,http://www.doci

38、n.com/sundae_meng,heartbeat ldirectord,heartbeathttp://www.linux-ha.orgHeartbeatheartbeat是一種心跳檢測機(jī)制。他可以讓兩臺(tái)服務(wù)器(Master Server 和Slave Server)互為備份。Heartbeat的中文是“心跳檢測”。Slave Server利用heartbeat來檢測Master Master的當(dāng)前狀態(tài),當(dāng)Master Se

39、rver不能工作時(shí)(如:down機(jī))Slave Server通過heartbeat來接管Master Server的所有工作,這個(gè)接管過程在10秒以內(nèi)完成,對(duì)用戶來說沒有什么察覺。Heartbeat中包含一個(gè)IP take over(IP 地址接管)的功能,此功能是通過ARP欺騙的手段來完成的。,http://www.docin.com/sundae_meng,heartbeat ldirectord,ldirectord工作原理:l

40、directord需要在每臺(tái)真實(shí)服務(wù)器web服務(wù)器的根目錄下建立你在配置文件所指定的文件與內(nèi)容,然后ldirectord通過循環(huán)檢查此文件來確定真實(shí)服務(wù)器是否存活,如果不存活,則自動(dòng)將其權(quán)重設(shè)為0,以確保后面客戶的連接不會(huì)再導(dǎo)向失效的真實(shí)服務(wù)器,如果真實(shí)服務(wù)修復(fù)上線后,則其又將它的權(quán)重設(shè)為以使它能夠繼續(xù)為客端連接提供服務(wù)。ldirectord主要是通過調(diào)用ipvsadm來創(chuàng)建ipvs虛擬服務(wù)器表。"ldirectord&qu

41、ot;(LinuxDirectorDaemon)可以對(duì)服務(wù)和物理服務(wù)器進(jìn)行監(jiān)測,被廣泛地用于http和https等服務(wù)。它是專門為LVS(LinuxVirtualServer)監(jiān)控而編寫的,不僅能從heartbeat的配置文件/etc/ha.d/xxx.cf中讀取所有有關(guān)IPVS(IPVirtulServer)路由表配置的信息,還可以方便地被heartbeat管理(比如由heartbeat來啟動(dòng)和停止ldirectord服務(wù))。,htt

42、p://www.docin.com/sundae_meng,,,http://www.docin.com/sundae_meng,,Demo 演示視頻,http://www.docin.com/sundae_meng,LVS的應(yīng)用延伸,Web站點(diǎn)負(fù)載(LAMP /J2EE /Lighttpd)結(jié)合Squid服務(wù)成為CDN 結(jié)合MySQL Cluster成為MySQL高性能高可靠群集基于LVS的二次開發(fā),http://www.

43、docin.com/sundae_meng,,,http://www.docin.com/sundae_meng,在CU上發(fā)起的兩個(gè)項(xiàng)目,計(jì)劃發(fā)起一個(gè)項(xiàng)目:基于Centos或Ubuntu重構(gòu)OS 最新進(jìn)展整合Discuz http://linux.chinaunix.net/bbs/thread-1062281-1-1.html[集群] LVS-HOWTO中文翻譯計(jì)劃,感興趣加入群72050696 http://linux.chi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論