lvs初探

1,lvs是什么

lvs是Linux Virtual Server縮寫,linux虛擬服務器,擔任負載調度器(load balance)的角色,它不提供任何服務,用戶請求到這里的時候,它是將客戶需求轉發至后端真正提供服務的服務,LVS分為兩部分組成,ipvsadm管理集群服務的命令行工具,ipvs,是內核模塊。由于ipvs采用基于ip負載均衡技術,所以具有很好的吞吐量。

lvs簡單拓撲

blob.png

lvs相關術語

RS:后端服務器

CIP: 客戶端IP

VIP:虛擬IP

RIP:后端服務器IP

DIR:調度器Director IP

2,lvs集群類型。

1,lvs-nat: 網絡地址轉換

接到用戶請求,通過網絡地址地址轉換,(類似iptables的DNAT),根據預設的調度算法,調度器重寫請求報文的目標地址,將請求報文分發到后端的相應的真實服務器;真實服務器的響應報文通過調度器時,響應報文的源地址被重寫,返回客戶端。完成整個請求。 NAT模式是通過修改請求報文的目標ip跟port完成的轉發,修改響應報文的源地址的ip,port完成對客戶端的透明性,所有nat模式有以下特性

(1) 請求報文響應報文都通過Director,Director容易成為性能上的瓶頸

(2)RIP,DIP在同一個私網網段

(3)VS是linux系統,RS可以是任意OS

2,lvs-dr:直接路由技術

DR模式是通過改寫請求報文的MAC地址完成,將請求報文發送到后端的RS,RS將響應報文直接返回給客戶端。DR模式有以下特性:

(1)確保上級路由器將目標IP的請求發送到Director, 即目標的IP對應的MAC地址為Director的mac地址

1.1 在RS上做arptables;

1.2 上級路由做mac靜態綁定

1,3 在RS上修改內核參數限制ARP通告級別

arp_ignore:定義對目標地址為本地IP的ARP詢問不同的應答模式
arp_announce: 對網絡接口上,本地IP地址的發出的,ARP回應,作出相應級別的限制

(2)RS的DIP的不限制地址類型,公私網都可,但是不能設置網關為Director

(3)Director,RS必須在同一物理網段,中間可以有交換機,但是不能有路由器

(4)DR模式不支持端口映射

3,LVS-TUN: IP隧道

類似于lvs-nat,由于nat模式都經過Director,吞吐量相對DR模式較小,所以封裝一個新的IP頭標記(僅目的IP)發給RS,RS收到后,先把數據包的頭解開,還原數據包,處理后,直接返回給客戶端,不需要再經過負載均衡器,LVS-TUN模式的有以下特征:

(1) DIP,VIP,RIP都應該是公網IP

(2) RS網關不能指向DIP

(3)請求報文經過Director,響應報文不能經過Director

(4)不支持端口映射,

(5)RS需支持IP隧道功能

4 lvs-fullnat: 修改請求報文的源,目標IP

修改請求報文的源IP跟目標IP進行轉發

(1)VIP是公網,RIP,DIP是私網地址,通常不在統一網段

(2) 請求報文和響應報文都經過Director

(3)支持端口映射

3,LVS調度算法

調度器可以分為靜態調度跟動態調度

(1) 靜態調度: 根據算法本身調度

RR:輪詢,輪流的分配到RS,適用于后端服務器性能一樣,或者是大致相近
WRR:加權輪詢,根據真實服務器的權重比例分配到后端的RSSH: 源地址哈希,將同一個CIP分配到后端的同一RS,用于會話綁定
DH: 目標地址哈希,將同一目標地址的請求分配到后端同一RS

(2) 動態調度:根據后端RS負載情況及調度算法動態的調度

LC: 最少連接,調度器通過該算法動態的把請求分配到已建立數量最少的服務器WLC: 加權最小連接,調度器采用該算法調度,具有較高權重的服務器承受相對比例的請求數量
SED: 最短期望延遲
LBLC:基于局部性最少連接
LBLCR: 帶復制的LBLC

4,LVS-NAT模式搭建

hostname ip gateway role
node-1

192.168.6.101

192.168.2.105

192.168.2.1 Director
node-2 192.168.6.102 192.168.6.101 real node
node-3 192.168.6.103 192.168.6.101 real node

準備工作

安裝ipvs,默認是沒有安裝,使用yum安裝 yum install ipvsadm

在node-2,node-3安裝nginx,啟動端口是80,為了明顯區分配到了哪個RS,修改nginx的index.html的內容,我這里是修改為機器的hostname

RS只需要把網關改為192.168.6.101

(1)開啟路由轉換功能

[root@node-1 ~]# echo "1" >/proc/sys/net/ipv4/ip_forward

(2)配置node-2,node-3加入集群

[root@node-1 ~]# ipvsadm -C
  [root@node-1 ~]# ipvsadm  -A -t 192.168.2.105:80 -s rr
  [root@node-1 ~]# ipvsadm  -a -t 192.168.2.105:80 -r 192.168.6.102 -m
  [root@node-1 ~]# ipvsadm  -a -t 192.168.2.105:80 -r 192.168.6.103 -m

(3) 測試訪問

[root@node-1 ~]# for i in `seq 10`; do curl http://192.168.2.105/;done
 node-3
 node-2
 node-3
 node-2
 node-3

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

(0)
N24_chuanshuoN24_chuanshuo
上一篇 2016-10-30 21:03
下一篇 2016-10-30 21:32

相關推薦

  • 學習的第二周

    硬鏈接不能跨分區,硬鏈接不支持對目錄的創建, 硬鏈接的本質是一個文件N個節點  ls |xargs rm 解決參數太長 無法正常刪除的問題。   軟連接 依賴于原始文件 刪除就沒了軟連接可以跨分區,可以根據目錄創建軟連接,而且還可以針對文件夾 軟連接依賴于原始文件。原始文件刪了軟連接就打不開了  相對路徑一般相對當前工作目錄,但…

    Linux干貨 2017-05-30
  • N26 第二周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 文件管理類命令有:mkdir rmdir cp mv rmmkdir:創建文件夾命令格式:mkdir [OPTION]… DIRECTORY… # 創建日期文件夾       &…

    Linux干貨 2017-01-17
  • N25-第三周作業

    一、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可.          [root@test ~]# who | cut -d' ' -f1 | sort -u 二、取出最后登錄到當前系統的用戶的相關信息。    &nbs…

    Linux干貨 2016-12-26
  • Linux命令總結

      1、登陸和開關機 ? ? ? 關機    halt    poweroff    init 0    重啟    reboot    init 6    shutdown    shutdown -r 重啟    shutodwn -h 關機    shutdown -c 取消計劃關機    shutdown +0 馬上關機    +1 一分鐘后關機  …

    2017-09-11
  • linux網絡命令與軟件管理

    1、描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景和區別 網橋也叫橋接器,是連接兩個局域網的一種存儲/轉發設備,用來連接不同網段。 集線器稱為“Hub”,主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。 二層交換機工作于OSI模型的第2層(數據鏈路層),可識別數據包中的MAC地址信息,…

    Linux干貨 2016-12-18
  • shell 腳本編程基礎

    Shell腳本簡介: Shell腳本是一種特殊的程序,它是用戶與linux系統內核之間的一個接口,shell是一個工具程序,在用戶登錄后系統啟動。它解釋并運行由命令行或腳本文件輸入的命令,從而實現用戶與內核間的交互。 Shell腳本:也就是用各類命令預先放入到一個文件中,方便一次性執行的一個程序文件,主要是方便管理員進行設置或者管理用的,是利用shell的功…

    Linux干貨 2016-08-21

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-02 16:35

    內容格式把握得很好,原理部分可以加入一些自己的理解,加油!

欧美性久久久久