溫馨提示×

溫馨提示×

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

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

集群與存儲

發(fā)布時間:2020-08-03 14:41:48 來源:網(wǎng)絡(luò) 閱讀:696 作者:瀟九九 欄目:建站服務(wù)器


集群與存儲

簡介(集群是什么)
一組通過高速網(wǎng)絡(luò)互聯(lián)的計算機組,并以單一系統(tǒng)的模式加一管理

將很多服務(wù)器集中起來一起,提供一種服務(wù),在客戶端看起來就像是只有一個服務(wù)器

可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對較高的收益

任務(wù)調(diào)度是集群系統(tǒng)中的核心技術(shù)

集群目的:

提高性能:計算密集型應(yīng)用,如:天氣預(yù)報,核試驗?zāi)M

降低成本:相對百萬美元的超級計算機,價格便宜

提高可擴展性:只要增加集群節(jié)點就可以

增強可靠性:多個節(jié)點完成相同功能,避免單點失敗的故障

集群分類:

高可用計算集群HPC

通過以集群開發(fā)的并行應(yīng)用程序,解決復雜的科學問題

應(yīng)用:在天氣、航空、航海等科學領(lǐng)域的科學計算

負載均衡LB)集群

客戶端負載在計算機集群中盡可能平均分攤

高可用(HA)集群

避免單點故障,當一個系統(tǒng)發(fā)生故障時,可以快速遷移

 

LB的實現(xiàn):LVS軟件 Haproxy軟件 Nginx

HA的實現(xiàn):keepalived軟件

 

LVS項目介紹:

Linux虛擬服務(wù)器(LVS)是章文嵩在國防科技大學就讀博士期間創(chuàng)建的

LVS可以實現(xiàn)高可用的、可伸縮的webMail、CacheMedia等網(wǎng)絡(luò)服務(wù)

最終目標時利用Linux操作系統(tǒng)和LVS集群和LVS集群軟件實現(xiàn)一個高可用、高性能、低成本的服務(wù)器應(yīng)用集群

 

LVS集群組成

前端:負載均衡層,由一臺或多臺

中間:服務(wù)器群組層,由一組實際運行應(yīng)用服務(wù)的服務(wù)器組成

地端:數(shù)據(jù)共享存儲層,提供共享存儲空間的存儲區(qū)域

 

LVS術(shù)語

Director Server : 度服務(wù)器

將負載分發(fā)到Real server的服務(wù)器

Real server:真實服務(wù)器

真正提供應(yīng)用服務(wù)的服務(wù)器

VIP:虛擬IP地址

公布給用戶訪問的細膩IP地址

RIP:真實IP地址

集群節(jié)點上使用IP地址

DIP:調(diào)度器連接節(jié)點服務(wù)器的IP地址

LVS工作模式

VS/NAT

通過網(wǎng)絡(luò)地址轉(zhuǎn)換實現(xiàn)的虛擬服務(wù)器

VS/DR

直接使用路由技術(shù)實現(xiàn)虛擬服務(wù)器

節(jié)點服務(wù)器需要配置VIP,注MAC地址廣播

VS/TUN

通過隧道凡是實現(xiàn)虛擬服務(wù)器

不同地點的不同機房需要提供服務(wù)時,就需要將LVS設(shè)置為VS/TUN模式

LVS負載均衡調(diào)度算法,目前實現(xiàn)了10中調(diào)度算法

輪詢(Round Robin

加權(quán)輪詢(Weighted Round Robin

最少連接(Least Connections

加權(quán)最少連接(Weighted Least Connections

 

LVS實驗(輪詢):

一、配置LVS/NAT集群

主機角色:

Real server :主機5253

分發(fā)器  :主機54

客戶端      :主機50

存儲服務(wù)   :主機51

實驗準備:

分發(fā)器: 主機54

Eth0:私由網(wǎng)絡(luò) IP 地址 192.168.4.54

Eth0:公有網(wǎng)絡(luò)Ip 地址:192.168.2.54

開啟內(nèi)核的路由轉(zhuǎn)發(fā)功能

real server

主機52 eth0 192.168.4.52

主機網(wǎng)關(guān):192.168.4.54

主機:53 eth0 192.168.4.53

網(wǎng)關(guān):192.168.4.54

 

 

打開主機54內(nèi)核路由轉(zhuǎn)發(fā)功能  

  sysctl -a | grep ip_forward //查看路由轉(zhuǎn)發(fā)是否打開,默認是打開了的

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1  //新添加

Real server:

route命令用來顯示并設(shè)置Linux內(nèi)核中的網(wǎng)絡(luò)路由表,route命令設(shè)置的路由主要是靜態(tài)路由。

主機52/53:添加網(wǎng)關(guān)

Route add default gw 192.168.4.54 

主機50:添加網(wǎng)關(guān)

Route add default gw 192.168.2.54

注:route del default gw 192.168.4.54 //配置錯誤以這條命令刪除

Route -n //查看路由表

配置分發(fā)器主機54

ipvsadm 用法:

-A

添加虛擬服務(wù)器

-t

設(shè)置集合群地址(VIP,Virtual IP

-s

指定負載調(diào)度算法

-a

添加真實服務(wù)器

-d

刪除真實服務(wù)器

-r

指定真實服務(wù)器(real server

-m

使用NAT模式;-g、-i分別對應(yīng)DR、TUN模式

-w

為節(jié)點服務(wù)器設(shè)置權(quán)重,默認為1

-C

清除ipvsadm所有配置

-S

永久保存配置

-E

更改調(diào)度算法

-e


-Z

清空(ipvsadm -Ln --stats)計數(shù)器

 

VIP地址:對外提供服務(wù)的地址

vip :192.168.2.54

rip :192.168.4.52

 192.168.4.53

1.安裝ipvsadm軟件包

yum -y install ipvsadm.x86_64

2.創(chuàng)建虛擬服務(wù) 采用rr調(diào)度算法,輪詢算法;wrr

]# ipvsadm -A -t 192.168.2.54:80 -s rr  

3.添加服務(wù)器節(jié)點(real server) 用-m采用NAT模式

]# ipvsadm -a -t 192.168.2.54:80 -r 192.168.4.52:80 -m

]# ipvsadm -a -t 192.168.2.54:80 -r 192.168.4.53:80 -m

4.保存ipvs配置

ipvsadm -S > /etc/sysconfig/ipvsadm-config

5.查看IPVS

]# ipvsadm -Ln   

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

    TCP 192.168.4.54:80 rr    

       -> 192.168.4.52:80   Masq     1      0          0         

       -> 192.168.4.53:80   Masq     1      0          0         

Forward:分發(fā)模式

ActiveConn:是活動連接數(shù)

Weight:權(quán)重,在負載均衡的時候,誰的值越大分發(fā)的次數(shù)越多

InActConn

驗證:

 ipvsadm -Ln --stats

Prot LocalAddress:Port Conns InPkts  OutPkts InBytes OutBytes

TCP  192.168.2.54:80   5   30     20     1980     2495

  -> 192.168.4.52:80    2   12     8       792      998

  -> 192.168.4.53:80    3   18     12     1188     1497

Conns:請求連接數(shù)

InPkts:進來的數(shù)據(jù)包

    OutPkts:出去的數(shù)據(jù)包

InBytes:進來的數(shù)據(jù)字節(jié)數(shù)

OutBytes:出去進來的數(shù)據(jù)字節(jié)數(shù)

watch -n 1 ipvsadm -Ln --stats //watch -n 1 命令1秒刷新后面的命令

 

管理集群

刪除nat模式的配置

]# ipvsadm -d -t 192.168.2.54:80 -r 192.168.4.53

添加realserverNAT

]# ipvsadm -a -t 192.168.2.54:80 -r 192.168.4.53 -m

修改調(diào)度算法

]# ipvsadm -E -t 192.168.2.54:80 -s wrr

修改real server的權(quán)重

]# ipvsadm -e -t 192.168.2.54:80 -r 192.168.4.53 -w 2 -m 

清空計數(shù)器(ipvsadm -Ln --stats的計數(shù))

]# ipvsadm -Z

清空所有配置

]# ipvsadm -C

保存所以配置

]# ipvsadm -S > /etc/sysconfig/ipvsadm-config

重啟ipvsadm服務(wù)

]# ipvsadm -S > /etc/sysconfig/ipvsadm

]# systemctl restart ipvsadm.service

 

配置LVS/DR模式集群

原理:請求流量由分發(fā)器下發(fā)給realserver,響應(yīng)流量由服務(wù)器直接發(fā)給客戶端

準備:

需求:客戶端訪問VIP地址:192.168.4.253訪問網(wǎng)站集群

 

配置分發(fā)器 54

1.在本機的eth0接口上綁定vip地址192.168.4.253,這里命令行設(shè)置當 前有效重啟后失效,將其夾入到/etc/rc.load文件中每次開機自動運行

]# ifconfig eth0:1 192.168.4.254/32

]# echo ‘ifconfig eth0:1 192.168.4.254/32’ >> /etc/rc.local

2.創(chuàng)建虛擬服務(wù),以192.168.4.253VIP 算法采用rr 輪詢算法

]# ipvsadm -A -t 192.168.4.253:80 -s rr

3.添加real server節(jié)點,-g采用DR模式

]# ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.52:80 -g

]# ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.53:80 -g

4.保存ipvs配置

]# ipvsadm -S > /etc/sysconfig/ipvsadm-config

5.查看IPVS

]# ipvsadm -Ln

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 192.168.4.253:80 rr

   -> 192.168.4.52:80 Route      1      0          0         

        -> 192.168.4.53:80 Route      1      0          0         

 

 

配置readlserver 5253

1.修改網(wǎng)絡(luò)接口的內(nèi)核參數(shù),主機5253,為保以后每次開機都能生效,將以下命名追加至/etc/rc.load

echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

2.在本機的lo接口綁定vip地址 192.168.4.253/32,主機5253都要加

ifconfig lo:1 192.168.4.253/32

echo ‘ifconfig lo:1 192.168.4.253/32’ > /etc/rc.local

3.運行web服務(wù)

主機52yum -y install httpd

 echo xiao > /var/www/html/index.html

主機53yum -y install httpd

 echo 123 > /var/www/html/index.html

4.驗證:

在客戶機上

curl http://192.168.4.253

 

        擴展LVS

            LVS服務(wù)做LB集群時,不能夠?qū)?/span>realserver服務(wù)做健康行檢查

            解決辦法,在分發(fā)器上定期執(zhí)行監(jiān)測腳本

            vim /root/checklvs.sh

            #!/bin/bash

            如何知道realserver 80 是不是開放狀態(tài)可以用nmap去檢查

            nmap -sS -n -p 80 192.168.4.53 在這個命令里去過濾open 如果是open就是打 開不是就是關(guān)閉的把他的值給一個變量

            nmap -sS -n -p 80 192.168.4.53  | grep  open

           realserver 80 不是開放狀態(tài)的時候就在本機執(zhí)行刪除realserver的命令

           ipvsadm -d -t 192.168.4.253:80 -r 192.168.4.x

           realserver 80 是開放狀態(tài)的時候在把刪除realserver的命令添加到虛擬服務(wù)里

           ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.x:80


 

 



向AI問一下細節(jié)

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

AI