Articles of lvs

Apache作为负载均衡器 – 强制中断连接

我已经通过mod_proxy和mod_proxy_balancer设置了Apache 2.2的负载平衡器。 负载平衡工作得很好,但有一种情况我找不到任何configuration选项,即,当使用到后端服务器的持久连接,当其中一个死亡(closures,崩溃等),现有的连接仍然尝试访问它。 有没有办法configurationApache的负载平衡器,以便它退出或重新创build到死的后端服务器的连接? 在LVS领域,Ldirector在Proc FS下有一个选项, /proc/sys/net/ipv4/vs/expire_quiescent_template 当这被设置persisten会话/连接一个死的后端服务器将刷新,以便下一个客户端请求,他们可以重新创build。 在Apache世界里有没有类似的东西? 非常感谢! 干杯,康斯坦丁Boyanov PS Apache以什么方式检查后端服务器的状态? 它尝试连接到一些端口或类似的东西? 如果有人可以解释一下这个问题,那将会很棒! 这是我的虚拟主机configuration文件: ServerAdmin [email protected] ServerName myapp.mysite.com DocumentRoot /srv/www/vhosts/myapp.mysite.com ErrorLog /var/log/apache2/myapp.mysite.com-error_log CustomLog /var/log/apache2/myapp.mysite.com-access_log combined HostnameLookups Off UseCanonicalName Off ServerSignature On ScriptAlias /cgi-bin/ "/srv/www/vhosts/myapp.mysite.com/cgi-bin/" <Location /balancer-manager> SetHandler balancer-manager Order Deny,Allow Deny from all Allow from all </Location> <Location /server-status> SetHandler server-status Order deny,allow […]

只有1个NIC的机器上的LVS DNS负载平衡

首先让我澄清,我只是一个软件开发人员而不是pipe理员,因此我有一些关于networkingconfiguration以及这些types的设置的知识(假设对这些概念有一个基本的了解),但是我并不是高手,所以如果这听起来很愚蠢或不合理的话,请耐心等待。 我正在尝试在RH7上configurationkeepalived,以便在已经设置绑定的两台服务器之间平衡NDS请求。 到目前为止我读过的指南中, 他们似乎使用2个NIC ,但我只有一个可用。 参考文献: LVS-NAT-KEEPALIVED-HOWTO Keepalived手册页 LVS迷你如何PDF 这篇文章似乎build议将DNS主站的真实IPconfiguration为虚拟服务器,将平衡器IPconfiguration为真正的服务器,但是我认为这不是正确的…或者我误解或误读了它? HW: 我有3台机器在同一个networking上configuration如下: 1台带1个网卡的机器充当负载均衡器,真实IP为192.168.0.1 1台带1个网卡作为主绑定服务器的机器,真实IP为192.168.0.2 1台带1个网卡作为主绑定服务器的机器,真实IP为192.168.0.3 此外转发已启用net.ipv4.ip_forward = 1 Keepalivedconfiguration: ! This is a comment ! Configuration File for keepalived global_defs { ! this is who emails will go to on alerts notification_email { [email protected] [email protected] ! add a few more email addresses here if you […]

ipvsadm仅通过IP列出几个主机,按名称rest

我们使用keepalived来pipe理我们的Linux虚拟服务器(LVS)负载平衡器。 LVS VIP设置为使用iptables中configuration的FWMARK。 virtual_server fwmark 300000 { delay_loop 10 lb_algo wrr lb_kind NAT persistence_timeout 180 protocol TCP real_server 10.10.35.31 { weight 24 MISC_CHECK { misc_path "/usr/local/sbin/check_php_wrapper.sh 10.10.35.31" misc_timeout 30 } } real_server 10.10.35.32 { weight 24 MISC_CHECK { misc_path "/usr/local/sbin/check_php_wrapper.sh 10.10.35.32" misc_timeout 30 } } real_server 10.10.35.33 { weight 24 MISC_CHECK { misc_path "/usr/local/sbin/check_php_wrapper.sh 10.10.35.33" […]

Keepalived(LVS)+ SPDY

我已经用LVSconfiguration了Keepalived以在四个Nginx Web服务器(RR模式,没有持久连接)之间传播负载。 我打算启用SPDY,但似乎SPDY每个主机build立一个单一的TCP连接,所以当一个Web节点从池中删除时,客户端尝试发送进一步的请求,原来的连接,但负载平衡器不能移动现有的连接到一个新的服务器,所以所有的Web请求超时该客户端。 有没有办法强制负载平衡器closures所有连接到一个失败的服务器或可能是任何其他的解决scheme吗?

LVS TCP连接超时 – 延迟连接

我正在使用keepalived来负载平衡多个TCP服务器之间的连接。 我不指望它是重要的,但在这种情况下的服务是rabbitmq。 我正在使用加权循环的NATtypes平衡。 客户端连接到服务器: [client]———–[lvs]————[real server] ab 如果客户端连接到LVS并保持空闲状态,则在套接字上不发送任何内容,这最终超时,根据使用ipvsadm –set设置的超时值。 此时,上面标记为“a”的连接正确地从客户端上的netstat -anp输出以及lvs盒上的ipvsadm -L -n -c输出中消失。 然而,连接“b”仍然根据真实服务器盒子上的netstat -anpbuild立。 为什么是这样? 我可以强制lvs正确地重置到真实服务器的连接吗?

食人鱼/脉冲,lvs.cf与持久性和服务器故障

我们有以下设置: RedHat 6 LVS设置为在两个Web服务器之间失败 连接持续900秒 这是一个非常简单的设置,但是当一台服务器被标记为失败时,piranha / pulse / nanny进程将表中服务器的权重标记为0,并且不会删除发生故障的服务器。 这意味着任何持久性连接都会保留连接到发生故障的服务器,并且负载平衡将被打败。 我们怎么能告诉保姆强制失败的节点,所以持久连接失败的工作节点? 谢谢 我们有以下lvs.cf: serial_no = 201305302344 primary = 10.1.1.45 service = lvs backup = 0.0.0.0 heartbeat = 1 heartbeat_port = 539 keepalive = 6 deadtime = 18 network = nat nat_router = 10.1.1.70 eth0:1 nat_nmask = 255.255.255.0 debug_level = NONE virtual http { active […]

ipvsadm – TCP超时

你能不能build议连接表中这个'过期'时间是什么意思: # ipvsadm -lnc | head IPVS connection entries pro expire state source virtual destination TCP 07:17 ESTABLISHED CLIENT_IP:54799 VIP:443 REAL_SERVER_IP:443 我正在使用红帽负载平衡器(带有防火墙标志的DR,没有持久性连接),根据文档 ,TCP,TCP FIN和UDP超时的默认值为0,但看起来这个过期时间是15分钟,许多活动连接 – 是否与 – 参数有关? # ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn FWM 80 wlc -> REAL_SERVER_1:80 Route 1 402 […]

为什么LVS丢包?

我目前正试图回到一个问题的核心,我的LVS导演似乎不时从客户端丢失一个数据包。 我们在生产系统上遇到了这个问题,并且可以在升级时重现问题。 我在lvs-users-mailing-list上发布了这个问题,到目前为止没有回应。 我们的设置: 我们在PV XEN-DomU中使用Linux CentOS5 x86_64的ipvsadm。 当前版本详情: 内核:2.6.18-348.1.1.el5xen ipvsadm:1.24-13.el5 LVS-设置: 我们使用DR模式的IPVS来pipe理我们使用lvs-kiss的连接。 ipvsadm在heartbeat-v1-cluster(两个虚拟节点)中运行,主节点和备份节点都在不断运行。 对于LVS服务,我们使用由心跳(active / passive-clustermode)设置的逻辑IP 真正的服务器是物理的Linux机器。 networking设置: 作为director的VM在Dom0上使用桥接networking作为XEN-PV-DomU运行。 networking“在场”: abn-network(staging-network,用于将客户端连接到director),由真实服务器用来向客户端发送答案(直接路由方式),用于ipvsadm slave / master multicast-traffic lvs-network:这是连接director和real-servers的专用VLAN DR-arp-problem:解决了我在服务-ip的真实服务器上抑制了arp-answers的问题 服务IP在真实服务器上的lvs接口上configuration为逻辑IP。 在这种设置中,ip_forwarding在任何地方都不需要(无论是在director还是在真实服务器上)。 虚拟机详情: 1 GB RAM,2个vCPU,系统负载几乎为0,内存73M空闲,224M缓冲区,536Mcaching,无交换。 几乎总是100%空闲,0%us / sy / ni / wa / hi / si / st。 configuration细节: ipvsadm -Ln对于有问题的服务显示: TCP xy183.217:12405 wrr persistent 7200 […]

在CentOS上build立一个LVS

我有一个3节点(来自提供者的专用服务器)CentOS 7.x集群。 我正在尝试使用链接在这里设置LVS。 我的每台机器已经有3个额外的别名IP地址分配给它。 我想在这些机器之一上设置LVS。 我的问题是我应该如何在食人鱼configuration工具中使用虚拟IP(VIP)? 我可以为我希望LVS打开的机器select其中一个别名IP吗?

为什么第7层负载均衡器configuration不需要任何客户端configuration更改?

例如,对于haproxy (第7层)负载均衡,您只需要configurationVIP(即集群IP)后面的“真实服务器”或“后端”。 例如: listen smtp 192.168.3.10:25 mode tcp balance roundrobin server smtp1 192.168.3.1:25 check server smtp1 192.168.3.2:25 check 但是,对于lvs (第4层),我需要: 设置lvs机为路由器,实现“NAT路由” lvs机器和后端拥有在后端configuration了一些ARP mod的VIP 第7层负载平衡如何在没有更多涉及的configuration的情况下做到这一点? 我在这里误解或错过了一些根本性的东西吗?