您好,登錄后才能下訂單哦!
集群與存儲
簡介(集群是什么)
一組通過高速網(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)高可用的、可伸縮的web、Mail、Cache和Media等網(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 :主機52和53
分發(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
添加realserver(NAT)
]# 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.253為VIP 算法采用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 52和53
1.修改網(wǎng)絡(luò)接口的內(nèi)核參數(shù),主機52和53,為保以后每次開機都能生效,將以下命名追加至/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,主機52和53都要加
ifconfig lo:1 192.168.4.253/32
echo ‘ifconfig lo:1 192.168.4.253/32’ > /etc/rc.local
3.運行web服務(wù)
主機52:yum -y install httpd
echo xiao > /var/www/html/index.html
主機53:yum -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
免責聲明:本站發(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)容。