lvs realserver 不切换

bal_defs {  
   notification_email {  
         edisonchou@hotmail.com  
   }  
   notification_email_from sns-lvs@gmail.com  
   smtp_server 127.0.0.1
   smtp_connection_timeout 30
   router_id LVS_DEVEL  
}  
vrrp_instance VI_1 {  
    state MASTER
    interface eth1  
    virtual_router_id 51  
    priority 100
    advert_int 1  
    authentication {  
        auth_type PASS  
        auth_pass 1111  
    }  
    virtual_ipaddress {  
        192.168.20.200  
    }  
}  

virtual_server 192.168.20.200 12201 {  
    delay_loop 6 
    lb_algo rr 
    lb_kind DR 
    nat_mask 255.255.255.0                
    persistence_timeout 0          
    protocol  UDP                  
    real_server 192.168.20.206 12201 {  
        weight 1   
        UDP_CHECK {  
        connect_timeout 10         
        nb_get_retry 3  
        delay_before_retry 3  
        connect_port 12201  
        }  
    }  
    real_server 192.168.20.210 12201 {  
        weight 1  
        UDP_CHECK {  
        connect_timeout 10  
        nb_get_retry 3  
        delay_before_retry 3  
        connect_port 12201  
        }  
     }  
}

我的配置是一个lvs-master + 2个realserver
关掉其中一个realserver后,没有看到把请求转发到第二个realserver

请问有哪位高手知道是怎么回事?

阅读 5.7k
1 个回答

你给出的代码是keepalived的配置代码,从代码中可以看出,你使用的是LVS的DR模式rr轮询算法。
这个算法,本身就应该是在两个real上面轮流切换,如果其中一台出了问题,那么会把流量全部导向另一台real。
你关掉其中一台之后,请求没有转发到另一台,说明另一台根本就没有实现轮询。
所以,应该是你另一台的网络设置等出问题了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题