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
下一篇 2017-01-10

相關推薦

  • 第七周作業

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; ]#mke2fs -t ext4 -b 2048 -L MYDATA -m 2 O acl /dev/sda1 (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件…

    Linux干貨 2017-03-11
  • Linux概述

    計算機組成概述 計算機組成原理 如上圖計算機的組成結構,CPU運行速度遠遠高于內存,而內存運行速度又遠遠高于I/O;由于三者運行速度巨大差異,如果系統僅運行一個任務(單任務系統),那么將有大量的CPU空閑時間等待緩慢的I/O及內存的讀取。為提高CPU的使用效率,于是便產生了多任務系統系統的需求。 多任務系統 多任務實現的基礎,我們知道計算機處理任務主要靠CP…

    Linux干貨 2016-12-02
  • N25 第二周作業

    一.Linux上常用的文件管理類命令及用法示例     1.cp復制命令,具體有兩個,一為單源復制,一種為多源復制。      常用選項         -i :交互式復制,覆蓋之前提醒用戶確認。       …

    Linux干貨 2016-12-12
  • Linux下XFS、Ext2文件系統對比、文件管理、inode、文件名、標準I/O、管道|tee、tr -cs blog by fazionlan July.31st

    Linux下XFS、Ext2文件系統對比、文件管理、inode、文件名、標準I/O Ext2、Fat、XFS文件系統   文件系統是對一個存儲設備上的數據和元數據進行組織的機制,文件系統的創建是在格式化分區的過程中完成的(一個分區就是一個系統),眾所周知Windows操作系統使用的文件系統是FAT與NTFS;Linux不同的發行版本使用的文件系統主…

    Linux干貨 2016-08-01
  • 在馬哥學習linux第一天的感受

         來馬哥教育好幾天了,昨天算是正式開始,在昨天早上,舉行了開班典禮,各位老師助教為我們介紹了在馬哥教育進行培訓的相關注意事項,下午進行了兩場測試,首先有一個摸底測試,不得不說我真的是太菜了,除了一些比較簡單的題目我還有些把握,相當一部分我都是似曾相識,但是也不是很確定,還有很大一部分我根本聽都沒聽說過,看到別人都寫的滿滿…

    Linux干貨 2017-07-11
  • LVM邏輯卷管理

    LVM邏輯卷管理 LVM全稱為Logical VolumeManager邏輯卷管理器,LVM是Linux環境中對磁盤分區進行管理的一種機制,是建立在硬盤和分區之上、文件系統之下的一個邏輯層,可提高磁盤分區管理的靈活性。 其中 PV:Physical Volume 物理卷 VG:volume Group 卷組 LV:Logincal Volume 邏輯卷 實驗…

    2017-08-14
欧美性久久久久