伺服器怎麼做負載均衡
① 如何配置Web伺服器實現負載均衡
這篇實用文章介紹如何將pfSense 2.0配置成你那些Web伺服器的負載均衡器。這篇實用文章假設你已經安裝了一個pfSense設備和至少兩台Apache伺服器,並且運行在你的網路上;還假設你具備了pfSense方面的一些知識。
要求
一台設備用於安裝pfSense 2.0(如果這是你的邊緣防火牆,我會建議物理機器)。
至少兩台Apache2伺服器(這些可以是虛擬伺服器)。
對Apache伺服器進行了配置,以便以某種方式同步Web文件(rsync/corosync或通過Web伺服器維持文件版本最新的另一個選項)。
配置pfSense
pfSense使用負載均衡器,將某些類型的流量帶來的負載分攤到多台伺服器上;如果你有多台伺服器用於託管運行應用程序,這很好;你可以將負載分攤到所有伺服器上,而不是把負載全扔給一台伺服器、導致不堪重負。
可以入手了,先點擊「Services」(服務),然後點擊「Load Balancers」(負載均衡器),然後點擊「Monitor」(監視器)選項卡。
要添加一個新條目,點擊「Plus」(添加)按鈕,指定「Name」(名稱)和「Description」(描述,在這個示例中,我會使用ApacheClusterMon作為名稱和描述),將類型設成「HTTP」,然後為「Host」(主機)設置一個未使用的IP地址(我們隨後會創建虛擬伺服器的IP,以便分配給故障切換伺服器組),任由「HTTP Code」(HTTP代碼)設成「200 OK」。需要的話,然後點擊「Save」(保存),使更改生效。
現在我們要創建伺服器池。點擊「Pools」(伺服器池)選項卡,點擊「Plus」(添加)按鈕,即可添加新的伺服器池。
指定一個名稱(ApacheSrvPool將用在我的示例中)。將「Mode」(模式)設成「Load Balance」(負載均衡),然後將「Port」(埠)設成「80」(你可以讓pfSense對其他埠上的其他應用程序實現負載均衡),將「Monitor」(監視器)設成你之前創建的監視器配置,並且指定你希望在伺服器池中的所有Web伺服器的IP地址,需要的話,點擊「Save」(保存),使更改生效。
接下來點擊「Virtual Servers」(虛擬伺服器)選項卡,點擊「Plus」(添加)按鈕,添加一個新條目。指定「Name」(名稱)和「Description」(描述),然後用你之前選擇的未使用IP地址來設置「IP Address」(IP地址),將「Port」(埠)設成「80」,然後將「Virtual Server Pool」(虛擬伺服器池)設成你之前創建的伺服器池,點擊「Submit」(提交),使更改生效。
就這樣,你剛配置好了pfSense,對你的Web伺服器之間的網路流量實現負載均衡。
順便提一下,如果任何一台伺服器沒有給出200 OK狀態這樣的回應(pfSense定期向你的Web伺服器發送請求,以確定它們是否正常運行),伺服器池就會處於離線停運狀態。要避免出現停運,最好的辦法就是配置故障切換系統(下一篇文章會有介紹)。
② 交換機如何做負載均衡
1、打開Workbench並從功能區中選擇Tools選項卡。選擇Platform Services。
注意事項:
交換機根據工作位置的不同,可以分為廣域網交換機和區域網交換機。廣域的交換機就是一種在通信系統中完成信息交換功能的設備,它應用在數據鏈路層。交換機有多個埠,每個埠都具有橋接功能,可以連接一個區域網或一台高性能伺服器或工作站。實際上,交換機有時被稱為多埠網橋。
③ 怎麼實現伺服器的負載均衡
負載均衡有分硬體負載和軟體。
1.
硬體方面,可以用F5做負載,內置幾十種演算法。
2.
軟體方面,可以使用反向代理伺服器,例如apache,Nginx等高可用反向代理伺服器。
利用DNSPOD智能解析的功能,就可以實現多台機器負載均衡.
首先你用一台高配置的機器來當資料庫伺服器.然後把網站的前端頁面復製成多份,分別放在其他的幾台機器上面.再用DNSPOD做智能解析,把域名解析指向多個伺服器的IP,DNSPOD默認就有智能分流的作用,也就是說當有一台機器的資源不夠用時會自動引導用戶訪問其他機器上.這是相對來講比較簡單的實現負載均衡的方法.
④ 伺服器負載均衡的幾種部署方式
路由模式部署靈活,約60%的用戶採用這種方式部署;橋接模式不改變現有的網路架構;服務直接返回(DSR)比較適合吞吐量大特別是內容分發的網路應用。約30%的用戶採用這種模式。 1、路由模式(推薦) 路由模式的部署方式如上圖。伺服器的網關必須設置成負載均衡機的LAN口地址,且與WAN口分署不同的邏輯網路。因此所有返回的流量也都經過負載均衡。這種方式對網路的改動小,能均衡任何下行流量。2、橋接模式 橋接模式配置簡單,不改變現有網路。負載均衡的WAN口和LAN口分別連接上行設備和下行伺服器。LAN口不需要配置IP(WAN口與LAN口是橋連接),所有的伺服器與負載均衡均在同一邏輯網路中。 由於這種安裝方式容錯性差,網路架構缺乏彈性,對廣播風暴及其他生成樹協議循環相關聯的錯誤敏感,因此一般不推薦這種安裝架構。 3、服務直接返回模式 這種安裝方式負載均衡的LAN口不使用,WAN口與伺服器在同一個網路中,互聯網的客戶端訪問負載均衡的虛IP(VIP),虛IP對應負載均衡機的WAN口,負載均衡根據策略將流量分發到伺服器上,伺服器直接響應客戶端的請求。因此對於客戶端而言,響應他的IP不是負載均衡機的虛IP(VIP),而是伺服器自身的IP地址。也就是說返回的流量是不經過負載均衡的。
⑤ 想做伺服器的負載均衡 都有哪些方式
最常見的一種方法,是在同一個機房的同一機櫃上面租用多台機器.並把網站的資料庫和頁面分開.把資料庫放在單獨的一台高配置伺服器上面.把網站前端頁面復製成多份.放在不同的其他幾台機器上面.然後用DNSPOD解析.把一個域名解析指向多個不同伺服器的IP.這樣就可以實現多台伺服器負載均衡的功能.而且相對比較簡單.
海騰數據楊闖為你解答.個人建議.希望對你有幫助.
⑥ 網維大師如何開啟伺服器之間負載均衡功能
1.批量選中需要開啟負載均衡功能的客戶機,然後點擊右鍵=》修改。
註:必須有2台或2台以上系統虛擬盤伺服器時,才能使用伺服器負載均衡功能,而該功能默認開啟。
2.在批量修改客戶機界面中的左下角首選伺服器下拉框中,可以選擇是否進行伺服器「自動負載均衡」。
選擇「」時,客戶機即啟用了伺服器間負載均衡功能。
選擇具體的某一台伺服器時,則不啟用自動負載均衡功能。
網管、網吧技術員、網吧維護團隊賺錢:-------
⑦ 多台異地伺服器如何實現負載均衡
一般用的就用簡單的輪詢就好了
調度演算法
靜態方法:僅根據演算法本身實現調度;實現起點公平,不管伺服器當前處理多少請求,分配的數量一致
動態方法:根據演算法及後端RS當前的負載狀況實現調度;不管以前分了多少,只看分配的結果是不是公平
靜態調度演算法(static Sche)(4種):
(1)rr (Round Robin) :輪叫,輪詢
說明:輪詢調度演算法的原理是每一次把來自用戶的請求輪流分配給內部中的伺服器,從1開始,直到N(內部伺服器個數),然後重新開始循環。演算法的優點是其簡潔性,它無需記錄當前所有連接的狀態,所以它是一種無狀態調度。缺點:是不考慮每台伺服器的處理能力。
(2)wrr (Weight Round Robin) :加權輪詢(以權重之間的比例實現在各主機之間進行調度)
說明:由於每台伺服器的配置、安裝的業務應用等不同,其處理能力會不一樣。所以,我們根據伺服器的不同處理能力,給每個伺服器分配不同的權值,使其能夠接受相應權值數的服務請求。
(3)sh (Source Hashing) : 源地址hash實現會話綁定sessionaffinity
說明:簡單的說就是有將同一客戶端的請求發給同一個real server,源地址散列調度演算法正好與目標地址散列調度演算法相反,它根據請求的源IP地址,作為散列鍵(Hash Key)從靜態分配的散列表找出對應的伺服器,若該伺服器是可用的並且沒有超負荷,將請求發送到該伺服器,否則返回空。它採用的散列函數與目標地址散列調度演算法的相同。它的演算法流程與目標地址散列調度演算法的基本相似,除了將請求的目標IP地址換成請求的源IP地址。
(4)dh : (Destination Hashing) : 目標地址hash
說明:將同樣的請求發送給同一個server,一般用於緩存伺服器,簡單的說,LB集群後面又加了一層,在LB與realserver之間加了一層緩存伺服器,當一個客戶端請求一個頁面時,LB發給cache1,當第二個客戶端請求同樣的頁面時,LB還是發給cache1,這就是我們所說的,將同樣的請求發給同一個server,來提高緩存的命中率。目標地址散列調度演算法也是針對目標IP地址的負載均衡,它是一種靜態映射演算法,通過一個散列(Hash)函數將一個目標IP地址映射到一台伺服器。目標地址散列調度演算法先根據請求的目標IP地址,作為散列鍵(Hash Key)從靜態分配的散列表找出對應的伺服器,若該伺服器是可用的且未超載,將請求發送到該伺服器,否則返回空。
動態調度演算法(dynamic Sche)(6種):
(1)lc (Least-Connection Scheling): 最少連接
說明:最少連接調度演算法是把新的連接請求分配到當前連接數最小的伺服器,最小連接調度是一種動態調度短演算法,它通過伺服器當前所活躍的連接數來估計伺服器的負載均衡,調度器需要記錄各個伺服器已建立連接的數目,當一個請求被調度到某台伺服器,其連接數加1,當連接中止或超時,其連接數減一,在系統實現時,我們也引入當伺服器的權值為0時,表示該伺服器不可用而不被調度。此演算法忽略了伺服器的性能問題,有的伺服器性能好,有的伺服器性能差,通過加權重來區分性能,所以有了下面演算法wlc。
簡單演算法:active*256+inactive (誰的小,挑誰)
(2)wlc (Weighted Least-Connection Scheling):加權最少連接
加權最小連接調度演算法是最小連接調度的超集,各個伺服器用相應的權值表示其處理性能。伺服器的預設權值為1,系統管理員可以動態地設置伺服器的許可權,加權最小連接調度在調度新連接時盡可能使伺服器的已建立連接數和其權值成比例。由於伺服器的性能不同,我們給性能相對好的伺服器,加大權重,即會接收到更多的請求。
簡單演算法:(active*256+inactive)/weight(誰的小,挑誰)
(3)sed (shortest expected delay scheling):最少期望延遲
說明:不考慮非活動連接,誰的權重大,我們優先選擇權重大的伺服器來接收請求,但會出現問題,就是權重比較大的伺服器會很忙,但權重相對較小的伺服器很閑,甚至會接收不到請求,所以便有了下面的演算法nq。
基於wlc演算法,簡單演算法:(active+1)*256/weight (誰的小選誰)
(4).nq (Never Queue Scheling): 永不排隊
說明:在上面我們說明了,由於某台伺服器的權重較小,比較空閑,甚至接收不到請求,而權重大的伺服器會很忙,所此演算法是sed改進,就是說不管你的權重多大都會被分配到請求。簡單說,無需隊列,如果有台real server的連接數為0就直接分配過去,不需要在進行sed運算。
(5).LBLC(Locality-Based Least Connections) :基於局部性的最少連接
說明:基於局部性的最少連接演算法是針對請求報文的目標IP地址的負載均衡調度,主要用於Cache集群系統,因為Cache集群中客戶請求報文的目標IP地址是變化的,這里假設任何後端伺服器都可以處理任何請求,演算法的設計目標在伺服器的負載基本平衡的情況下,將相同的目標IP地址的請求調度到同一個台伺服器,來提高伺服器的訪問局部性和主存Cache命中率,從而調整整個集群系統的處理能力。
(6).LBLCR(Locality-Based Least Connections with Replication) :基於局部性的帶復制功能的最少連接
說明:基於局部性的帶復制功能的最少連接調度演算法也是針對目標IP地址的負載均衡,該演算法根據請求的目標IP地址找出該目標IP地 址對應的伺服器組,按「最小連接」原則從伺服器組中選出一台伺服器,若伺服器沒有超載,將請求發送到該伺服器;若伺服器超載,則按「最小連接」原則從這個集群中選出一台伺服器,將該伺服器加入到伺服器組中,將請求發送到該伺服器。同時,當該伺服器組有一段時間沒有被修改,將最忙的伺服器從伺服器組中刪除, 以降低復制的程度。
⑧ 如何配置Web伺服器實現負載均衡
網路的負載均衡是一種動態均衡技術,通過一些工具實時地分析數據包,掌握網路中的數據流量狀況,把任務合理均衡地分配出去。這種技術基於現有網路結構,提供了一種擴展伺服器帶寬和增加伺服器吞吐量的廉價有效的方法,加強了網路數據處理能力,提高了網路的靈活性和可用性。
以四台伺服器為例實現負載均衡:
安裝配置LVS
1. 安裝前准備:
(1)首先說明,LVS並不要求集群中的伺服器規格劃一,相反,可以根據伺服器的不同配置和負載狀況,調整負載分配策略,充分利用集群環境中的每一台伺服器。如下表:
Srv Eth0 Eth0:0 Eth1 Eth1:0
vs1 10.0.0.1 10.0.0.2 192.168.10.1 192.168.10.254
vsbak 10.0.0.3 192.168.10.102
real1 192.168.10.100
real2 192.168.10.101
其中,10.0.0.2是允許用戶訪問的IP。
(2)這4台伺服器中,vs1作為虛擬伺服器(即負載平衡伺服器),負責將用戶的訪問請求轉發到集群內部的real1,real2,然後由real1,real2分別處理。
Client為客戶端測試機器,可以為任意操作系統。
(3)所有OS為redhat6.2,其中vs1 和vsbak 的核心是2.2.19, 而且patch過ipvs的包, 所有real
server的Subnet mask 都是24位, vs1和vsbak 的10.0.0. 網段是24 位。
2.理解LVS中的相關術語
(1) ipvsadm :ipvsadm是LVS的一個用戶界面。在負載均衡器上編譯、安裝ipvsadm。
(2) 調度演算法: LVS的負載均衡器有以下幾種調度規則:Round-robin,簡稱rr;weighted
Round-robin,簡稱wrr;每個新的連接被輪流指派到每個物理伺服器。Least-connected,簡稱lc;weighted
Least-connected,簡稱wlc,每個新的連接被分配到負擔最小的伺服器。
(3) Persistent client
connection,簡稱pcc,(持續的客戶端連接,內核2.2.10版以後才支持)。所有來自同一個IP的客戶端將一直連接到同一個物理伺服器。超時時間被設置為360秒。Pcc是為https和cookie服務設置的。在這處調度規則下,第一次連接後,所有以後來自相同客戶端的連接(包括來自其它埠)將會發送到相同的物理伺服器。但這也會帶來一個問題,因為大約有25%的Internet
可能具有相同的IP地址。
(4) Persistent port
connection調度演算法:在內核2.2.12版以後,pcc功能已從一個調度演算法(你可以選擇不同的調度演算法:rr、wrr、lc、wlc、pcc)演變成為了一個開關選項(你可以讓rr、
wrr、lc、wlc具備pcc的屬性)。在設置時,如果你沒有選擇調度演算法時,ipvsadm將默認為wlc演算法。 在Persistent port
connection(ppc)演算法下,連接的指派是基於埠的,例如,來自相同終端的80埠與443埠的請求,將被分配到不同的物理伺服器上。不幸的是,如果你需要在的網站上採用cookies時將出問題,因為http是使用80埠,然而cookies需要使用443埠,這種方法下,很可能會出現cookies不正常的情況。
(5)Load Node Feature of Linux Director:讓Load balancer 也可以處理users 請求。
(6)IPVS connection synchronization。
(7)ARP Problem of LVS/TUN and LVS/DR:這個問題只在LVS/DR,LVS/TUN 時存在。
3. 配置實例
(1) 需要的軟體包和包的安裝:
I. piranha-gui-0.4.12-2*.rpm (GUI介面cluster設定工具);
II. piranha-0.4.12-2*.rpm;
III. ipchains-1.3.9-6lp*.rpm (架設NAT)。
取得套件或mount到光碟,進入RPMS目錄進行安裝:
# rpm -Uvh piranha*
# rpm -Uvh ipchains*
(2) real server群:
真正提供服務的server(如web
server),在NAT形式下是以內部虛擬網域的形式,設定如同一般虛擬網域中Client端使用網域:192.168.10.0/24
架設方式同一般使用虛擬IP之區域網絡。
a. 設網卡IP
real1 :192.168.10.100/24
real2 :192.168.10.101/24
b.每台server均將default gateway指向192.168.10.254。
192.168.10.254為該網域唯一對外之信道,設定在virtual server上,使該網域進出均需通過virtual server 。
c.每台server均開啟httpd功能供web server服務,可以在各real server上放置不同內容之網頁,可由瀏覽器觀察其對各real
server讀取網頁的情形。
d.每台server都開啟rstatd、sshd、rwalld、ruser、rsh、rsync,並且從Vserver上面拿到相同的lvs.conf文件。
(3) virtual server:
作用在導引封包的對外主機,專職負責封包的轉送,不提供服務,但因為在NAT型式下必須對進出封包進行改寫,所以負擔亦重。
a.IP設置:
對外eth0:IP:10.0.0.1 eth0:0 :10.0.0.2
對內eth1:192.168.10.1 eth1:0 :192.168.10.254
NAT形式下僅virtual server有真實IP,real server群則為透過virtual server.
b.設定NAT功能
# echo 1 >; /proc/sys/net/ipv4/ip_forward
# echo 1 >; /proc/sys/net/ipv4/ip_always_defrag
# ipchains -P forward MASQ
c.設定piranha 進入X-window中 (也可以直接編輯/etc/lvs.cf )
a).執行面板系統piranha
b).設定「整體配置」(Global Settings) 主LVS伺服器主機IP:10.0.0.2, 選定網路地址翻譯(預設) NAT路徑名稱:
192.168.10.254, NAT 路徑裝置: eth1:0
c).設定虛擬伺服器(Virtual Servers) 添加編輯虛擬伺服器部分:(Virtual
Server)名稱:(任意取名);應用:http;協議: tcp;連接:80;地址:10.0..0.2;裝置:eth0:0; 重入時間:180
(預設);服務延時:10 (預設);載入監控工具:ruptime (預設);調度策略:Weighted least-connections; 持續性:0
(預設); 持續性屏蔽: 255.255.255.255 (預設); 按下激活:實時伺服器部分:(Real Servers); 添加編輯:名字:(任意取名);
地址: 192.168.10.100; 權重:1 (預設) 按下激活
另一架real server同上,地址:192.168.10.101。
d). 控制/監控(Controls/Monitoring)
控制:piranha功能的激活與停止,上述內容設定完成後即可按開始鍵激活piranha.監控器:顯示ipvsadm設定之routing table內容
可立即更新或定時更新。
(4)備援主機的設定(HA)
單一virtual server的cluster架構virtual server 負擔較大,提供另一主機擔任備援,可避免virtual
server的故障而使對外服務工作終止;備份主機隨時處於預備狀態與virtual server相互偵測
a.備份主機:
eth0: IP 10.0.0.3
eth1: IP 192.168.10.102 同樣需安裝piranha,ipvsadm,ipchains等套件
b.開啟NAT功能(同上面所述)。
c.在virtual server(10.0.0.2)主機上設定。
a).執行piranha冗餘度 ;
b).按下「激活冗餘度」;
冗餘LVS伺服器IP: 10.0.0.3;HEARTBEAT間隔(秒數): 2 (預設)
假定在…秒後進入DEAD狀態: 5 (預設);HEARTBEAT連接埠: 539 (預設)
c).按下「套用」;
d).至「控制/監控」頁,按下「在當前執行層添加PULSE DEAMON」 ,按下「開始」;
e).在監控器按下「自動更新」,這樣可由窗口中看到ipvsadm所設定的routing table,並且動態顯示real
server聯機情形,若real server故障,該主機亦會從監視窗口中消失。
d.激活備份主機之pulse daemon (執行# /etc/rc.d/init.d/pulse start)。
至此,HA功能已經激活,備份主機及virtual server由pulse daemon定時相互探詢,一但virtual
server故障,備份主機立刻激活代替;至virtual server 正常上線後隨即將工作交還virtual server。
LVS測試
經過了上面的配置步驟,現在可以測試LVS了,步驟如下:
1. 分別在vs1,real1,real2上運行/etc/lvs/rc.lvs_dr。注意,real1,real2上面的/etc/lvs
目錄是vs2輸出的。如果您的NFS配置沒有成功,也可以把vs1上/etc/lvs/rc.lvs_dr復制到real1,real2上,然後分別運行。確保real1,real2上面的apache已經啟動並且允許telnet。
2. 測試Telnet:從client運行telnet 10.0.0.2,
如果登錄後看到如下輸出就說明集群已經開始工作了:(假設以guest用戶身份登錄)
[guest@real1 guest]$——說明已經登錄到伺服器real1上。
再開啟一個telnet窗口,登錄後會發現系統提示變為:
[guest@real2 guest]$——說明已經登錄到伺服器real2上。
3. 測試http:從client運行iexplore http://10.0.0.2
因為在real1 和real2 上面的測試頁不同,所以登錄幾次之後,顯示出的頁面也會有所不同,這樣說明real server 已經在正常工作了。
⑨ 如何負載均衡
其實利用DNSPOD智能解析的功能,就可以實現多台機器負載均衡.
首先你用一台高配置的機器來當資料庫伺服器.然後把網站的前端頁面復製成多份,分別放在其他的幾台機器上面.再用DNSPOD做智能解析,把域名解析指向多個伺服器的IP,DNSPOD默認就有智能分流的作用,也就是說當有一台機器的資源不夠用時會自動引導用戶訪問其他機器上.這是相對來講比較簡單的實現負載均衡的方法.
個人建議.僅供參考.有伺服器這方面問題需要幫忙的可以找我交流.
⑩ 負載均衡是怎麼做的~
1、服務直接返回:這種安裝方式負載均衡的LAN口不使用,WAN口與伺服器在同一個網路中,互聯網的客戶端訪問負載均衡的虛IP(VIP),虛IP對應負載均衡機的WAN口,負載均衡根據策略將流量分發到伺服器上,伺服器直接響應客戶端的請求。
2、橋接模式:橋接模式配置簡單,不改變現有網路。負載均衡的WAN口和LAN口分別連接上行設備和下行伺服器。LAN口不需要配置IP(WAN口與LAN口是橋連接),所有的伺服器與負載均衡均在同一邏輯網路中。
3、路由模式:路由模式的部署方式,伺服器的網關必須設置成負載均衡機的LAN口地址,且與WAN口分署不同的邏輯網路。因此所有返回的流量也都經過負載均衡。這種方式對網路的改動小,能均衡任何下行流量。
(10)伺服器怎麼做負載均衡擴展閱讀
負載均衡的演算法:
1、隨機演算法:Random隨機,按權重設置隨機概率。在一個截面上碰撞的概率高,但調用量越大分布越均勻,而且按概率使用權重後也比較均勻,有利於動態調整提供者權重。
2、哈希演算法:一致性哈希一致性Hash,相同參數的請求總是發到同一提供者。當某一台提供者掛時,原本發往該提供者的請求,基於虛擬節點,平攤到其它提供者,不會引起劇烈變動。
3、URL散列:通過管理客戶端請求URL信息的散列,將發送至相同URL的請求轉發至同一伺服器的演算法。
參考資料
網路-負載均衡