Perfil de Dong缩小一百倍,攥手里玩儿FotosBlogListasMais Ferramentas Ajuda

Blog


06 de dezembro

LVS,HA之实际应用

LVS:Linux Virtual Server,http://www.linuxvirtualserver.org,国人开发的内核插件,可以实现网络层的负载均衡。
HA:高用性,http://www.linux-ha.org, 使用linux提供高可用性方案的网站,LVS可以作为HA中的一部分。
 
一个最原始的负载均衡模型只需要一个LVS,LVS起到的是网络层的分发作用,不负责节点检测和双机热备。
稍微完善一点的均衡系统包括了LVS和ldirectord,ldirectord是一个perl程序,他利用perl丰富的模块支持实现了比商业化的BigIP等产品更强大的节点检测功能,只要被检测的服务可以被perl模块支持,那么ldirectord就可以检测他,例如mysqlserver。该程序在ipvsadm之后启动,通过修改权重来启停节点。
基本完善的均衡系统包括了LVS和ldirectord和heartbeat,heartbeat是suse公司开发的一套双机热备方案,该方案与LVS并无直接关系,例如两台直接提供服务的ftp服务器,用热备保证永远有一台在工作就行了,不需要LVS参与。而实际应用中,如果把LVS和heartbeat结合起来,就有了BigIP的基本完整的能力,动态均衡+动态监测。
 
BigIP所具有的7层协议分析,规则支持等牛逼功能目前LVS还做不到。
 
但是LVS的开发者又开发了一个7层协议负载均衡的工具,叫ktcpvs,在内核态的http协议分析负载均衡。该工具基本完成了bigip的irules功能。也是比较牛逼的。
 
另外还有很多用户态的负载均衡工具,最知名的是squid,squid本身性能如何不知道,但是功能应该是最强大的,但现在类似的工具有很多,都是轻量级的,应该在高负载下比squid有更好的表现。这样的工具包括:
Nigx:可能拼错了,是一个类似lighttpd的东西,非常轻量。
lighttpd: lighttpd v1.5带了modcache模块,可以实现动态均衡,也是轻量级的,单进单线。
haproxy:没用过,听说也是个http的均衡工具
apache2的mod_proxy_balancer+mod_cache,这个东西也不错,尤其是服务器资源不够的场合,apache2本身的功能很强大,可以既提供复杂服务又带有cache和balancer功能。
 
目前我在用的是apache2的mod_proxy+mod_cache,没有用balancer因为负载没大到需要多个后端的程度,如果需要的话,估计也会用lvs来一个。
还在用:lighttpd不过没用他的cache功能。
还有lvs+ldirector+heartbeat的vs/nat和vs/dr方案。