当前位置:网站首页>集群一---LVS負載均衡集群NAT模式及LVS負載均衡實戰部署
集群一---LVS負載均衡集群NAT模式及LVS負載均衡實戰部署
2022-06-21 21:12:00 【[email protected]】
文章目錄
1 群集
Cluster,集群、群集,由多臺主機構成,但對外,只錶現為一個整體,只提供一個訪問入口(域名或IP),相當於一臺大型計算機
1.1 群集存在的問題和解决方法
存在問題
互聯網應用中,隨著站點對硬件性能、響應速度、服務穩定性、數據可靠性等要求越來越高,單臺服務器無法滿足負載均衡及高可用的需求
解决方法
- 使用價格昂貴的小型機、大型機
- 使用多臺相對廉價的普通服務器構建服務群集
通過整合多臺服務器,使用LVS來達到服務器高可用和負載均衡,並於同一個IP地址對外提供相同服務。
在企業中常用的一種群集技術——LVS(Linux Virtual Server ,Linux虛擬服務器)。
1.2 群集分類
根據集群針對的目標差异,可分為三種
負載均衡群集(Load Balance Cluster)
提高應用系統的響應能力、盡可能處理更多的訪問請求、减少延遲為目標,獲得高並發、高負載(LB)的整體性能。
LB的負載分配依賴於主節點的分流算法,將來自客戶機的訪問請求分擔給多個服務器節點,從而緩解整個系統的負載。高可用群集(High Availability Cluster)
提高應用系統的可靠性、盡可能地减少中斷時間為目標,確保服務的連續性,達到高可用(HA) 的容錯效果。
HA的工作方式包括雙工和主從兩種模式,雙工即所有節點同時在線;主從則只有主節點在線,但當出現故障時從節點能自動切換為主節點。
例如:“故障切換”、“雙機熱備” 等。高性能群集(High Performance Computer Cluster)
以提高應用系統的CPU運算速度、擴展硬件資源和分析能力為目標,獲得相當於大型、超級計算機的高性能運算(HPC)能力。
高性能依賴於"分布式運算”、“並行計算” , 通過專用硬件和軟件將多個服務器的CPU、內存等資源整合在一起,實現只有大型、超級計算機才具備的計算能力。例如,“雲計算”、“網格計算”等。
LVS+Keepalived群集
2 負載均衡群集架構
2.1 負載均衡的結構
第一層,負載調度器(Load Balancer或Director)
訪問整個群集系統的唯一入口, 對外使用所有服務器共有的VIP地址,也稱為群集IP地址。通常會配置主、備兩臺調度器實現熱備份,當主調度器失效以後能够平滑替換至備用調度器,確保高可用性。第二層,服務器池(Server Pool)
群集所提供的應用服務、由服務器池承擔,其中每個節點具有獨立的RIP地址(真實IP),只處理調度器分發過來的客戶機請求。當某個節點暫時失效時,負載調度器的容錯機制會將其隔離,等待錯誤排除以後再重新納入服務器池。第三層,共享存儲(Share Storage)
為服務器池中的所有節點提供穩定、一致的文件存取服務, 確保整個群集的統一性共享存儲可以使用NAS設備,或者提供NFS共享服務的專用服務器。
2.2 負載均衡群集工作模式分析
負載均衡群集是目前企業用得最多的群集類型,群集的負載調度技術有3種工作模式:
- 地址轉換(NAT模式)
- IP隧道 (TUN模式)
- 直接路由(DR模式)
2.2.1 NAT 模式
地址轉換
● Network Address Translation,簡稱NAT模式
● 類似於防火牆的私有網絡結構,負載調度器作為所有服務器節點的網關,即作為客戶機的訪問入口,也是各節點回應客戶機的訪問出口
● 服務器節點使用私有IP地址,與負載調度器比特於同一個物理網絡,安全性要優於其他兩種方式
2.2.2 TUN 模式
IP隧道
● IP Tunnel,簡稱TUN模式
● 采用開放式的網絡結構,負載調度器僅作為客戶機的訪問入口,各節點通過各自的Internet連接直接回應客戶機,而不再經過負載調度器
● 服務器節點分散在互聯網中的不同比特置,具有獨立的公網IP地址,通過專用IP隧道與負載調度器相互通信
2.2.3 DR 模式
直接路由
● Direct Routing,簡稱DR模式
● 采用半開放式的網絡結構,與TUN模式的結構類似,但各節點並不是分散在各地,而是與調度器比特於同一個物理網絡
● 負載調度器與各節點服務器通過本地網絡連接,不需要建立專用的IP隧道
3 LVS 虛擬服務器
Linux Virtual Server,針對Linux內核開發的負載均衡解决方案,1998年5月,由我國的章文嵩博士創建,官方網站: http://www.linuxvirtualserver.orgl
LVS 實際上相當於基於IP地址的虛擬化應用, 為基於IP地址和內容請求分發的負載均衡提出了一種高效的解决方法
LVS現在已成為Linux內核的一部分,默認編譯為ip_ vs模塊,必要時能够自動調用。在CentOS 7系統中,以下操作可以手動加載ip_ vs模塊,並查看當前系統中ip_ vs模塊的版本信息。
modprobe ip_vs
cat /proc/net/ip_vs #確認內核對LVS的支持
4 LVS 的負載調度算法
- 輪詢(Round Robin)
將收到的訪問請求按照順序輪流分配給群集中的各節點(真實服務器) ,均等地對待每一臺服務器 ,而不管服務器實際的連接數和系統負載
- 加權輪詢 (Weighted Round Robin)
根據調度器設置的權重值來分發請求,權重值高的節點優先獲得任務,分配的請求數越多
保證性能强的服務器承擔更多的訪問流量
- 最少連接 (Least Connections )
根據真實服務器已建立的連接數進行分配,將收到的訪問請求優先分配給連接數最少的節點
- 加權最少連接(Weighted L east Connections )
在服務器節點的性能差异較大時,可以為真實服務器自動調整權重
性能較高的節點將承擔更大比例的活動連接負載
5 ipvsadm工具
ipvsadm功能與選項說明
| 選項 | 功能 |
|---|---|
| -A | 添加虛擬服務器 |
| -D | 删除整個虛擬服務器 |
| -s | 指定負載調度算法(輪詢:rr、加權輪詢:wrr、最少連接:lc、加權最少連接:wlc) |
| -a | 錶示添加真實服務器(節點服務器) |
| -d | 删除某一個節點 |
| -t | 指定 VIP地址及 TCP端口 |
| -r | 指定 RIP地址及 TCP端口 |
| -m | 錶示使用 NAT群集模式 |
| -g | 錶示使用 DR模式 |
| -i | 錶示使用 TUN模式 |
| -w | 設置權重(權重為 0 時錶示暫停節點) |
| -p 60 | 錶示保持長連接60秒 |
| -l | 列錶查看 LVS 虛擬服務器(默認為查看所有) |
| -n | 以數字形式顯示地址、端口等信息,常與“-l”選項組合使用。ipvsadm -ln |
6 NAT模式LVS負載均衡群集部署
部署共享存儲(NFS服務器:192.168.80.20)
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
yum -y install nfs-utils rpcbind
systemctl start rpcbind.service
systemctl start nfs.service
systemctl enable nfs.service
systemctl enable rpcbind.service
mkdir /opt/lic
mkdir /opt/kiki
chmod 777 /opt/lic
chmod 777 /opt/kiki
vim /etc/exports
/usr/share *(ro,sync)
/opt/lic 192.168.80.0/24(rw,sync)
/opt/kiki 192.168.80.0/24(rw,sync)
exportfs -rv
配置節點服務器(192.168.80.12、192.168.80.13)
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
yum install httpd -y
systemctl start httpd.service
systemctl enable httpd.service
yum -y install nfs-utils rpcbind
showmount -e 192.168.80.13
systemctl start rpcbind
systemctl enable rpcbind
Web-1(192.168.80.12)
mount.nfs 192.168.80.13:/opt/lic /var/www/html
echo 'this is lic web!' > /var/www/html/index.html
Web-2(192.168.80.13)
mount.nfs 192.168.80.20:/opt/kiki /var/www/html
echo 'this is kiki web!' > /var/www/html/index.html
3、配置負載調度器(內網關 ens33:192.168.80.20,外網關 ens37:12.0.0.254)
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
(1)配置SNAT轉發規則
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
或
echo '1' > /proc/sys/net/ipv4/ip_forward
sysctl -p
iptables -t nat -F
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens37 -j SNAT --to-source 12.0.0.254
(2)加載LVS內核模塊
modprobe ip_vs #加載 ip_vs模塊
cat /proc/net/ip_vs #查看 ip_vs版本信息
(3)安裝ipvsadm 管理工具
yum -y install ipvsadm
啟動服務前須保存負載分配策略
ipvsadm-save > /etc/sysconfig/ipvsadm
或
ipvsadm --save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm.service
systemctl enable ipvsadm.service
(4)配置負載分配策略(NAT模式只要在服務器上配置,節點服務器不需要特殊配置)
ipvsadm -C #清除原有策略
ipvsadm -A -t 12.0.0.254:80 -s rr -p 10
ipvsadm -a -t 12.0.0.254:80 -r 192.168.80.12:80 -m
ipvsadm -a -t 12.0.0.254:80 -r 192.168.80.13:80 -m
ipvsadm #啟用策略
ipvsadm -ln #查看節點狀態,Masq代錶 NAT模式
ipvsadm-save > /etc/sysconfig/ipvsadm #保存策略(永久保存)
在節點服務器上修改ens33的網關為192.168.80.20
開啟 ifdown ens33 ; ifup ens33
在一臺IP為12.0.0.200的客戶機使用瀏覽器訪問 http://12.0.0.254/ ,不斷刷新瀏覽器測試負載均衡效果,刷新間隔需長點。
測試效果
在一臺IP為12.0.0.12的客戶機使用瀏覽器訪問 http://12.0.0.1/ ,不斷刷新瀏覽器測試負載均衡效果,刷新間隔需長點。

版权声明
本文为[[email protected]]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/172/202206211932347661.html
边栏推荐
- What is the gateway
- 【CTF】攻防世界 MISC
- What are the applications of 4.3-inch touch screen intelligent network central control host
- Shutter pageview component
- Golang学习笔记—指针
- 什么比国内现货白银更有优势?
- 获取OpenHarmony源码:从DevEco Marketplace获取(1)
- RDKit | 分子所具有的自由基电子数、价电子数
- Flutter AutomaticKeepAliveClientMixin缓存组件
- What is more advantageous than domestic spot silver?
猜你喜欢

Vertical and horizontal network shooting range community Modbus Protocol

AXI_Bus_Matrix_4x4 设计 - 逻辑设计部分

Idea has this class but can't find it

Alibaba cloud ack one and ACK cloud native AI suite have been newly released to meet the needs of the end of the computing era

【CTF】攻防世界 MISC

最详细整理STL之vector基础

Harbor high availability cluster design and deployment (practice + video), based on offline installation

起飞,年薪40万+

Shutter input box assembly

STL之vector扩容机制
随机推荐
What plug-ins are available for vscade?
[Patents and papers-19]: Notice on electronic information application of Nanjing City, Jiangsu Province in 2022 (medium and advanced)
融云获取Token
[CTF] attack and defense world Misc
Asynchronous method understanding (demo with code)
ADUM1401ARWZ-RL 亚德诺 数字信号隔离模块
纵横网络靶场社区-Modbus协议
多线程实例代码(demo)
修改UE4缓存路径,缓解c盘压力
高度可扩展,EMQX 5.0 达成 1 亿 MQTT 连接
[专利与论文-20]:江苏省南京市2022年电子信息申报操作指南
What noteworthy technologies of gold: the importance of fund management
The final scheme of adding traceid at the C end
Kubernetes-23: explain how to make CPU manager more flexible
LeeCode70 爬楼梯
MediaCodec的数据类型和使用方式
Qu'est - ce qu'une passerelle
Fanuc robot carries out all backup, image backup and specific operations of loading backup files (picture and text)
PC e-commerce platform - search module
Laravel imports and exports excel using phpoffice