淺論部署中負載均衡器的作用
負載均衡器在很多網絡服務器部署方案中都起到重要的作用。負載均衡器配合通過各種協議和系統的控制和交換***地進行著分配規劃工作。那么,在部署中,也容易發生一些問題,下面我們將簡要的分析一下負載均衡器在其方案中的作用。
1、keepalived是lvs的擴展項目,因此它們之間具備良好的兼容性。這點應該是keepalived部署比其他類似工具能更簡潔的原因吧!
2、通過對服務器池對象的健康檢查,實現對失效機器/服務的故障隔離。
3、負載均衡器之間的失敗切換failover,是通過VRRPv2(VirtualRouterRedundancyProtocol)stack實現的。
keepalived體系結構
Keepalived大致分兩層結構:用戶空間userspace和內核空間kernelspace.圖1是來自官方站點(http://www.keepalived.org/software_design.html)關于其結構的展示。
圖1keepalived內部結構圖在這個結構圖里,處于下端的是內核空間,它包括ipvs和NETLINK兩個部分。netlink提供高級路由及其他相關的網絡功能,如果我們在負載均衡器上啟用netfilter/iptable,將會直接影響它的性能。出于圖形上方的組件為用戶空間,由它來實現具體的功能,下面選取幾個重要的來做說明:
1、WatchDog負責監控checkers和VRRP進程的狀況。
2、Checkers負責真實服務器的健康檢查healthchecking,是keepalived最主要的功能。換句話說-可以沒有VRRPStack,但健康檢查healthchecking是一定要有的。
3、VRRPStack負責負載均衡器之間的失敗切換FailOver.如果只用一個負載均衡器,則VRRP不是必須的。
4、IPVSwrapper用來發送設定的規則到內核ipvs代碼。
5、NetlinkReflector用來設定vrrp的vip地址等。
Keepalived各種功能的實現是通過設置其配置文件keepalived.conf來完成的,關于配置文件各項的用途,將在后面進行描述。