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