程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> LVS 內核實現分析(1)

LVS 內核實現分析(1)

編輯:關於PHP編程

LVS 內核實現分析(1)


1概述

LVS(Linux Virtual Server)是Linux內核中實現的一個虛擬服務器,是國內的開發者開發的一個自由軟件項目,它的主要作用是負載均衡。它有兩部分組成,一個是內核中的核心處理叫IPVS,另一個是用戶空間的配置工具ipvsadm,IPVS是Linux內核的一個框架,是在Linux內核的netfilter框架基礎之上實現的,在三個HOOK點添加了自己的處理函數。IPVS是以IP做的負載均衡,也即是三層的負載均衡,這個和haproxy、nginx是有區別的。

LVS技術要達到的目標是:通過LVS提供的負載均衡技術和Linux操作系統實現一個高性能、高可用的服務器群集,它具有良好可靠性、可擴展性和可操作性。可以以低廉的成本實現較高的服務性能。

IPVS的官方網址為:http://www.linuxvirtualserver.org/,下面分析的內核版本為Linux-2.6.32。

2. LVS的三種模式

LVS實現了三種轉發類型:

l LVS-NAT模型,稱為網絡地址轉換,實現起來比較簡單,類似於NAT,比NAT簡單很多;

l LVS-DR模型,稱為直接路由模型,主要是修改MAC地址;

l LVS-TUN模型,稱為隧道模型,添加一層IP封裝。

2.1 LVS-NAT模型的特點

1) 所有的RealServer集群節點和前端調度器Director都要在同一個子網中

2) 通常情況下RealServer的IP地址(以下簡成RIP)為私有地址,便於RealServer集群節點之間進行通信

3) 通常情況下前端的Director有兩個IP地址,一個為VIP,是虛擬的IP地址,客戶端向此IP地址發起請求。一個是DIP,是真正的Director的IP地址,RIP的網關要指向Director的DIP。

4) RealServer的操作系統可以是任意操作系統

5) 前端的Director既要處理客戶端發起的請求,又要處理後台RealServer的響應信息,將RealServer響應的信息再轉發給客戶端

6) 前端Director很容易成為整個集群系統性能的瓶頸。

2.2 LVS_DR模型的特點

1) 所有的RealServer集群節點和前端調度器Director都要在同一個物理網絡中

2) RIP可以使用公網的IP

3) RIP的網關不能指向DIP

4) 前端的Director只處理客戶端的請求,然後將請求轉發給RealServer,由後台的RealServer直接響應客戶端,不再經過Director

2.3 LVS_TUN模型的特點

1) RealServer服務器與前端的Director可以在不同的網絡中

2) RIP一定不能是私有IP

3) 前端的Director只處理客戶端的請求,然後將請求轉發給RealServer,由後台的RealServer直接響應客戶端,不再經過Director

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved