一、lvs的工作原理
使用叢集的技術和liunx的作業系統實作一個高性能、高可用的伺服器。可伸縮性、可靠性、很好的管理性。
特點:可伸縮網絡服務的幾種結構,它們都需要一個前端的負載排程器(或者多個進行主從備份)。我們先分析實作虛拟網絡服務的主要技術,指出IP負載均衡技術是在負載排程器的實作技術中效率最高的。在已有的IP負載均衡技術中,主要有通過網絡位址轉換(Network Address Translation)将一組伺服器構成一個高性能的、高可用的虛拟伺服器,我們稱之為VS/NAT技術(Virtual Server via Network Address Translation)。在分析VS/NAT的缺點和網絡服務的非對稱性的基礎上,我們提出了通過IP隧道實作虛拟伺服器的方法VS/TUN (Virtual Server via IP Tunneling),和通過直接路由實作虛拟伺服器的方法VS/DR(Virtual Server via Direct Routing),它們可以極大地提高系統的伸縮性。VS/NAT、VS/TUN和VS/DR技術是LVS叢集中實作的三種IP負載均衡技術。
技術:LVS叢集采用ip負載均衡技術減輕伺服器的壓力,将請求均衡轉移到不同的伺服器上執行,且排程器自動屏蔽掉伺服器的故障,進而将一組伺服器構成一個高性能的,高可用的虛拟伺服器,整個伺服器叢集的結構對用戶端是透明的,而且無需修改用戶端和伺服器的程式,為此在設計的時候考慮到了系統的透明性,可伸縮性,高可用性和易管理性。
LVS:主要采用三種結構主要部分是
伺服器池,是一組正執行用戶端請求的伺服器,執行的服務有WEB,MAL,FTP和DNS等。
負載排程器:它是整個叢集對外面前端機,負責将客戶的請求發送到一組伺服器上執行,而客戶确認為伺服器是一個來自一個ip上的(虛拟機ip位址。
共享存儲,它為伺服器提供一個共享的存儲區,這樣很容易使得伺服器池擁有相同的内容,提供相同的服務。
優點
開源,免費
具有軟體負載均衡的一些優點。
在網上能找到一些相關技術資源。
缺點
沒有可靠的支援服務,沒有人對其結果負責。
功能比較簡單,支援複雜的應用的負載均衡能力較差,算法較少等。
開啟隧道方式需要編譯核心
配置複雜;
主要應用于LINUX系統,目前沒有專用于windows系統版本的,不過可以通過配置使windows稱為lvs叢集中的real server (win2003、win2008)。

1. DS:Director Server。指的是前端負載均衡器節點。
2. RS:Real Server。後端真實的工作伺服器。
3. VIP:向外部直接面向使用者請求,作為使用者請求的目标的IP位址。
4. DIP:Director Server IP,主要用于和内部主機通訊的IP位址。
5. RIP:Real Server IP,後端伺服器的IP位址。
6. CIP:Client IP,通路用戶端的IP位址。
keeplived原理
keeplvied也是子產品化設計,不同子產品的不同功能
core:是keeplived的核心,複雜主程序的啟動和維護,全局配置的加載解析等
check:負責是healthchecker(健康檢查),包括了各種健康檢查的方式,以及對應的配置的解析包括LVS的配置解析
vrrp:VRRPD子程序,VRRPD子程序是來是來實作VRRP協定的
libipfwc:iptables(ipchains)庫,配置LVS會用到
libipvs*:配置LVS會用到
keepalived啟動會有三個程序
父程序:記憶體管理,子程序管理
子程序:VRRP子程序
子程序:healthchecker子程序
如圖可知,兩個子程序都被watchDog看管,兩個子程序各自複雜自己的事,healthcheck子程序複雜檢查自己伺服器的健康程度,比如HTTP,lvs等如果healthchecker子程序檢查到MASTER服務不可用了,就會通知本機上的vrrp的子程序,讓他删除通告并且去掉虛拟機ip,轉為BACKUP狀态
keeplived配置詳解
keeplived有三類配置區域,是一個配置檔案裡三種不同的區域。
全局配置
VRRPD配置
LVS配置
全局配置分為兩個子程序:全局定義(global definition)
靜态路由配置(static ipaddres/routes)
總結:lvs和keeplived就是一個心跳檢測,怎麼說呢比如我是keeplived手一直摸着lvs的心髒來監聽lvs的系統狀況等,如果lvs當機keeplived作為一個熱備份随時頂替lvs來進行負載均衡,不過lvs和keeplived是完全不同的兩個東西。