您好,登錄后才能下訂單哦!
集群與存儲
簡介(集群是什么)
一組通過高速網絡互聯的計算機組,并以單一系統的模式加一管理
將很多服務器集中起來一起,提供一種服務,在客戶端看起來就像是只有一個服務器
可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對較高的收益
任務調度是集群系統中的核心技術
集群目的:
提高性能:計算密集型應用,如:天氣預報,核試驗模擬
降低成本:相對百萬美元的超級計算機,價格便宜
提高可擴展性:只要增加集群節點就可以
增強可靠性:多個節點完成相同功能,避免單點失敗的故障
集群分類:
高可用計算集群HPC
通過以集群開發的并行應用程序,解決復雜的科學問題
應用:在天氣、航空、航海等科學領域的科學計算
負載均衡(LB)集群
客戶端負載在計算機集群中盡可能平均分攤
高可用(HA)集群
避免單點故障,當一個系統發生故障時,可以快速遷移
LB的實現:LVS軟件 Haproxy軟件 Nginx
HA的實現:keepalived軟件
LVS項目介紹:
Linux虛擬服務器(LVS)是章文嵩在國防科技大學就讀博士期間創建的
LVS可以實現高可用的、可伸縮的web、Mail、Cache和Media等網絡服務
最終目標時利用Linux操作系統和LVS集群和LVS集群軟件實現一個高可用、高性能、低成本的服務器應用集群
LVS集群組成
前端:負載均衡層,由一臺或多臺
中間:服務器群組層,由一組實際運行應用服務的服務器組成
地端:數據共享存儲層,提供共享存儲空間的存儲區域
LVS術語
Director Server : 度服務器
將負載分發到Real server的服務器
Real server:真實服務器
真正提供應用服務的服務器
VIP:虛擬IP地址
公布給用戶訪問的細膩IP地址
RIP:真實IP地址
集群節點上使用IP地址
DIP:調度器連接節點服務器的IP地址
LVS工作模式
VS/NAT
通過網絡地址轉換實現的虛擬服務器
VS/DR
直接使用路由技術實現虛擬服務器
節點服務器需要配置VIP,注MAC地址廣播
VS/TUN
通過隧道凡是實現虛擬服務器
不同地點的不同機房需要提供服務時,就需要將LVS設置為VS/TUN模式
LVS負載均衡調度算法,目前實現了10中調度算法
輪詢(Round Robin)
加權輪詢(Weighted Round Robin)
最少連接(Least Connections)
加權最少連接(Weighted Least Connections)
LVS實驗(輪詢):
一、配置LVS/NAT集群
主機角色:
Real server :主機52和53
分發器 :主機54
客戶端 :主機50
存儲服務 :主機51
實驗準備:
分發器: 主機54
Eth0:私由網絡 IP 地址 192.168.4.54
Eth0:公有網絡Ip 地址:192.168.2.54
開啟內核的路由轉發功能
real server
主機52 eth0 192.168.4.52
主機網關:192.168.4.54
主機:53 eth0 192.168.4.53
網關:192.168.4.54
打開主機54內核路由轉發功能
sysctl -a | grep ip_forward //查看路由轉發是否打開,默認是打開了的
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 //新添加
Real server:
route命令用來顯示并設置Linux內核中的網絡路由表,route命令設置的路由主要是靜態路由。
主機52/53:添加網關
Route add default gw 192.168.4.54
主機50:添加網關
Route add default gw 192.168.2.54
注:route del default gw 192.168.4.54 //配置錯誤以這條命令刪除
Route -n //查看路由表
配置分發器主機54
ipvsadm 用法:
-A | 添加虛擬服務器 |
-t | 設置集合群地址(VIP,Virtual IP) |
-s | 指定負載調度算法 |
-a | 添加真實服務器 |
-d | 刪除真實服務器 |
-r | 指定真實服務器(real server) |
-m | 使用NAT模式;-g、-i分別對應DR、TUN模式 |
-w | 為節點服務器設置權重,默認為1 |
-C | 清除ipvsadm所有配置 |
-S | 永久保存配置 |
-E | 更改調度算法 |
-e | |
-Z | 清空(ipvsadm -Ln --stats)計數器 |
VIP地址:對外提供服務的地址
vip :192.168.2.54
rip :192.168.4.52
192.168.4.53
1.安裝ipvsadm軟件包
yum -y install ipvsadm.x86_64
2.創建虛擬服務 采用rr調度算法,輪詢算法;wrr
]# ipvsadm -A -t 192.168.2.54:80 -s rr
3.添加服務器節點(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:分發模式
ActiveConn:是活動連接數
Weight:權重,在負載均衡的時候,誰的值越大分發的次數越多
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:請求連接數
InPkts:進來的數據包
OutPkts:出去的數據包
InBytes:進來的數據字節數
OutBytes:出去進來的數據字節數
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
修改調度算法
]# ipvsadm -E -t 192.168.2.54:80 -s wrr
修改real server的權重
]# ipvsadm -e -t 192.168.2.54:80 -r 192.168.4.53 -w 2 -m
清空計數器(ipvsadm -Ln --stats的計數)
]# ipvsadm -Z
清空所有配置
]# ipvsadm -C
保存所以配置
]# ipvsadm -S > /etc/sysconfig/ipvsadm-config
重啟ipvsadm服務
]# ipvsadm -S > /etc/sysconfig/ipvsadm
]# systemctl restart ipvsadm.service
配置LVS/DR模式集群
原理:請求流量由分發器下發給realserver,響應流量由服務器直接發給客戶端
準備:
需求:客戶端訪問VIP地址:192.168.4.253訪問網站集群
配置分發器 54
1.在本機的eth0接口上綁定vip地址192.168.4.253,這里命令行設置當 前有效重啟后失效,將其夾入到/etc/rc.load文件中每次開機自動運行
]# ifconfig eth0:1 192.168.4.254/32
]# echo ‘ifconfig eth0:1 192.168.4.254/32’ >> /etc/rc.local
2.創建虛擬服務,以192.168.4.253為VIP 算法采用rr 輪詢算法
]# ipvsadm -A -t 192.168.4.253:80 -s rr
3.添加real server節點,-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.修改網絡接口的內核參數,主機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服務
主機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服務做LB集群時,不能夠對realserver服務做健康行檢查
解決辦法,在分發器上定期執行監測腳本
vim /root/checklvs.sh
#!/bin/bash
如何知道realserver 80 是不是開放狀態可以用nmap去檢查
nmap -sS -n -p 80 192.168.4.53 在這個命令里去過濾open 如果是open就是打 開不是就是關閉的把他的值給一個變量
nmap -sS -n -p 80 192.168.4.53 | grep open
當realserver 80 不是開放狀態的時候就在本機執行刪除realserver的命令
ipvsadm -d -t 192.168.4.253:80 -r 192.168.4.x
當realserver 80 是開放狀態的時候在把刪除realserver的命令添加到虛擬服務里
ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.x:80
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。