LVS集群類型

 lvs:Linux Virtual Server

  

     l4:四層路由、四層交換

         根據請求報文的目標IP和目標PORT將其調度轉發至后端的某主機;

     IPTABLES:

         工作在用戶空間中的iptables

         工作在內核空間中的netfilter

             PREROUTING–>INPUT

             PREROUTING–>FORWORD–>POSTROUTING

             OUTPUT–>POSTROUTING

     LVS:

         工作在用戶空間中的ipvsadm

         工作在內核空間中的ipvs

            ipvsadm:用戶空間的命令行工具,用于管理集群服務及集群服務的RS(real server);

                 ipvsadm用于定義哪一個服務是集群服務,即TCP或UDP哪一個端口被定義為集群服務

            ipvs:內核中的協議棧上實現

                 工作于內核上的netfilter的INPUT鉤子之上的程序,可根據用戶定義的集群實現請求轉發;

                 ipvs在內核INPUT層面,監控目前集群服務的請求,強行修改報文的流程。將報告送往POSTROUTING,并離開本機;

                 POSTROUTING發送到后端服務器時,需要做相應的修改,使后端服務器能夠接受報文

             因此不建議一臺LVS服務器上LVS與其他程序一同使用filter規則(尤其不同啟用nat規則),否則將影響LVS服務器的并發連接能力

             支持基于TCP、UDP、SCTP、AH、EST、AH_EST等協議進行調度;

             一般基于TCP的某個端口進行調度

         一個ipvs主機可以為多個集群提供服務,因為Lvs是通過請求的目標地址和目標端口來進行轉發的。但是因為Director可能成為負載均衡的瓶頸,因此不建議一臺Director為多個集群進行負載

         一個ipvs服務至少應該有一個RS;   #否則沒有意義

 LVS集群的專用術語:

     vs:Virtual Server、Director、Dispatcher、Balancer

     rs:Real Server

     CIP:Client IP            #客戶端地址

     VIP:Virtual Server IP    #用于與客戶端通信的地址

     DIP:Director IP          #用于與Real Server通信的地址

     RIP:Real Server IP

 lvs集群的類型:

     1.lvs-nat:多目標的DNAT,通過將請求報文中的目標地址和目標端口修改為挑選出的某RS的RIP和PORT實現轉發(并發能力有限)

             請求報文:先根據算法選擇一臺合適的rs,并修改客戶端請求的目標IP為REAL SERVER的IP實現的

                 客戶端–>調度器   源IP:CIP 目標IP:VIP      調度器–>真實服務器    源IP:CIP 目標IP:RIP1

             響應報文:要經過調度服務器發送回客戶端

                 真實服務器–>調度器   源IP:RIP1 目標IP:CIP      調度器–>客戶端   源IP:VIP 目標IP:CIP

             

             使用規則:

             (1)RIP和DIP必須在同一網段中,并建議使用私有地址,RS的網關必須指向DIP(保證響應報文必須經由Director);

             (2)請求報文和響應報文都經由Director轉發,較高負載下,Director易于成為系統性能瓶頸;

             (3)支持端口映射;

             (4)Director必須是Linux,RS可以是任意OS;

     2.lvs-dr:Direct Routing

             lvs的默認類型

             RS是接入在與Director相同層次的網絡中,因此請求經Director調度給后端的RS后,RS直接響應客戶端,而不經過Director。

             這要求每個RS都配有VIP,為避免VIP地址沖突,每臺RS中將RIP配置在物理接口上,將VIP配置在Loopback口的子接口中(lo:0),并調整內核參數,使其他主機對的VIP的ARP請求RS的物理接口不會響應。

         工作原理:

             請求報文:用戶發送請求后應送達Director,由Director進行調度,因此后端RS的VIP地址不能直接響應客戶端的請求,即RS需要做隔離廣播ARP請求

                       由Director發送至調度的RS,變更請求報文中的源、目的MAC,RS的lo:0會響應請求,并將數據由外部網卡(如eth0)發出

                     

                 客戶端–>調度器   源IP:CIP 目標IP:VIP  源MAC:路由器MAC  目標MAC:Director VIP的MAC   調度器–>真實服務器    源IP:CIP 目標IP:VIP      源MAC:Director VIP的MAC  目標MAC:挑選出的RS 的RIP接口的MAC

             響應報文:報文由RIP所在接口發出,因此下一跳必須是與RIP接口在同一網段的路由器。因報文是由RS服務器的外部接口發出,因此下一條路由器必須與RSIP在同一網段內

                 真實服務器–>客戶端   源IP:VIP 目標IP:CIP

             總結如下:

                 通過為請求報文重新封裝一個MAC首部進行轉發,源MAC是DIP所在的MAC,目標MAC是挑選出的某RS的RIP所在接口的MAC地址;IP首部不會發生變化

             

             (1)確保前端路由器將目標IP為VIP的請求報文發往Director

                    解決方案:

                         在路由器上靜態綁定VIP和Director的MAC地址;

                         禁止RS響應VIP的ARP請求,禁止RS的VIP進行通告

                             (a)使用系統自帶的ARPtables

                             (b)修改RS的內核參數,并把VIP綁定lo的別名上

                                   arp_ignore,arp_announce                

             (2)RS的RIP可以使用私有地址,也可以使用公網地址

             (3)RS跟Director必須在同一物理網絡;RS的網關必須不能指向DIP

             (4)請求報文必須由Director調度,但響應報文必須不能經由Director

             (5)不支持端口映射

             (6)RS可以使用大多的OS

     3.lvs-tun:tunnel

         隧道模型:用于實現多地域的負載均衡

             請求報文:用戶發送請求后應送達Director,由Director進行調度,在IP首部外再加了一層IP首部,源地址DIP 目標地址是某個挑選的RIP

                     

                 客戶端–>調度器   源IP:CIP 目標IP:VIP    調度器–>真實服務器    內部IP首部如“客戶端–>調度器”,外部隧道IP首部 源地址:DIP 目標地址:某個挑選的RIP

             響應報文:響應報文通過RIP發送出去

                 真實服務器–>客戶端   源IP:VIP 目標IP:CIP

             轉發方式:不修改請求報文的IP首部(源IP為CIP、目標IP為VIP),而是在源IP首部之外在封裝一個首部(源IP為DIP、目標IP為挑選出RS的RIP)

              (1)RIP、DIP、VIP全得是公網地址

              (2)RS的網關不能指向也不可能指向DIP(否則負載均衡便沒有意義)

              (3)請求報文必須由Director調度,但響應報文必須不能經由Director

              (4)不支持端口映射

              (5)RS的OS必須支持隧道功能

     4.lvs-fullnat(非標準模型)

         通過同時修改報文的源IP和目標IP進行轉發

             請求報文:

                 客戶端–>調度器   源IP:CIP 目標IP:VIP    調度器–>真實服務器    源IP:DIP 目標IP:RIP

             響應報文:

                 真實服務器–>調度器   源IP:RIP 目標IP:DIP    調度器–>客戶端    源IP:VIP 目標IP:CIP

               (1)VIP是公網地址,RIP和DIP是私網地址,且通常不在同一個網絡中,但需要經由路由器互通

               (2)RS收到的請求報文源IP為DIP,因此響應報文將直接響應給DIP

               (3)請求和響應報文都經由Director

               (4)支持端口映射

原創文章,作者:oranix,如若轉載,請注明出處:http://www.www58058.com/66282

(0)
oranixoranix
上一篇 2017-01-10 13:17
下一篇 2017-01-10 13:18

相關推薦

  • 深入理解php底層:php生命周期

    1、PHP的運行模式:     PHP兩種運行模式是WEB模式、CLI模式。無論哪種模式,PHP工作原理都是一樣的,作為一種SAPI運行。 1、當我們在終端敲入php這個命令的時候,它使用的是CLI。 它就像一個web服務器一樣來支持php完成這個請求,請求完成后再重新把控制權交給終端。 2、當使用Apache或者別web服務器…

    系統運維 2015-05-28
  • Linux文件系統

    文件是什么?存儲空間內存儲的有邊界的一段流式數據,對數據可以做到按名存取。眾多文件是如何有效的組織起來?1.  平面化把眾多文件放在一起。當想查找某個文件時,需要遍歷所有文件,當文件數目足夠多的時候,查找一個文件將會非常慢,效率極低。2.  層級結構化根據后續查找文件的篩選條件進行分類,逐層放置,通常要查找一個文件,只需要從最高層級開始,…

    2017-09-05
  • 2.Linux文件管理類命令

    Linux文件管理類命令 cp命令:copy 源文件;目標文件; 單源復制:cp [OPTION]… [-T] SOURCE DEST 多源復制:cp [OPTION]… SOURCE… DIRECTORY | cp [OPTION]… -t DIRECTORY SOURCE… 單源復制:cp [OPTION]… [-T]&…

    Linux干貨 2017-07-09
  • 馬哥教育網絡班22期+第2周課程練習

    1、Linux上文件管理命令有哪些,其常用的相關示例演示。 常見文件管理命令有:touch/stat/file/rm/cp/mv/nano 示例如下: [root@localhost week2_test]# touch newfile [root@localhost week2_test]# ls&nbsp…

    Linux干貨 2016-08-22
  • lvs DR模型

    LVS 負載均衡 使用lvs部署負載均衡服務器  實現4層tcp調度 lvs一共四種模式   分別是NAT  DR  TUN和FullNAT模式 NAT模式和DR模式部署相對簡單而且實用性強 現在部署一下  LVS的DR模型 首先準備三臺主機  使用的三臺系統都是centos 7…

    2017-05-15
  • grep簡述

    grep(Globel Search Regular Expression and Printing out the line) 它能使用正則表達式搜索文本,并把匹配的行打印出來。 grep包括grep、egrep和fgrep。 egrep表示擴展的grep,相比grep支持更多的匹配模式, “grep -E”相當于egrep。 fgrep是fast gre…

    2017-04-06
欧美性久久久久