Articles of 负载均衡

如何检查负载平衡器L7注入头

有一个硬件LB将httpredirect到Nginx的SSL Offloader,只在443处侦听。我没有访问LB,但是我需要validation它是否注入了X-Forwarded-For头。 为什么? 我正在尝试使用http { log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; 和server { access_log logs/access.log main; set_real_ip_from 10.10.10.10; #LB VirtualService IP real_ip_header X-Forwarded-For; 但它不是日志logging。 我在这里错过了什么? PD Nginx 1.0.14编译–with-http_realip_module

在通过负载均衡器testing时,如何testing特定服务器上的SSL证书?

我使用Linode的NodeBalancer,并希望确保每个服务器正确地终止SSL。 现在,我正在等待DNS传播,以testing将server1.secure.domain.com格式的Alogging放置在SSL对secure.domain.com有效的位置。 这是正确的方法还是有更好的?

Drbd主/主+ iSCSI:访问不同的文件避免裂脑?

对于Drbd Primary / Primaryconfiguration,我有一个关于裂脑的问题/好奇心。 假设两个节点(主机), host1和host2configuration了Drbd主/主和两个不同共享(NFS,CIFS或iSCSI)的复制区( /drbd ) /drbd/file1.data /drbd/file2.data 如果一个客户端池只能通过host1共享读取进行访问,而只有file1.data和另一个池只能通过host2共享到file2.data ,那么这种情况应该避免在一个节点出现故障的情况下出现裂脑情况,或者这只是一个猜想? 最终目的是在正常情况下的两个节点之间的负载平衡,并且只有在失败的情况下才折叠到一个节点。 谢谢! 埃迪

如何让多台计算机透明共享相同的IP?

这是一个路由问题。 我想在以下configuration中设置一个IP块(1.1.1.0/24): /(eth1)– (Main (1.1.1.3-1.1.1.253) Router (1.1.1.1) –(eth0)(Load balancer or Router) (1.1.1.2) \(eth2)– (Alt (1.1.1.3-1.1.1.253) 使用负载均衡器或路由器(1.1.1.2)将所有stream量转到1.1.1.0/24,并将端口1-50000通过eth1转发到主服务器。 但是对于来自50001-65535的请求将该数据包转发给eth2。 最棘手的部分是networkingMain和networkingAlt都需要有相同的IP地址。 这个想法是主要IP(1.1.1.12)中的服务器和具有相同IP(1.1.1.12)的Alt服务器都可以运行,并向networking外发出请求(比如使用端口3115和端口53115)到相同的目标(如networking服务器)。 该Web服务器将看到两个请求来自相同的IP地址,只是从两个不同的端口,并会回应两个,这些数据包将返回,两个服务器(3115会去每个服务器主要networking,53115响应将去到Altnetworking上的服务器)。 两台服务器都需要运行,而不知道其他的存在。 实际上,在最好的情况下,我甚至不希望需要根据端口进行拆分。 理想情况下,你只需要Alt和Main。 如果请求进来,这不是一个响应,它被路由到eth1(主)(所以大多数stream量)。 服务器Alt虽然可以提出请求,并且会从1.1.1.12中显示出来,因为这是ALT中计算机的IP。 它将被路由回到eth2,即对eth1的1.1.1.12的响应。 我并不认为这种情况是可能的,这就是为什么我认为基于港口的隔离是最好的办法。

与几个服务器的负载平衡

我正在主持几个Web项目,我正在考虑开始平衡负载,但实际上,我不知道如何去做。 我的想法是: 让硬盘在所有服务器上同步,所有服务器都具有相同的硬盘平衡与十字路口的负载你认为这是一个好主意? 这将花费大量的硬盘空间,这是值得的吗? 谢谢 芬恩

我可以在DNS负载平衡中重复logging吗?

我想随着时间的推移缓慢地在新的服务器上加载负载。 不幸的是没有前端的负载均衡器可以用来调整,所以我只是为域名插入一个新的DNSlogging。 这将在旧服务器和新服务器之间分配大约50/50的stream量。 我的问题是,我可以通过input多个相同的logging来调整旧服务器和新服务器之间的比率吗? example.com. 300 IN A OLD_IP example.com. 300 IN A OLD_IP example.com. 300 IN A NEW_IP 我希望上面的例子分裂了新老服务器之间的负载1/3和2/3。

透明的地理灾难恢复网站故障转移

我们已经有负载均衡的web服务器。 即使中断不应该发生,他们这样做,有各种各样的原因。 (中央交换机故障,configuration错误的ISP路由器,骨干网故障,共享基础设施上的DOS攻击)我想把第二组服务器放在完全不同的地理位置,并且连接完全不同。 我可以用许多不同的技术来同步SQL服务器,所以这不是问题。 但是我不知道该怎么做的是当主服务器出现故障或无法访问时,透明地将现有的用户Web会话redirect到备份服务器。 AFAIK,处理这三个最常见的方式是: DNS负载均衡,它使用非常低的TTL在最佳环境中智能地parsingDNS请求到服务器IP。 智能redirect(Intelligent Redirection),它使用第三方网站将用户权限redirect到众所周知的二级DNS名称,如na1.mysite.com和eu.mysite.com。 使用智能的最小代理服务器将请求转发到不同的站点,同时将代理服务器托pipe在云中的某处。 但是在发生站点故障的情况下,首先会使用户无法访问服务器,直到TTL导致客户端重新查询DNS并parsing到DR站点,或者导致过多的额外的DNS请求。 第二种方法仍然给我们留下了潜在的单点故障(尽pipe我可以看到多个Alogging被用于在环境之间复制主“login”angular色),但是当他们的站点目前正在使用下降。 如果云掉下来,第三个也不是多余的。 (因为他们有时不时) 从我对networking的了解,是不是有一种方法可以在2个不同地理位置的环境中为2台不同的服务器提供相同的重叠IP地址,并让IP数据包路由接pipe并将stream量路由到服务器接受请求? 这仅适用于IPv6吗? 这是什么叫,为什么DR站点故障切换目前使用这种技术? 更新:这被称为任播 。 我如何做到这一点? 这是值得的麻烦? 澄清:这个问题是特定于HTTP服务器的stream量,只允许服务中断长达60秒。 用户不需要closures浏览器,返回login页面或刷新任何内容。 移动用户无法接受每个页面请求的额外DNS查询。

LVS中的一个分组调度和输出分组的源地址

我在NAT模式下使用LVS(ipvsadm)来为多个“真实服务器”负载均衡UDPstream量。 我正在使用单包调度,以便来自客户端上的单个源端口的stream量分发到不同的realserver。 但是,我所看到的是,源于真实服务器并发送回客户端的UDP数据报将其源IP /端口设置为真实服务器的一个,这使得客户端感到困惑,因为它希望接收源IP /端口匹配的,他发送原始数据报。 这确实很奇怪,因为LVS应该“隐藏”虚拟IP /端口背后的服务器。 看来,如果我closures单包调度,传出数据报的源IP /端口由LVS正确地重写。 有没有人遇到过这个? 如果是的话,这是怎么回事?

corosync和多个负载平衡器

我正在尝试使用pacemaker / corosync为我们的负载平衡器(可选nginx,pgpool和haproxy)提供高可用性function。 我定义了三个基本原理: 1为故障转移IP, 1为lsb :: nginx 1代表lsb :: pgpool 我假设我可以添加lsb :: haproxy,虽然我还没有testing过这个场景。 并将它们分组在一起。 我的问题是,例如,当pgpool发生故障时,集群将切换到另一个节点,包括nginx。 根据我对文档的理解,故障转移IP只能包含在一个组中,使其成为一个全部或全部的情况(无论是所有的服务工作还是失败的情况下,都会发生故障切换)。 是否可以将它们组合在一起,例如node1可以使用相同的虚拟IP提供nginx和node2 pgpool和haproxy? 这甚至有可能吗? 我使用的Debian Wheezy来自它的仓库的所有软件包(haproxy来自backports)。 感谢您的回复。

HAProxy和stream媒体服务器的瓶颈问题

我正在研究HAProxy作为多个nginx服务器的负载平衡器。 每个服务器正在stream式传输一个静态文件(audio文件)。 Nginx将使用symfony2框架。 关于会话的亲和力/持久性,我将在nginx服务器上使用memcached。 我从一个有限的预算开始,所以我想尽可能灵活地扩展networkingscheme。 我会画出一个简单的问题: +—> nginx server 1 @ 1gbps | HAProxy <–+—> nginx server 2 @ 1gbps | +—> nginx server 3 @ 1gbps Ps:据我所知,我需要第二台haproxy服务器进行故障转移,但不幸的是,我现在买不起更多的服务器。 我主要关心的是如何用HAProxy完成“回复”。 根据我的理解,如果回复是通过HAProxy进行的,LB会成为一个瓶颈,因为它不能为端口容量提供更多的用户(假设它是一个stream量服务器,假设负载为95%)。 然而,我看到人们说HAProxy只做路由,但我不确定如果入站和出站stream量仍然通过HAProxy是什么意思。