集群概念課件1、linux化_第1頁
集群概念課件1、linux化_第2頁
集群概念課件1、linux化_第3頁
集群概念課件1、linux化_第4頁
集群概念課件1、linux化_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、2、集群的分類4負(fù)載均衡集群 - LBC4高可用集群 HAC5高性能運(yùn)算集群 HPC6二、負(fù)載均衡集群61、LVS 相關(guān)原理62、LVS 工作方式6LVS DR 模式7LVS NAT 模式8LVS TUN 模式8LVS 實(shí)驗(yàn)構(gòu)建9LVS NAT 模式集群構(gòu)建9LVS DR 模式集群構(gòu)建10三、4、負(fù)載均衡集群相關(guān)調(diào)度算法12 靜態(tài)調(diào)度算法12動態(tài)調(diào)度算法125、LVS 持久連接13 持久客戶端連接13 持久端口連接13持久標(biāo)記連接13三、高可用集群141、Keepalived 相關(guān)說明14相關(guān)介紹14實(shí)現(xiàn)原理142、Keepalived + LVS 高可用實(shí)驗(yàn)構(gòu)建15 實(shí)驗(yàn)構(gòu)建設(shè)計(jì)圖15 實(shí)驗(yàn)

2、構(gòu)建代碼153、HeartBeat + Nginx 實(shí)驗(yàn)構(gòu)建18 實(shí)驗(yàn)構(gòu)建說明18 實(shí)驗(yàn)代碼構(gòu)建18一、集群概述1、集群是什么?定義:一組協(xié)同工作的服務(wù)器,對外表現(xiàn)為一個(gè)整體集群的意義:更好的利用現(xiàn)有資源實(shí)現(xiàn)服務(wù)的高度可用集群擴(kuò)展方式垂直擴(kuò)展:更換服務(wù)器硬件水平擴(kuò)展:添加的服務(wù)器節(jié)點(diǎn)常見的集群拓?fù)?、集群的分類負(fù)載均衡集群 - LBC使用意圖:減輕單臺服務(wù)器的壓力,將用戶請求分擔(dān)給多臺主機(jī)一起處理實(shí)現(xiàn)方法:LVSRACNginx硬件:F5BIG-IP負(fù)載均衡集群架構(gòu)拓?fù)湔{(diào)度器分類觸發(fā)條件不同四層:傳輸層IP+PORT七層:應(yīng)用層URL實(shí)現(xiàn)原理不同四層:TCP 連接只建立一次,客戶端和正式服務(wù)器

3、七層:TCP 連接建立兩次,客戶端和負(fù)載調(diào)度器 負(fù)載調(diào)度器和真實(shí)服務(wù)器實(shí)現(xiàn)場景不同四層:TCP 應(yīng)用 如:基于 C/S 機(jī)構(gòu)的系統(tǒng)七層:HTTP 應(yīng)用 如:根據(jù)用戶的方式,判斷用戶語言安全性不同四層:轉(zhuǎn)發(fā) SYN七層:可以SYN使用范圍:業(yè)務(wù)并發(fā)較大的應(yīng)用程序高可用集群 HAC使用意圖:最大限度的保證用戶的應(yīng)用持久,不間斷的提供服務(wù)最大限度99%9987.6 小時(shí)99.9%9998.8 小時(shí)99.99%999953 分鐘99.999%999995 分鐘實(shí)現(xiàn)原理:心跳檢測實(shí)現(xiàn)方法heartbeatlinux-HARHCSROSEkeepalived硬件F5特殊情況:腦可能出現(xiàn):數(shù)據(jù)不完整、數(shù)據(jù)不

4、可解決方法:預(yù)防:冗余、:電源交換機(jī)使用范圍:需要持續(xù)提供服務(wù)的應(yīng)用程序高性能運(yùn)算集群 HPC使用意圖:提供單臺計(jì)算機(jī)所不具備的計(jì)算能力LBC 與 HAC 的原理對比:負(fù)載均衡集群通過提高時(shí)間內(nèi)執(zhí)行的任務(wù)數(shù)來效率高性能運(yùn)算集群通過縮短單個(gè)任務(wù)的執(zhí)行時(shí)間來提高效率使用范圍:天氣計(jì)算、火箭彈道演算二、負(fù)載均衡集群1、LVS 相關(guān)原理LVS 的組成IPVS:運(yùn)行在內(nèi)核空間IPVSADM:運(yùn)行在用戶空間,管理集群服務(wù)令行工具LVS 的原理:根據(jù)用戶請求的套接字判斷,分流至真實(shí)服務(wù)器的工作模塊2、LVS 工作方式工作模式LVS DR模式工作邏輯圖模式特點(diǎn)集群節(jié)點(diǎn),必須在一個(gè)網(wǎng)絡(luò)中真實(shí)服務(wù)器網(wǎng)關(guān)指向路由器

5、RIP 既可以是私網(wǎng)地址,又可以是公網(wǎng)地址負(fù)載調(diào)度器只負(fù)責(zé)入站請求大大減輕負(fù)載調(diào)度器壓力,支持的服務(wù)器節(jié)點(diǎn) LVS NAT 模式工作邏輯圖模式特點(diǎn)集群節(jié)點(diǎn),必須在一個(gè)網(wǎng)絡(luò)中真實(shí)服務(wù)器必須將網(wǎng)關(guān)指向負(fù)載調(diào)度器RIP 通常都是私有 IP,僅用于各個(gè)集群節(jié)點(diǎn)通信負(fù)載調(diào)度器必須位于客戶端和真實(shí)服務(wù)器之間,充當(dāng)網(wǎng)關(guān)支持端口負(fù)載調(diào)度器操作系統(tǒng)必須是Linux ,真實(shí)服務(wù)器可以使用任意系統(tǒng) LVS TUN 模式工作邏輯圖模式特點(diǎn)集群節(jié)點(diǎn)不必位于同一個(gè)物理網(wǎng)絡(luò)但必須都擁有公網(wǎng) IP(或都可以被路由)真實(shí)服務(wù)器不能將RIP 必須是公網(wǎng)地址指向負(fù)載調(diào)度器負(fù)載調(diào)度器只負(fù)責(zé)入站請求不支持端口功能發(fā)送方和接收方必須支持

6、隧道功能LVS三、實(shí)驗(yàn)構(gòu)建LVS NAT 模式集群構(gòu)建實(shí)驗(yàn)架構(gòu)圖構(gòu)建代碼負(fù)載調(diào)度器vi /etc/sysctl.conf# 開啟路由轉(zhuǎn)發(fā)功能net.ipv4.ip_forward=1sysctl -piptables -t nat -ATROUTING -s /24 -o eth0-j SNAT -to-source 1# 添加轉(zhuǎn)換源地址為,當(dāng)源地址是 內(nèi)網(wǎng)網(wǎng)段 并且出口網(wǎng)卡為 eth0 的時(shí)候進(jìn)行 SNAT 轉(zhuǎn)換,卡地址iptables -t nat -L# 查看是否保存成功ipvsadm -A -t 1:80 -s rr# 添加 ipvsadm TCP 集群ipvsadm -a -t 1:

7、80 -r 2:80 -mipvsadm -Ln# 添加 ipvsadm 節(jié)點(diǎn)service ipvsadm savechkconfig ipvsadm on#保存 ipvs 集群設(shè)置到文件進(jìn)行持久化真實(shí)服務(wù)器route add default gw IP 地址# 指定網(wǎng)關(guān)至負(fù)載調(diào)度器service httpd startchkconfig httpd on#開啟 Apache 服務(wù)器LVS DR模式集群構(gòu)建實(shí)驗(yàn)架構(gòu)圖構(gòu)建代碼負(fù)載調(diào)度器service NetworkManager stop# 關(guān)閉網(wǎng)卡守護(hù)進(jìn)程cd /etc/sysconfig/network-scripts/ cp ifcfg

8、-eth0 ifcfg-eth0:0vim ifcfg-eth0:0DEVICE=eth0:0 IPADDR=虛擬 IP NETMASK=ifup eth0:0# 拷貝 eth0 網(wǎng)卡子接口充當(dāng)集群接口vim /etc/sysctl.conf# 關(guān)閉網(wǎng)卡重定向功能net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.defauld_redirects = 0net.ipv4.conf.eth0.send_redirects = 0sysctl -pmodprobe ip_vs# 重載 ipvs 模塊rpm -ivh ipvsadm-1.26l.#

9、安裝 ipvsadm 命令行工具ipvsadm -v# 查看當(dāng)前 ipvs ipvsadm -A -t 虛擬 IP:80 -s rr ipvsadm -a -t 虛擬 IP:80 -r ipvsadm -a -t 虛擬 IP:80 -r ipvsadm -Lnservice ipvsadm save# 保存集群內(nèi)容# 添加 ipvs TCP 集群1:80 -g2:80 -g# 添加 ipvsadm 集群子節(jié)點(diǎn)ipvs 集群內(nèi)容至文件,進(jìn)行持久化chkconfig ipvsadm on# 設(shè)置為開機(jī)自啟真實(shí)服務(wù)器service NetworkManager stopcd /etc/sysconf

10、ig/network-scripts/ cp ifcfg-lo ifcfg-lo:0# 關(guān)閉網(wǎng)卡守護(hù)進(jìn)程vim ifcfg-lo:0DEVICE=lo:0# 拷貝回環(huán)網(wǎng)卡子接口IPADDR=虛擬 IPNETMASK=55vim /etc/sysctl.conf # 關(guān)閉對應(yīng) ARP 響應(yīng)及公告功能net.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2net.ipv4.conf.default.arp_ignore = 1net.ipv4.conf.default.arp_announce = 2net.ipv4.co

11、nf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2 sysctl -pifup lo: 0route add -host 虛擬 IP dev lo:0service httpd start# 添加路由,當(dāng)VIP 交給lo:0 網(wǎng)卡接受4、負(fù)載均衡集群相關(guān)調(diào)度算法 靜態(tài)調(diào)度算法特點(diǎn):只根據(jù)算法本身去調(diào)度,不考慮服務(wù)器本身算法說明RR輪詢:將每次用戶的請求分配給后端的服務(wù)器,從第一臺服務(wù)器開始到第N 臺結(jié)束,然后循環(huán)WRR輪詢:按照權(quán)重的比例實(shí)現(xiàn)在多臺主機(jī)之間進(jìn)行調(diào)度SH(source hash)源地址散列:將同一個(gè) IP 的用戶請求,發(fā)送給

12、同一個(gè)服務(wù)器DH(destination hash)目標(biāo)地址散列:將同一個(gè)目標(biāo)地址的用戶請求發(fā)送給同一個(gè)真實(shí)服務(wù)器(提高緩存中率)動態(tài)調(diào)度算法特點(diǎn):除了考慮算法本身,還要考慮服務(wù)器狀態(tài)算法說明LC(lest-connection)最少連接:將新的連接請求,分配給連接數(shù)最少的服務(wù)器接 256 + 非活動連接活動連WLC最少連接:特殊的最少連接算法,權(quán)重越大承擔(dān)的請求數(shù)越多(活動連接 256 + 非活動連接 ) /權(quán)重SED 最短期望延遲:特殊的WLC 算法 (活動連接 + 1) *256 /權(quán)重NQ 永不排隊(duì):特殊的 SED 算法,無需等待,如果有真實(shí)服務(wù)器的連接數(shù)等于 0 那就直接分配不需要運(yùn)

13、算LBLC 特殊的DH 算法:即能提高緩存,又要考慮服務(wù)器性能LBLCRLBLC+緩存:盡可能提高負(fù)載均衡和緩存的折中方案5、LVS 持久連接 持久客戶端連接定義:每客戶端持久;將來自于同一個(gè)客戶端的所有請求統(tǒng)統(tǒng)定向至此前選定的 RS;也就是只要 IP相同,分配的服務(wù)器始終相同演示代碼ipvsadm -A -t :0 -s wlc -p 120# 添加一個(gè) tcp 負(fù)載集群,集群地址為 ,算法為 wlc,持久化時(shí)間為 120s 持久端口連接定義:每端口持久;將來自于同一個(gè)客戶端對同一個(gè)服務(wù)(端口)的請求,始終定向至此前選定的 RS演示代碼ipvsadm -A -t :80 -s rr -p 1

14、20算法為 wlc,持久化時(shí)間為 120s# 添加一個(gè) tcp 負(fù)載集群,集群地址為 :80 ,持久標(biāo)記連接定義:將來自于同一客戶端對指定服務(wù)(端口)的請求,始終定向至此選定的 RS;不過它可以將兩個(gè)毫不相干的端口定義為一個(gè)集群服務(wù)演示代碼iptables -t mangle -A PREROUTING -d -p tcp -dport 80 -j MARK -set-mark 10# 添加一個(gè)規(guī)則,當(dāng)目標(biāo)地址為 并且 目標(biāo)端口為 80 時(shí)給數(shù)據(jù)包打一個(gè)標(biāo)記,設(shè)置mark 值為 10iptables -t mangle -A PREROUTING -d -p tcp -dport 443 -j

15、 MARK -set-mark 10# 添加一個(gè)規(guī)則,當(dāng)目標(biāo)地址為 并且 目標(biāo)端口為 443時(shí)給數(shù)據(jù)包打一個(gè)標(biāo)記,設(shè)置mark 值為 10service iptables save# 保存規(guī)則持久化生效# 添加一個(gè)負(fù)載調(diào)度器,當(dāng) markipvsadm -A -f 10 -s wlc -p 120值為10時(shí)進(jìn)行負(fù)載均衡使用wlc 算法,持久化生效時(shí)間為 120s三、高可用集群1、Keepalived 相關(guān)說明相關(guān)介紹案例環(huán)境專為 LVS 和HA 設(shè)計(jì)的一款健康檢查工具支持故障自動切換(Failover)支持節(jié)點(diǎn)健康狀態(tài)檢查(Health Checking):實(shí)現(xiàn)原理VRRP(Virtual R

16、outer Redundancy Protocol,虛擬路由冗余協(xié)議)一主 + 多備,共用同一個(gè) IP 地址,但優(yōu)先級不同2、Keepalived + LVS高可用實(shí)驗(yàn)構(gòu)建實(shí)驗(yàn)構(gòu)建設(shè)計(jì)圖 實(shí)驗(yàn)構(gòu)建代碼構(gòu)建前提先構(gòu)建 LVS-DR 模式的負(fù)載均衡集群,可參照上文進(jìn)行構(gòu)建負(fù)載調(diào)度器-1yum -y install kernel-devel openssl-devel popt-devel gcc*# 安裝相關(guān)keepalived 依賴tar -zxf keepalived.cd keep.# 源碼安裝 Keepalived./configure -prefix=/ -with-kernel-dir

17、=/usr /src/kernels/2.6.32./makemake installchkconfig -add keepalived# 設(shè)置 Keepalived 開機(jī)自啟chkconfig keepalived onvi /etc/keepalived/keepalived.conf global_defs # 修改 Keepalived配置router_id R1#命名主機(jī)名vrrp_instance VI-1 se MASTER# 設(shè)置服務(wù)類型主/從(MASTER/SLAVE)erface eth0virtual_router_id# 指定那塊網(wǎng)卡用來66# 設(shè)置組號, 如果是一組就

18、是相同的 ID 號,一個(gè)主里面只能有一個(gè)主服務(wù)器和多個(gè)從服務(wù)器priority 100# 服務(wù)器優(yōu)先級, 主服務(wù)器優(yōu)先級高# 心跳時(shí)間, 檢測對方存活# 存活驗(yàn)證advert_1authenticetionauth_type PASSauth_pass 1111virtual_ipaddress 00#設(shè)置集群地址virtual_server 00 80 # 設(shè)置集群地址 以及端delay_loop 6 lb_algorr lb_kind DRprotocol TCP# 健康檢查間隔 # 使用輪詢調(diào)度算法 # DR 模式的群集# 使用的協(xié)議real_server 80 # 管理的節(jié)點(diǎn)以及使用端

19、口weight 1# 權(quán)重, 優(yōu)先級 在原文件基礎(chǔ)上刪除修改TCP_CHECK # 狀態(tài)檢查方式connect_port 80# 檢查的目標(biāo)端口connect_timeout 3nb_get_retry 3# 連接超時(shí)(秒)重試次數(shù)#delay_before_retry 4# 重試間隔(秒)real_server 80 # 管理的第二個(gè)節(jié)點(diǎn)以及使用端口weight 1# 權(quán)重, 優(yōu)先級 在原文件基礎(chǔ)上刪除修改TCP_CHECK #connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 4狀態(tài)檢查方式# 檢查的目標(biāo)端口#

20、連接超時(shí)(秒)# 重試次數(shù)# 重試間隔(秒)* 多余刪除scp keepalived.conf.xx: /etc/keepalived/負(fù)載調(diào)度器-2yum -y install kernel-devel openssl-devel popt-devel gcc*# 安裝相關(guān) keepalived 依賴tar -zxf keepalived.cd keep.# 源碼安裝 Keepalived./configure -prefix=/ -with-kernel-dir=/usr /src/kernels/2.6.32./makemake installchkconfig -add keepali

21、vedchkconfig keepalived on# 設(shè)置 Keepalived 開機(jī)自啟修改從 負(fù)載調(diào)度器-1 拷貝的 Keepalived 配置文件 vi /etc/keepalived/keepalived.conf修改 1:se MASTER修改至 se SLAVE修改 2:priority 100 修改至 priority 47一般建議與主服務(wù)器差值為 50service NetworkManager stopcd /etc/sysconfig/network-scripts/ cp ifcfg-eth0 ifcfg-eth0:0# 啟動虛擬借口,必須關(guān)閉此服務(wù)vim ifcfg-

22、eth0:0# 配置虛擬借口DEVICE=eth0:0IPADDR=虛擬 IPNETMASK=ifup eth0:0# 啟動虛擬網(wǎng)卡vi /etc/sysconfig/network-script/ifup-eth注釋此區(qū)域# 如果 報(bào)錯(cuò)修改文件 257vim /etc/sysctl.conf 修改內(nèi)核參數(shù)。 防止相同網(wǎng)絡(luò)地址廣播net.ipv4.conf.eth0.send_redirects = 0net.ipv4.conf.all.send_redirects = 0, 如果有多快網(wǎng)卡需要設(shè)置多行net.ipv4.conf.defauld_redirects = 0net.ipv4.conf.eth0.send_redirects = 0 sysctl -p 刷新內(nèi)核參數(shù)modprobe ip_vs 查看內(nèi)核是否加載, 無法應(yīng)則以加載cat /proc/net/ip_vs 參看版本, 確認(rèn)知否正確加載cd /mnt/cdrom/Packages/ 進(jìn)入光盤掛載目錄rpm -ivh ipvsadm-1.26l安裝 ipvsadm 管理工具ipvsadm -vipvsadm -A -t 虛擬 IP:80 -s rripvsadm -Ln 查看設(shè)置的 ipvsadm 如果沒有子項(xiàng), 那么手動添加ipvsadm -a -t 虛擬

溫馨提示

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

評論

0/150

提交評論