1、LVS 簡單介紹
LVS (Linux Virtual Server, 即Linux 虛擬伺服器) 是一個由章文嵩發起的開源軟體專案。它主要用於多伺服器的負載均衡, 工作在網路層, 可以實現高可用、高效能的伺服器叢集技術。
2、LVS 體系結構
通常將 LVS 分為三部分,分別是負載排程器 (Load Balancer),伺服器池 (Server Array / Real Server),共享儲存 (Shared Storage),如下圖所示:
1). Load Balancer層 : 這是 LVS 負載均衡的核心部分,由一臺或多臺負載排程器 (Director Server) 組成, 位於整個叢集的最前端 (相當於 MVC 模型中的 Controller 層),負責將客戶的請求按照一定的演算法分發到下層伺服器進行處理,其本身不做任何的業務處理。另外,還可以監聽下層伺服器的狀態,當其中某臺伺服器出現故障時,自動將其踢出,恢復可用後,又將其加入。
2). Server Array 層 : 由一組實際執行應用服務的伺服器組成,Real Server 可以是 Web 伺服器、Mail 伺服器、FTP 伺服器、檔案伺服器、視訊伺服器中的一個或多個。在實際應用中,我們也可以將上層的 Director Server 作為 Real Server 使用。
3). Shared Storage 層 : 是為所有 Real Server 提供共享儲存空間和資料一致性的儲存區域。主要是為上一層提供資料,並保持資料一致性。
3、LVS 的三大負載均衡機制
由於LVS工作在網路層, 所以相對於其它負載均衡的解決辦法,比如DNS域名輪流解析、應用層負載的排程、客戶端的排程等,它的效率是非常高的。
LVS的通過控制IP來實現負載均衡,IPVS是其具體的實現模組,安裝在Director Server上面,在Director Server虛擬一個對外訪問的IP(VIP)。使用者訪問VIP,到達Director Server,Director Server根據一定的規則選擇一個Real Server,處理完成後然後返回給客戶端資料。
這些步驟產生了一些具體的問題,比如如何選擇具體的Real Server,Real Server如何返回給客戶端資料等等。由此而衍生出了 IPVS 的三種機制:
關於IPVS的三種機制,將分別用三篇文章介紹,連結地址如下:
3.1 VS/NAT 技術
3.2 VS/TUN 技術
3.3 VS/DR 技術
4、LVS 負載均衡的高可用
所用技術:keepalived + lvs(主、備)
本作品採用《CC 協議》,轉載必須註明作者和本文連結