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