- 论坛徽章:
- 0
|
回复 2# netwant
因为lvs是基于内核的服务,所以两台物理服务器上服务都是启动,当两边都启动keepalived的时候,两台服务器服务器上ipvs服务都启动了,而且都已经加载了ipvs-dr策略,
由于既当ld又当realserver在keepalived主备都开着情况下会引起广播风暴,你可以抓一下包分析一下。
建议vip与rip 最好别放一台上,如是一定要在一台上,那备keepalived不要启动。
主lvs上面起了vip,当数据包转发到备lvs时,由于备机lvs上面策略也启动了,所以备机接受到数据包以后也会转发到主lvs上面,所以就形成了广播风暴!!!!
在备机lvs抓包:
09:58:58.653532 IP 172.16.41.26.60490 > 172.16.41.30.http: . ack 1 win 365 <nop,nop,timestamp 157330636 157185220>
09:58:58.653754 IP 172.16.41.26.60490 > 172.16.41.30.http: R 1:1(0) ack 1 win 365 <nop,nop,timestamp 157330636 157185220>
09:59:03.790449 IP 172.16.41.30.44560 > 172.16.41.26.http: S 2756013189:2756013189(0) win 5840 <mss 1460,sackOK,timestamp 157190357 0,nop,wscale 7>
09:59:03.790519 IP 172.16.41.26.http > 172.16.41.30.44560: S 2773918069:2773918069(0) ack 2756013190 win 5792 <mss 1460,sackOK,timestamp 157335774 157190357,nop,wscale 4>
另外heartbeat+lvs再两台物理服务器上为什么不会出现这个情况,因为heartbeat服务启动的时候不会让备机lvs的服务加载策略,在备机lvs上执行ipvsadm命令可以确认到,所以当数据包转发到备机lvs的时候,备机不会转发到主lvs,不会形成广播风暴
|
|