lvs組成
1、lvs基于內核態的netfilter框架實現的IPVS功能,工作在內核態用戶配置VIP等相關信息并且傳遞到IPVS 就需要用到IPVSadm工具。
2、ipvsadm:IPVSadm是lvs用戶態的配套的工具,可以實現VIP和RS 增刪改查。
IPVSadm就是類似于iptables工具地位。
lvs作用
1、主要用于多服務器的負載均衡
2、工作在網絡層,可實現高性能,高可用的服務集群技術
3、廉價,可以把許多低性能服務器組合在一起形成一個超級服務器
4、易用,配置簡單,有多重負載均衡的方式
5、穩定可靠,即使在集群的服務器中某臺服務器無法正常工作,也不影響整體效果
6、可擴展性好
lvs負載均衡集群
集群
是由多臺主機組成的一個集合,對外表現為一個整體,對外只需提供相同的服務。
使用于什么場景
通常在高并發的時候使用。
集群的分類
1、負載均衡群集
減少響應延遲,提供并發處理能力。
2、高可用群集
(HA表示高可用)>冗余、備份,解決單點故障
提高系統的穩定性,減少服務中斷的時間,減少損失。
3、高性能運算群集
(高性能組成的分布式)
分布式:將請求的數據分成多個進行處理,處理完后響應給客戶。
具有高性能運算能力,可以基于分布式和并發進行運算。
負載均衡器集群的架構
數據流向
公網通過vrrp——>vip——>進行訪問——>進入負載調度器,通過調度算法,以及RIP地址進行發送——>服務器池,使用服務器的資源通過——>共享存儲,提供網站,存儲資源
負載均衡器的工作模式
1、地址轉換(NAT轉換)
安全性高,但負載調度器及作為網關,又是數據進出口,大量數據進入會導致負載過高。
2、IP隧道(TUN模式)
采用開放式的網絡結構,負載調度器僅作為客戶機的訪問入口,各節點通過各自的Internet連接直接回應客戶機,而不再經過負載調度器。
服務器節點分散在互聯網中的不同位置,具有獨立的公網IP地址,通過專用IP隧道與負載調度器相互通信。
3、直接路由
用半開放式的網絡結構,與TUN模式的結構類似,但各節點并不是分散在各地,而是與調度器位于同一個物理網絡。負載調度器與各節點服務器通過本地網絡連接,不需要建立專用的IP隧道。
數據流向:用戶——》公網——》路由器——》調度器——》節點服務器
節點服務器——》直接通過相同的路由器——》用戶
lvs負載均衡器的調度算法
1、輪詢
2、加權輪詢
3、最少連接數
4、加權最少連接數
實例:
1、部署共享存儲
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0yum install -y nfs-utils rpcbind
#安裝軟件
systemctl start nfs.service
systemctl start rpcbind.service
#啟動服務mkdir /opt/kgc /opt/benet
chmod 777 /opt/kgc /opt/benetvim /etc/exports
?2、配置節點服務器(后端服務器)兩個配置一樣
yum install -y httpd
systemctl start httpd.service yum install -y nfs-utils rpcbind
systemctl start rpcbind.service#web1:192.168.10.16
mount.nfs 192.168.10.18:/opt/kgc /var/www/html/
echo 'this is lmz' > /var/www/html/index.html#web2:192.168.10.17
mount.nfs 192.168.10.18:/opt/benet /var/www/html/
echo 'this is zhuo' > /var/www/html/index.html
3、配置負載調度器LVS
vim /etc/sysctl.conf
iptables -t nat -F
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -o ens37 -j SNAT --to-source 12.0.0.1
#配置地址轉換
modprobe ip_vs
#手動加載ip_vs模塊yum install -y ipvsadm
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm.serviceipvsadm -C
#清除原有策略
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -a -t 12.0.0.1:80 -r 192.168.10.16:80 -m -w 1
ipvsadm -a -t 12.0.0.1:80 -r 192.168.10.17:80 -m -w 1
ipvsadm
#啟動策略
?查看結果
?
?