精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

IPVS負載均衡原理解析

馬哥Linux運維 ? 來源:博客園hongdada ? 2024-10-24 17:34 ? 次閱讀

概念:

ipvs (IP Virtual Server)實現了傳輸層負載均衡,也就是我們常說的4層LAN交換,作為 Linux 內核的一部分。ipvs運行在主機上,在真實服務器集群前充當負載均衡器。ipvs可以將基于TCP和UDP的服務請求轉發到真實服務器上,并使真實服務器的服務在單個 IP 地址上顯示為虛擬服務。

ipvs vs. iptables

我們知道kube-proxy支持 iptables 和 ipvs 兩種模式, 在kubernetesv1.8 中引入了 ipvs 模式,在 v1.9 中處于 beta 階段,在 v1.11 中已經正式可用了。iptables 模式在 v1.1 中就添加支持了,從 v1.2 版本開始 iptables 就是 kube-proxy 默認的操作模式,ipvs 和 iptables 都是基于netfilter的,那么 ipvs 模式和 iptables 模式之間有哪些差異呢?

ipvs 為大型集群提供了更好的可擴展性和性能

ipvs 支持比 iptables 更復雜的復制均衡算法(最小負載、最少連接、加權等等)

ipvs 支持服務器健康檢查和連接重試等功能

ipvs 依賴 iptables

ipvs 會使用 iptables 進行包過濾、SNAT、masquared(偽裝)。具體來說,ipvs 將使用ipset來存儲需要DROP或masquared的流量的源或目標地址,以確保 iptables 規則的數量是恒定的,這樣我們就不需要關心我們有多少服務了

LVS調度算法:

1. 輪叫調度 rr
這種算法是最簡單的,就是按依次循環的方式將請求調度到不同的服務器上,該算法最大的特點就是簡單。輪詢算法假設所有的服務器處理請求的能力都是一樣的,調度器會將所有的請求平均分配給每個真實服務器,不管后端 RS 配置和處理能力,非常均衡地分發下去。

2. 加權輪叫 wrr
這種算法比 rr 的算法多了一個權重的概念,可以給 RS 設置權重,權重越高,那么分發的請求數越多,權重的取值范圍 0 – 100。主要是對rr算法的一種優化和補充, LVS 會考慮每臺服務器的性能,并給每臺服務器添加要給權值,如果服務器A的權值為1,服務器B的權值為2,則調度到服務器B的請求會是服務器A的2倍。權值越高的服務器,處理的請求越多。

3. 最少鏈接 lc
這個算法會根據后端 RS 的連接數來決定把請求分發給誰,比如 RS1 連接數比 RS2 連接數少,那么請求就優先發給 RS1

4. 加權最少鏈接 wlc
這個算法比 lc 多了一個權重的概念。

5. 基于局部性的最少連接調度算法 lblc
這個算法是請求數據包的目標 IP 地址的一種調度算法,該算法先根據請求的目標 IP 地址尋找最近的該目標 IP 地址所有使用的服務器,如果這臺服務器依然可用,并且有能力處理該請求,調度器會盡量選擇相同的服務器,否則會繼續選擇其它可行的服務器

6. 復雜的基于局部性最少的連接算法 lblcr
記錄的不是要給目標 IP 與一臺服務器之間的連接記錄,它會維護一個目標 IP 到一組服務器之間的映射關系,防止單點服務器負載過高。

7. 目標地址散列調度算法 dh
該算法是根據目標 IP 地址通過散列函數將目標 IP 與服務器建立映射關系,出現服務器不可用或負載過高的情況下,發往該目標 IP 的請求會固定發給該服務器。

8. 源地址散列調度算法 sh
與目標地址散列調度算法類似,但它是根據源地址散列算法進行靜態分配固定的服務器資源。

ipvsadm參數

添加虛擬服務器
    語法:ipvsadm -A [-t|u|f]  [vip_addr:port]  [-s:指定算法]
    -A:添加
    -t:TCP協議
    -u:UDP協議
    -f:防火墻標記
    -D:刪除虛擬服務器記錄
    -E:修改虛擬服務器記錄
    -C:清空所有記錄
    -L:查看
添加后端RealServer
    語法:ipvsadm -a [-t|u|f] [vip_addr:port] [-r ip_addr] [-g|i|m] [-w 指定權重]
    -a:添加
    -t:TCP協議
    -u:UDP協議
    -f:防火墻標記
    -r:指定后端realserver的IP
    -g:DR模式
    -i:TUN模式
    -m:NAT模式
    -w:指定權重
    -d:刪除realserver記錄
    -e:修改realserver記錄
    -l:查看
通用:
    ipvsadm -ln:查看規則
    service ipvsadm save:保存規則

負載均衡器端:

安裝LVS
    [root@lb01 ~]#yum -y install ipvsadm 
    [root@lb01 ~]#ipvsadm  
添加綁定VIP
    [root@lb01 ~]#ip addr add 192.168.0.89/24 dev eth0 label eth0:1
配置LVS-DR模式
    [root@lb01 ~]#ipvsadm -A -t 192.168.0.89:80 -s rr //創建一個DR,并指定調度算法采用rr。
    [root@lb01 ~]#ipvsadm -a -t 192.168.0.89:80 -r 192.168.0.93 -g  //添加RS
    [root@lb01 ~]#ipvsadm -a -t 192.168.0.89:80 -r 192.168.0.94 -g  //添加RS

Real-Server端

配置測試后端realserver
    配置httpd省略
    [root@realserver-1 ~]#curl 192.168.0.93 #測試realserver-1網站是否正常    
    192.168.0.93
    [root@realserver-2 ~]#curl 192.168.0.94 #測試realserver-2網站是否正常
    192.168.0.94
綁定VIP到lo網卡
    [root@realserver-1 ~]#ip addr add 192.168.0.89/32 dev lo label lo:1  #由于DR模式需要realserver也有VIP
抑制ARP
    [root@realserver-1 ~]#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce  
    [root@realserver-1 ~]#echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    [root@realserver-1 ~]#echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    [root@realserver-1 ~]#echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore

客戶端測試

[root@test ~]#curl 192.168.0.89
192.168.0.93
[root@test ~]#curl 192.168.0.89
192.168.0.94

鏈接:https://www.cnblogs.com/hongdada/p/9758939.html

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內核
    +關注

    關注

    3

    文章

    1362

    瀏覽量

    40228
  • Linux
    +關注

    關注

    87

    文章

    11225

    瀏覽量

    208911
  • 服務器
    +關注

    關注

    12

    文章

    9017

    瀏覽量

    85182
  • 負載均衡
    +關注

    關注

    0

    文章

    105

    瀏覽量

    12358

原文標題:IPVS負載均衡

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    利用LVS中的IP負載均衡技術建立可伸縮性網絡服務

    從LVS的通用體系結構入手,分析了IPVS軟件的工作原理,討論了三種IP負載均衡技術;在分析網絡地址轉換方法(VS/NAT)的缺點和網絡服務的非對稱性的基礎上,給出了通過IP隧道
    發表于 11-10 12:02 ?13次下載

    負載均衡(Load Balance)

    負載均衡(Load Balance)   &nbs
    發表于 01-08 14:39 ?848次閱讀

    什么是服務器網絡負載均衡

    什么是服務器網絡負載均衡 什么是負載均衡
    發表于 01-11 10:58 ?1791次閱讀

    負載均衡是什么意思?負載均衡器有什么用

    負載平衡也稱負載共享,是指對系統中的負載情況進行動態調整,以盡量消除或減少系統中各節點負載均衡的現象。
    發表于 12-21 09:48 ?1.9w次閱讀
    <b class='flag-5'>負載</b><b class='flag-5'>均衡</b>是什么意思?<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>器有什么用

    基于java的負載均衡算法解析及源碼分享

    負載均衡的算法實際上就是解決跨系統調用的時候,在考慮后端機器承載情況的前提下,保證請求分配的平衡和合理。下面是基于java的負載均衡算法解析
    發表于 01-01 19:29 ?2206次閱讀

    服務器負載均衡有幾種類型,做負載均衡好在哪

    對于服務器負載均衡可能很多朋友并不了解是什么,服務器負載均衡的簡單理解就是指對系統中的負載情況進
    的頭像 發表于 09-02 17:57 ?3238次閱讀

    Apacheproxy負載均衡和Session復制

    Apacheproxy負載均衡和Session復制(電源技術交流群)-Apacheproxy負載均衡和Session復制? ? ? ? ? ? ? ? ? ??
    發表于 08-31 12:29 ?0次下載
    Apacheproxy<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>和Session復制

    解密負載均衡技術和負載均衡算法

    負載均衡器是一種軟件或硬件設備,它起到了將網絡流量分散到一組服務器的作用,可以防止任何一臺服務器過載。負載均衡算法就是負載
    的頭像 發表于 11-12 09:16 ?1103次閱讀

    簡述kube-proxy ipvs原理

    iptables 與 IPVS 都是基于 Netfilter 實現的,但因為定位不同,二者有著本質的差別:iptables 是為防火墻而設計的;IPVS 則專門用于高性能負載均衡,并使
    的頭像 發表于 05-22 11:35 ?726次閱讀

    負載均衡是如何工作的?

    負載均衡是在多個物理服務器之間智能分配流量以最大化資源利用率的過程。換句話說,在兩臺或多臺計算機/服務器之間共享計算工作負載的過程就是負載均衡
    的頭像 發表于 06-15 17:26 ?657次閱讀

    SDWAN和負載均衡的關系

    SDWAN和負載均衡的關系
    的頭像 發表于 07-21 14:28 ?542次閱讀

    如何確定適合的負載均衡比例

    路由器的負載均衡是一種應用于網絡中的技術,它可以平衡網絡流量的分配,提高網絡的性能和穩定性。在配置路由器的負載均衡時,選擇合適的負載
    的頭像 發表于 12-15 10:36 ?1471次閱讀

    深入解析IPVS(IP虛擬服務器)

    IPVS是如何決策應該把請求調度到哪個后端RS(Real Server)上的呢?這是由負載均衡調度算法決定的。
    發表于 02-27 11:12 ?1026次閱讀
    深入<b class='flag-5'>解析</b><b class='flag-5'>IPVS</b>(IP虛擬服務器)

    視頻網站服務器的四種負載均衡技術

    視頻網站通常會面臨大量的用戶訪問和視頻流量,為了提高性能和可用性,需要使用負載均衡技術。以下是四種常用的視頻網站服務器負載均衡技術: 1、基于DNS的
    的頭像 發表于 04-01 17:36 ?588次閱讀

    nginx負載均衡配置介紹

    目錄 nginx負載均衡 nginx負載均衡介紹 反向代理與負載均衡 nginx
    的頭像 發表于 11-10 13:39 ?180次閱讀
    nginx<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>配置介紹