溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

集群環(huán)境分析及部署(基礎)

發(fā)布時間:2020-04-02 03:33:45 來源:網(wǎng)絡 閱讀:647 作者:Cinyann 欄目:建站服務器

集群概念:

由兩個或兩個以上的服務實體協(xié)調、配合完成一系列工作的模式,對外表現(xiàn)為一個整體。

特點

分配用戶請求

故障轉移

共享存儲


結構

agent   負載調度器

業(yè)務層   服務器

存儲   共享存儲


1.垂直擴展

為同樣的計算資源池加入更多資源,比如增加更多內(nèi)存、磁盤或是虛擬cpu,來應對增加的應用負載

2.水平擴展

需要向計算平臺加入更多的機器或設備,來處理增長的需求

向上拓展:對硬件的升級、更換、提升

缺點:

性能:提升是有限度的

集群環(huán)境分析及部署(基礎)


集群環(huán)境分析及部署(基礎)


弊端:

DNS沒有對后端設備健康狀態(tài)進行檢測的能力,也就是說當WEB2設備出現(xiàn)故障之后,DNS還是根據(jù)自己緩存的記錄把任務分配到WEB2上。

dns的缺陷:無法實現(xiàn)健康狀態(tài)檢查

緩存dns無法實現(xiàn)分配用戶請求

DNS的解析緩存造成任務分配不均,導致單個服務器壓力過大。

算法:

     RR(Round-Robin):輪詢

     WRR(weightd-Round-Robin):權重(加權輪詢)

集群環(huán)境分析及部署(基礎)


使用agent代理機制,可以對后端設備的健康狀態(tài)進行檢測,有效提高的工作效率。

最基礎的一個集群拓撲:

集群環(huán)境分析及部署(基礎)


負載均衡集群(LBC Load Balance Cluster

作用:減輕單臺服務器壓力

Load Balancing負載均衡,不同節(jié)點之間相互獨立,不共享任何資源;通過一定算法將客戶端的訪問請求平分到群集的各個節(jié)點上,充分利用每個節(jié)點的資源。負載均衡擴展了網(wǎng)絡設備和服務器帶寬,增加吞吐量,加強網(wǎng)絡數(shù)據(jù)處理能力。

實現(xiàn)

軟件:LVS RAC

硬件:F5

集群環(huán)境分析及部署(基礎)


1.分擔系統(tǒng)的負載

2.監(jiān)控節(jié)點的運行情況

在一個網(wǎng)絡下,可以搭建多個負載均衡集群來實現(xiàn)壓力的分散:

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)


區(qū)別:

硬件后期的維護,比較好,但是價格偏高

軟件靈活性比較大,價格相對便宜

高可用集群(HA):保證服務器的不間斷運行

集群環(huán)境分析及部署(基礎)

為應用程序提供持久訪問

出現(xiàn)故障自由切換


實現(xiàn)訪問web1和web2無論哪一個,得到的結果都是一樣的,不會有偏差

集群環(huán)境分析及部署(基礎)


為了使用web1和web2內(nèi)容一致:

使用的機制是:心跳檢測

方法實現(xiàn):

RS232串口線(心跳線)

每隔幾秒鐘發(fā)個數(shù)據(jù)包,看對方是否(存活)有回應,無回應,則判斷目標出現(xiàn)問題

現(xiàn)有網(wǎng)卡

集群環(huán)境分析及部署(基礎)

通過兩個服務器之間的eth2端口進行檢測(每隔一段時間發(fā)送數(shù)據(jù)包進行確認)

eth0是給用戶訪問使用的

服務器可用性要求標準:

99%2個91年87.6小時(停機)
99.9%3個91年8.8小時(停機)
99.99%4個91年53分鐘(停機)
99.999%5個91年3-5分鐘(停機)

如果心跳線出現(xiàn)故障:

兩臺主機都認為對方出現(xiàn)故障(死亡),都會搶著接替對方工作,處理響應客戶的請求,搶奪共享的資源、數(shù)據(jù)。(這種現(xiàn)象稱之為“腦裂”)

帶來的后果:數(shù)據(jù)不完整、甚至是災難級

集群環(huán)境分析及部署(基礎)


在腦裂的情況下:

兩臺主機都認為對方已死亡,都會對共享存儲服務器,讀取、寫入數(shù)據(jù),這樣同時對一個文件,進行寫入,會造成數(shù)據(jù)丟失,完整性遭到破壞。

對服務造成影響:導致訪問不可達

集群環(huán)境分析及部署(基礎)

正常情況下web1在工作,web2不工作,在腦裂情況下,雙方主機都認為對方已死亡,這時,web2服務器會搶奪web1的IP地址,給自己配置,在同一個網(wǎng)絡下,由于web1和web2使用相同的IP,會造成網(wǎng)絡故障,用戶不能正常訪問服務器。

解決方案:

預防為主:增加冗余心跳線

強制隔離:

集群環(huán)境分析及部署(基礎)

兩臺服務器都連接電源交換機,當web2檢測出web1出問題時,想要接替工作,又為了避免腦裂情況出現(xiàn),這時,web2會發(fā)送一條指令給電源交換機,這時電源交換機會將連接web1的電源線斷掉,這樣就不會出現(xiàn)web1和web2沖突的現(xiàn)象

Stonish:爆頭

Shoot in other node in the head

用工具實現(xiàn):ipfail

為兩個服務器設置參考IP(一般是網(wǎng)關IP)

當兩臺服務器認為對方出問題時,這時會ping 設置的參考IP,如果參考IP都ping不通,這時服務器會判定問題不是出在對方服務器,是自己內(nèi)部出了問題,這時,會檢測自己內(nèi)部,并作出相應的動作

高可用集群軟件:

集群環(huán)境分析及部署(基礎)


高性能運算集群:

集群環(huán)境分析及部署(基礎)


A包含10個子任務:a1 a2 a3 .......a10

每個子任務完成需要1小時

負載均衡集群:(單位時間內(nèi)處理的子任務)

1臺計算機完成任務需要10小時(處理10個子任務)

10臺計算機完成任務需要10小時(總共處理100個子任務)

高性能運算集群:(縮短單個任務的執(zhí)行時間,來提升效率)

1臺計算機完成任務需要10小時(處理10個子任務)

10臺計算機完成任務需要1小時(總共處理10個子任務)

高性能集群概念:

高性能計算集群就是將一個大的運算任務拆分,每一個節(jié)點計算其中一部分運算內(nèi)容,最后再將每臺計算機的處理結果匯總,得到我們想要的答案,這種運算方式就是高性能運算集群。

集群環(huán)境分析及部署(基礎)

3PB的數(shù)據(jù)需要處理,這時AGENT會告訴客戶端,如何分發(fā)到每個存儲服務器為100G,之后,客戶端會找AGENT2,詢問AGENT2如何處理這些分發(fā)的數(shù)據(jù),這時AGNET2會分別去到每個節(jié)點上運行

程序以運算處理數(shù)據(jù),當數(shù)據(jù)被處理完之后,會將數(shù)據(jù)匯總,反饋給客戶端,這個過程就是高性能運算集群。


集群環(huán)境分析及部署(基礎)


負載調度器:

集群環(huán)境分析及部署(基礎)

硬件:F5 citrix array

軟件:

四層負載調度器  四層交換機

效率高

LVS    Linux virtual server

七層負載調度器  七層交換機

mysql proxy

nginx

haproxy

高級特性

集群環(huán)境分析及部署(基礎)


四層交換機:IP+端口

七層交換機:URL或主機名或頁面內(nèi)容包含的高級特性

區(qū)別:

1.觸發(fā)條件不同

四層:工作在傳輸層,轉發(fā)數(shù)據(jù)依靠的是三層的ip和四層的port

七層:工作在應用層。轉發(fā)數(shù)據(jù)依靠URL或主機名

2.實現(xiàn)原理不同

四層負載調度器:TCP連接建立一次,客戶端和RS主機之間

四層交換機工作原理:(轉發(fā)作用)

集群環(huán)境分析及部署(基礎)

七層負載調度器:TCP連接建立兩次,客戶端和負載調度器;負載調度器和RS主機

七層交換機工作原理:(起到代理服務器的角色)

集群環(huán)境分析及部署(基礎)


七層交換機可以根據(jù)客戶發(fā)起的訪問請求,做出判斷,給客戶相應的內(nèi)容反饋!

3.應用場景不同

四層負載調度器:TCP應用為主 OA ERP

七層負載調度器:以HTTP協(xié)議為主

4.安全性不同

四層負載調度器:轉發(fā)***

七層負載調度器:攔截***

IPVS:鉤子函數(shù),內(nèi)核機制,在請求沒有到達目的地址之前,捕獲并取得優(yōu)先控制權的函數(shù)。

IPVSADM:工作在用戶空間,負責為ipvs內(nèi)核框架編寫規(guī)則,定義誰是集群服務,誰是后端真實 的服務器

LVS概述:

首先簡單介紹一下LVS (Linux Virtual Server)到底是什么東西,其實它是一種集群(Cluster)技術,采用IP負載均衡技術和基于內(nèi)容請求分發(fā)技術。調度器具有很好的吞吐率,將請求均衡地轉移到不同的服務器上執(zhí)行,且調度器自動屏蔽掉服務器的故障,從而將一組服務器構成一個高性能的、高可用的虛擬服務器。整個服務器集群的結構對客戶是透明的,而且無需修改客戶端和服務器端的程序。

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

舉例:

集群環(huán)境分析及部署(基礎)


解釋:當外網(wǎng)客戶端,將請求提交到負載調讀器的外網(wǎng)卡上,這時網(wǎng)卡會對請求進行處理,將請求提交到內(nèi)核所提供的的INPUT函數(shù)模塊上 ,這個函數(shù)正常情況下,會將客戶申請訪問本地80端口的應用請求轉發(fā)給本地應用所安裝HTTP服務器上面,但是我們真正的目的是,想讓負載調度器將用戶的請求轉發(fā)到后端的web網(wǎng)站節(jié)點上面去,這時我們就需要IPVS,IPVS在這里扮演的是鉤子函數(shù)角色(正常情況下,所接受的請求會被轉發(fā)到本地的相應服務上面,但是IPVS所扮演的鉤子函數(shù)角色會在請求被轉發(fā)到本地服務上面之前,將數(shù)據(jù)請求包文強制拿過來,自己先查看,如果發(fā)現(xiàn)用戶是訪問集群節(jié)點的話,會通過eth2端口,因為IPVS會保存一定的策略,自己能夠判斷,然后會相應的把請求轉交給web1,第二次給web2,依次輪詢。。。)

這時,我們會有疑問,IPVS內(nèi)核模塊為什么會知道把請求分別轉發(fā)給web1、web2,這是因為是有IPVSadm工具來實現(xiàn)的

CIP:client IP 客戶端IP

DIP:director IP 負載調度器內(nèi)網(wǎng)口IP

VIP:virtual IP 虛擬IP 集群IP

RIP:realserver IP 服務器節(jié)點IP 真實服務器IP

NAT:地址轉換

集群環(huán)境分析及部署(基礎)

注意:

1.最多支持10臺左右RS

2.集群節(jié)點(director和RS)必須在同一個網(wǎng)絡中

3.RS的網(wǎng)關必須位于客戶端和RS之間

4.RS可以用任意的操作系統(tǒng)

5.RS網(wǎng)關必須設置為director

DR:路由模式

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

優(yōu)點:

大大減輕了負載調度器的壓力

可以支持更多的服務器節(jié)點RS

注意:

1.RS必須和director在一個網(wǎng)絡

2.RS可以設置公網(wǎng)IP或私網(wǎng)IP(當負載調度器壞了的話,可以直接讓客戶訪問通過公網(wǎng)IP訪問集群)

3.負載調度器只負責入站請求

4.集群節(jié)點的網(wǎng)關不能使用director

TUN:隧道模式

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)


優(yōu)點:

不受地理位置限制

注意:

1.所有節(jié)點都要有公網(wǎng)IP,RS并且必須配置在RIP上

2.RS一定不能使用負載調度器作為默認網(wǎng)關

4.必須支持隧道功能

負載調度器算法:

靜態(tài)算法:只考慮算法本身,不考慮服務器狀態(tài)

rr (輪循):從1開始到n結束(N=RS個數(shù))、無狀態(tài)的的調度算法,不考慮服務器性能

wrr (加權輪循):按權重比例進行調度,權重越大,負責的請求越多(權重=優(yōu)先級)

sh (源地址hash):源地址散列或源地址hash,實現(xiàn)會話綁定,保留之前建立的會話信息。將來自于同一個ip地址的請求發(fā)送給一個真實服務器。

dh (目標地址hash):將同一個目標地址的請求,發(fā)送給同一個服務器節(jié)點。提高緩存命中率

動態(tài)算法:既要考慮算法本身,也要考慮服務器狀態(tài)(原理:通過hash表記錄連接狀態(tài)----active/inactive)

LC (最少連接):將新的連接請求分配給當前連接數(shù)最少的服務器。。。公式:活動連接*256+非活動連接

WLC(加權最少連接):最少連接的特殊模式。。。公式:(活動連接*256+非活動連接)/權重

SED(最短期望延遲):加權最少連接的特殊模式。。。。公式:(活動連接 +1)*256/權重

NQ     (永不排隊):sed的特殊模式,當某臺真實服務器連接為0時,直接分配,不計算

LBLC(基于局部性的最少連接):dh的特殊模式,既要提高緩存命中率,又要考慮連接數(shù)量。先根據(jù)請求的目標 IP 地址尋找最近的該目標 IP 地址所有使用的服務器,如果這臺服務器依然可用,并且有能力處理該請求,調度器會盡量選擇相同的服務器,否則會繼續(xù)選擇其它可行的服務器

LBLCR(帶復制的基于局部性的最少連接):LBLCR=LBLC+緩存共享機制

實驗:基于NAT模式負載集群搭建

拓撲展示:

集群環(huán)境分析及部署(基礎)




背景:需要五臺虛擬機,圖中IP為展示使用,以下操作,不一樣

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)


在共享存儲服務器上面配置NFS

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

在RS1和RS2上面分別安裝Apache服務

RS1的網(wǎng)頁頁面通過掛載NFS服務器上面的首頁

mount -t nfs 192.168.115.179:/share /var/www/html/

掛載之后、啟動Apache服務之后,失敗

chcon -R -h -t httpd_sys_content_t /var/www/html/

之后就好了

RS1的網(wǎng)關指向負載調度器的內(nèi)網(wǎng)口IP

route add default gw 192.168.115.175

RS2的網(wǎng)頁由自己創(chuàng)建,兩個服務首頁不同,方便區(qū)分

RS2的網(wǎng)關指向負載調度器的內(nèi)網(wǎng)口IP

集群環(huán)境分析及部署(基礎)

負載調度器:(雙網(wǎng)卡)

開啟路由轉發(fā)功能

集群環(huán)境分析及部署(基礎)

并執(zhí)行sysctl -p刷新

安裝IPVSadm軟件

集群環(huán)境分析及部署(基礎)

檢查ipvsadm是否安裝成功

集群環(huán)境分析及部署(基礎)

配置

集群環(huán)境分析及部署(基礎)


外網(wǎng)客戶端驗證:(每刷新一次,頁面會一次出現(xiàn))

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)



基于DR模式的負載集群:

原理拓撲展示:

集群環(huán)境分析及部署(基礎)

實驗拓撲展示:

集群環(huán)境分析及部署(基礎)


圖上IP地址僅供參考:

ARP工作原理:

集群環(huán)境分析及部署(基礎)

arp_ignore:接收到其他主機的ARP請求后的響應級別

后面參數(shù)設置的如果是0:

只要本機配置有響應的IP地址就響應

集群環(huán)境分析及部署(基礎)

后面參數(shù)設置的如果是1:

僅響應請求的目的地址配置在請求到達的網(wǎng)絡接口上

集群環(huán)境分析及部署(基礎)


arp_announce:設置ARP通告的級別

0:通告網(wǎng)絡本機所有接口的任何地址信息

2:僅向目標網(wǎng)絡通告網(wǎng)絡與其相匹配的網(wǎng)絡信息

配置:

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

負載調度器:

配置ifcfg0:1映射子端口,地址為集群IP(210)

優(yōu)化環(huán)境配置:(/etc/sysctl.conf)

集群環(huán)境分析及部署(基礎)

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.eth0.send_redirects = 0

sysctl -p

查詢IPVS是否安裝:

grep -i "ip_vs" /boot/config-2.6.32-431.el6.x86_64集群環(huán)境分析及部署(基礎)

安裝ipvsadm

rpm -ivh ipvsadm-1.26-2.el6.x86_64.rpm

設置增加負載調度器,默認使用輪詢

ipvsadm -A -t 192.168.115.210:80 -s rr

設置使用DR模式

ipvsadm -a -t 192.168.115.210:80 -r 192.168.115.178:80 -g

ipvsadm -a -t 192.168.115.210:80 -r 192.168.115.173:80 -g

ipvsadm -L -n

service ipvsadm save

共享存儲服務器:

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)


RS1配置:

配置本地回環(huán)接口IP

集群環(huán)境分析及部署(基礎)

優(yōu)化環(huán)境變量(/etc/sysctl.conf)

集群環(huán)境分析及部署(基礎)

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.default.arp_ignore = 1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

sysctl -p

安裝Apache服務,并將NFS服務器上面的主頁內(nèi)容掛在過來

mount -t nfs 192.168.115.179:/share /var/www/html/

集群環(huán)境分析及部署(基礎)


設置一條路由,凡是請求跟集群地址(115.210)相關的信息的時候,都會交給本地回環(huán)接口處理

route add -host 192.168.115.210 dev lo:0


RS2配置:

配置本地回環(huán)映射端口:

集群環(huán)境分析及部署(基礎)

優(yōu)化環(huán)境:

集群環(huán)境分析及部署(基礎)

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.default.arp_ignore = 1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

sysctl -p

安裝Apache服務,手動創(chuàng)建一個主頁,區(qū)分內(nèi)容,以便達到實驗效果

集群環(huán)境分析及部署(基礎)


設置一條路由,凡是請求跟集群地址(115.210)相關的信息的時候,都會交給本地回環(huán)接口處理

route add -host 192.168.115.210 dev lo:0

客戶端驗證:直接訪問集群的IP,進行訪問,刷新會依次輪詢顯示頁面

集群環(huán)境分析及部署(基礎)

集群環(huán)境分析及部署(基礎)

ipvsadm命令參數(shù)選項詳細含義如下所示

-A (--add-service) 在內(nèi)核的虛擬服務器列表中添加一條新的虛擬IP記錄。也就是增加一臺新的虛擬服務器。虛擬IP也就是虛擬服務器的IP地址。

-E (--edit-service) 編輯內(nèi)核虛擬服務器列表中的一條虛擬服務器記錄

-D (--delete-service) 刪除內(nèi)核虛擬服務器列表中的一條虛擬服務器記錄

-C (--clear) 清除內(nèi)核虛擬服務器列表中的所有規(guī)則

-R (--restore) 恢復虛擬服務器規(guī)則

-S (--save) 保存虛擬服務器規(guī)則,輸出為-R 選項可讀的格式

-a (--add-server) 在內(nèi)核虛擬服務器列表的一條記錄里添加一條新的Real Server記錄。也就是在一個虛擬服務器中增加一臺新的Real Server

-e (--edit-server) 編輯一條虛擬服務器記錄中的某條Real Server記錄

-d (--delete-server) 刪除一條虛擬服務器記錄中的某條Real Server記錄

-L|-l –list 顯示內(nèi)核中虛擬服務器列表

-Z (--zero) 虛擬服務器列表計數(shù)器清零(清空當前的連接數(shù)量等)

--set tcp tcpfin udp 設置連接超時值

-t 說明虛擬服務器提供的是tcp服務,此選項后面跟如下格式:

[virtual-service-address:port] or [real-server-ip:port]

-u 說明虛擬服務器提供的是udp服務,此選項后面跟如下格式:

[virtual-service-address:port] or [real-server-ip:port]

-f  fwmark 說明是經(jīng)過iptables標記過的服務類型

-s  此選項后面跟LVS使用的調度算法

有這樣幾個選項: rr|wrr|lc|wlc|lblc|lblcr|dh|sh

默認的調度算法是: wlc

-p  [timeout] 在某個Real Server上持續(xù)的服務時間。也就是說來自同一個用戶的多次請求,將被同一個Real Server處理。此參數(shù)一般用于有動態(tài)請求的操作中,timeout 的默認值為360 分鐘。例如:-p 600,表示持續(xù)服務時間為600分鐘。

-r 指定Real Server的IP地址,此選項后面跟如下格式:

 [real-server-ip:port]

-g (--gatewaying) 指定LVS 的工作模式為直接路由模式(此模式是LVS 默認工作模式)

-i (-ipip) 指定LVS 的工作模式為隧道模式

-m (--masquerading) 指定LVS 的工作模式為NAT模式

-w (--weight) weight 指定Real Server的權值

-c (--connection) 顯示LVS目前的連接信息 如:ipvsadm -L -c

-L --timeout 顯示“tcp tcpfin udp”的timeout值,如:ipvsadm -L --timeout

-L --daemon 顯示同步守護進程狀態(tài),例如:ipvsadm -L –daemon

-L  --stats 顯示統(tǒng)計信息,例如:ipvsadm -L –stats

-L  --rate 顯示速率信息,例如:ipvsadm -L  --rate

-L  --sort 對虛擬服務器和真實服務器排序輸出,例如:ipvsadm -L --sort

注: 保存添加的虛擬ip記錄和ipvsadm的規(guī)則可以使用service ipvsadm save,還可以用-S或--save。清除所有記錄和規(guī)則除了使用-C,還以使用--clear。


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI