目錄
- 一、負載均衡群集的原理
-
- 1、叢集應用概述
- 2、叢集分類
- 3、負載均衡群集架構
- 4、群集工作模式分析
- 二、LVS-NAT的部署
-
- 1、LVS的負載排程算法
- 2、使用ipvsadm工具
- 三、實驗
一、負載均衡群集的原理
1、叢集應用概述
随着站點對硬體性能,相應速度,服務穩定性,資料可靠性要求越來越高,單台伺服器力不從心。可以使用普通伺服器建構服務群集來解決此問題
-
群集的含義:
又叫叢集、Cluster
由多台主機構成,但對外隻表現一個整體
2、叢集分類
-
負載均衡群集:
1,提高應用系統的響應能力、盡可能處理更多的通路請求,減少延遲為目标,獲得高并發,高負載(LB)的整體性能
2,LB的負載配置設定依賴于主節點的分流算法
實驗:LVS-NAT負載均衡怎麼搞?一、負載均衡群集的原理二、LVS-NAT的部署三、實驗 -
高可用群集:
1,提高應用系統的可靠性,盡可能的減少中斷時間為目标,確定服務的連續性,達到高可用(HA)的哦容錯效果
2,HA的工作方式包括雙工和主從兩種模式
實驗:LVS-NAT負載均衡怎麼搞?一、負載均衡群集的原理二、LVS-NAT的部署三、實驗 -
高性能運算群集:
1,提高應用系統的CPU運算速度,擴充硬體資源和分析能力為目标,獲得相當于大型,超級計算機的高性能運算能力
2,高性能依賴于“分布式運算”,“并行計算”,通過專用硬體和軟體将多個伺服器的CPU,記憶體等資源整合在一起,實作隻有大型,超級計算機才具備的計算能力
3、負載均衡群集架構
第一層:負載排程器
第二層:伺服器池
第三層:共享存儲
4、群集工作模式分析
- 負載均衡群集是目前企業用得最多的群集類型
-
群集的負載排程技術有三種工作模式
1、位址轉換:
簡稱:NAT模式,類似于防火牆的私有網絡結構,負載排程器作為所有伺服器節點的網關,即作為客戶機的通路入口,也是節點回應客戶機的通路出口。
伺服器節點使用私有IP位址,與負載排程器位于同一個實體網絡,安全性要優于其他兩種方式
2、IP隧道
簡稱:TUN模式。采用開放式的網絡結構,負載排程器僅作為客戶機的通路入口,各節點通過各自的Internet連接配接直接回應客戶機,而不再經過排程器
伺服器節點分散在網際網路中的不同位置,具有獨立的公網IP位址,通過專用ip隧道與負載排程器互相通信
3、直接路由
簡稱:DR模式。采用半開放式的網絡結構,與TUN模式的結構類似,但各節點并不是分散在各地,而是與排程器位于同一個實體網絡
負載排程器與節點伺服器通過本地網絡連接配接,不需要建立專用的IP隧道
二、LVS-NAT的部署
1、LVS的負載排程算法
-
輪詢(round robin):
将收到的通路請求按照順序輪流配置設定給群集中的各節點(真實伺服器),均等的對待每一台伺服器,而不管伺服器實際的連接配接數和系統負載
-
權重輪詢
根據排程器設定權重值來分發請求,權重值高的節點優先獲得任務,配置設定的請求數量越多
保證性能強的伺服器承載更多通路流量
-
最少連接配接
根據真實伺服器已建立的連接配接數進行配置設定,将收到的通路請求優先配置設定給連接配接數最少的節點
-
權重最少連接配接
在伺服器節點性能差異較大時,可以為真實伺服器自動調整權重
性能較高的節點将承受更大比例的活動連接配接負載
2、使用ipvsadm工具
-
LVS群集建立與管理工具:
建立虛拟伺服器
添加,删除伺服器節點
檢視群集及節點情況
儲存負載配置設定政策
三、實驗
1、實驗環境
一台排程器,兩台節點、一台提供NFS的伺服器,一台Windows用戶端
2、實驗配置
安裝相關軟體
全部關閉防火牆和防護功能
負載排程器:加載ip_vs子產品,安裝ipvsadm工具
modprobe ip_vs ##加載
cat /proc/net/ip_vs ##檢視
yum -y install ipvsadm ##安裝
節點1:安裝apache網頁服務
yum -y install httpd
節點2:安裝apache網頁服務
yum -y install httpd
NFS共享存儲伺服器:
yum -y install rpcbind
yum -y install nfs-utils
将幾台伺服器全部設定成僅主機模式,并且排程器配置雙網卡
修改ip位址
排程器伺服器
[[email protected] ~]# cd /etc/sysconfig/network-scripts
[[email protected] network-scripts]# vim ifcfg-ens33
......
IPADDR=12.0.0.1
NETMASK=255.255.255.0
......
[[email protected] network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36
[[email protected] network-scripts]# vim ifcfg-ens36
......
删除uid行
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.200.1
NETMASK=255.255.255.0
......
[[email protected] network-scripts]# systemctl restart network
節點1:192.168.200.20
節點2:192.168.200.30
NFS伺服器:192.168.200.40
NFS伺服器上添加共享檔案
[[email protected] ~]# vim /etc/exports
/opt/benet 192.168.200.0/24(rw,sync)
/opt/accp 192.168.200.0/24(rw,sync)
[[email protected] ~]# cd /opt
[[email protected] opt]# ls
rh
[[email protected] opt]# mkdir benet accp
[[email protected] opt]# chmod 777 accp/ benet/
[[email protected] opt]# ll
總用量 47696
drwxrwxrwx. 2 root root 6 8月 31 16:25 accp
drwxrwxrwx. 2 root root 6 8月 31 16:25 benet
[[email protected] opt]# systemctl start rpcbind
[[email protected] opt]# systemctl start nfs
[[email protected] opt]# exportfs -rv ##釋出共享
exporting 192.168.200.0/24:/opt/accp
exporting 192.168.200.0/24:/opt/benet
兩台節點上檢視共享目錄及挂載
[[email protected] ~]# systemctl start rpcbind
[[email protected] ~]# showmount -e 192.168.200.40
Export list for 192.168.200.40:
/opt/accp 192.168.200.0/24
/opt/benet 192.168.200.0/24
[[email protected] ~]# vim /etc/fstab
192.168.200.40:/opt/accp /var/www/html nfs defaults 0 0
[[email protected] ~]# mount -a
[[email protected] ~]# vim /var/www/html/index.html
<h1>this is benet</h1>
[[email protected] ~]# systemctl start httpd
排程器上寫個執行腳本
[[email protected] ~]# vim nat.sh
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
ipvsadm -C
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.20:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.30:80 -m
ipvsadm
[[email protected] ~]# chmod 777 nat.sh
[[email protected] ~]# ./nat.sh
打開一個用戶端通路網頁測試
然後換個位址通路