LVS 介紹前端
LVS三種工做模式:算法
LVS八種算法:後端
LVS的體系架構如圖:服務器
LVS三層架構網絡
負載均衡層架構
Load Balancer層:位於整個集羣系統的最前端,有一臺或者多臺負載調度器(Director Server)組成,LVS模塊就安裝在Director Server上,而Director的主要做用相似於一個路由器,它含有完成LVS功能所設定的路由表,經過這些路由表把用戶的請求分發給Server Array層的應用服務器(Real Server)上。同時,在Director Server上還要安裝對Real Server服務的監控模塊Ldirectord,此模塊用於監測各個Real Server服務的健康情況。在Real Server不可用時把它從LVS路由表中剔除,恢復時從新加入。oracle
服務器羣組層負載均衡
Server Array層:由一組實際運行應用服務的機器組成,Real Server能夠是WEB服務器、MAIL服務器、FTP服務器、DNS服務器、視頻服務器中的一個或者多個,每一個Real Server之間經過高速的LAN或分佈在各地的WAN相鏈接。在實際的應用中,Director Server也能夠同時兼任Real Server的角色。性能
數據共享存儲層加密
Shared Storage層:是爲全部Real Server提供共享存儲空間和內容一致性的存儲區域,在物理上,通常有磁盤陣列設備組成,爲了提供內容的一致性,通常能夠經過NFS網絡文件系統共享數 據,可是NFS在繁忙的業務系統中,性能並非很好,此時能夠採用集羣文件系統,例如Red hat的GFS文件系統,oracle提供的OCFS2文件系統等。
LVS工做模式
NAT模式
LVS/NAT: 即(Virtual Server via Network Address Translation)也就是網絡地址翻譯技術實現虛擬服務器,當用戶請求到達調度器時,調度器將請求報文的目標地址(即虛擬IP地址)改寫成選定的Real Server地址,同時報文的目標端口也改爲選定的Real Server的相應端口,最後將報文請求發送到選定的Real Server。在服務器端獲得數據後,Real Server返回數據給用戶時,須要再次通過負載調度器將報文的源地址和源端口改爲虛擬IP地址和相應端口,而後把數據發送給用戶,完成整個負載調度過程。能夠看出,在NAT方式下,用戶請求和響應報文都必須通過Director Server地址重寫,當用戶請求愈來愈多時,調度器的處理能力將稱爲瓶頸。
TUN模式
LVS/TUN :即(Virtual Server via IP Tunneling) 也就是IP隧道技術實現虛擬服務器。它的鏈接調度和管理與VS/NAT方式同樣,只是它的報文轉發方法不一樣,VS/TUN方式中,調度器採用IP隧道技術將用戶請求轉發到某個Real Server,而這個Real Server將直接響應用戶的請求,再也不通過前端調度器,此外,對Real Server的地域位置沒有要求,能夠和Director Server位於同一個網段,也能夠是獨立的一個網絡。所以,在TUN方式中,調度器將只處理用戶的報文請求,集羣系統的吞吐量大大提升。
DR模式
特色:更改目標mac地址、服務端接收請求數據後直接交給客戶端,不經過調度器。
VS/DR: 即(Virtual Server via Direct Routing) 也就是用直接路由技術實現虛擬服務器。它的鏈接調度和管理與VS/NAT和VS/TUN中的同樣,但它的報文轉發方法又有不一樣,VS/DR經過改寫請求報文的MAC地址,將請求發送到Real Server,而Real Server將響應直接返回給客戶,免去了VS/TUN中的IP隧道開銷。這種方式是三種負載調度機制中性能最高最好的,可是必需要求Director Server與Real Server都有一塊網卡連在同一物理網段上。