Questions tagged «failover»

在计算中,故障转移是在先前活动的应用程序,服务器,系统或网络发生故障或异常终止时自动切换到冗余或备用计算机服务器,系统或网络。故障转移和切换本质上是相同的操作,除了故障切换是自动的并且通常在没有警告的情况下运行的同时,切换需要人工干预。

27
Web应用程序的100%正常运行时间
今天,我们收到了一个来自客户的有趣的“要求”。 他们希望在Web应用程序上实现非现场故障转移的100%正常运行时间。从我们的Web应用程序的角度来看,这不是问题。它旨在能够在多个数据库服务器等之间扩展。 但是,从网络问题来看,我似乎无法弄清楚如何使其工作。 简而言之,该应用程序将驻留在客户端网络内的服务器上。内部和外部人员都可以访问它。他们希望我们维护该系统的异地副本,以便在其场所发生严重故障时能够立即接管并接管。 现在我们知道,绝对没有办法为内部人员(信鸽吗?)解决此问题,但是他们希望外部用户甚至不会注意到它。 坦率地说,我对如何做到这一点尚不了解。看来,如果他们失去了Internet连接,那么我们将不得不进行DNS更改以将流量转发到外部计算机……这当然需要时间。 有想法吗? 更新 我今天与客户进行了讨论,他们澄清了这个问题。 他们坚持使用100%的数字,说即使在发生洪水的情况下,应用程序也应保持活动状态。但是,只有在我们为他们托管时,该要求才会生效。他们说,如果应用程序完全位于服务器上,他们将满足正常运行时间的要求。你可以猜得出我的回应。

16
为什么不建议DNS故障转移?
从阅读的角度来看,似乎不建议仅出于DNS的目的而不建议DNS故障转移。但是,如果您在不同子网上有两个承载冗余内容的Web服务器,那么,如果一台服务器出现故障,还有什么其他方法可以确保将所有流量路由到实时服务器? 在我看来,DNS故障转移似乎是这里唯一的故障转移选项,但是共识是,这不是一个好的选择。但是像DNSmadeeasy.com这样的服务可以提供它,因此必须有其优点。任何意见?

2
nginx自动故障转移负载平衡
我正在使用nginx和NginxHttpUpstreamModule进行负载平衡。我的配置非常简单: upstream lb { server 127.0.0.1:8081; server 127.0.0.1:8082; } server { listen 89; server_name localhost; location / { proxy_pass http://lb; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 但是使用此配置时,当2个后端服务器之一关闭时,nginx仍将请求路由到该服务器,这将导致一半时间超时:( 是否有任何解决方案可以使nginx在检测到服务器宕机时自动将请求路由到另一个服务器。 谢谢。

15
Windows 2008 / SQL Server群集最便宜的iSCSI SAN?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 是否有适用于Windows Server 2008 / SQL Server进行故障转移群集的生产质量的iSCSI SAN? 到目前为止,我只看到过戴尔的MD3000i和惠普的MSA 2000(2012i),两者的价格都在6,000美元左右,而且磁盘配置最少。Buffalo(是的,我知道)有一个支持iSCSI的价格为1000美元的设备,但他们表示,该设备不适用于2008故障转移群集。 我对看到适用于生产环境中的故障​​转移但IO需求非常低的东西感兴趣。(例如,群集一个30GB的数据库。) 至于使用软件:在Windows上,StarWind似乎是一个很好的解决方案。但这实际上比购买硬件SAN要多花钱。(据我了解,只有企业版支持复制,这是3000美元的许可费用。) 我当时以为我可以使用Linux,例如DRBD + iSCSI target就可以了。但是,我还没有看到任何支持SCSI-3持久保留的免费或低成本iSCSI软件,而Windows 2008则需要该软件来进行故障转移群集。 我知道$ 6K根本不多,只是好奇地看看是否有实用的更便宜的解决方案。最后,是的,该软件价格昂贵,但是许多小型企业都可以使用MS BizSpark,因此Windows 2008 Enterprise / SQL 2008许可证是完全免费的。

2
nginx反向代理-尝试上游A,然后尝试B,然后再次尝试A
我正在尝试将nginx设置为具有大量后端服务器的反向代理。我想按需启动后端(根据传入的第一个请求),因此我有一个控制过程(由HTTP请求控制),该过程根据后端收到的请求来启动后端。 我的问题是配置nginx来做到这一点。这是我到目前为止的内容: server { listen 80; server_name $DOMAINS; location / { # redirect to named location #error_page 418 = @backend; #return 418; # doesn't work - error_page doesn't work after redirect try_files /nonexisting-file @backend; } location @backend { proxy_pass http://$BACKEND-IP; error_page 502 @handle_502; # Backend server down? Try to start …
22 nginx  failover 

2
LVS vs HAProxy,我应该选择哪个?
我正在寻找一种针对负载平衡和故障转移策略的解决方案,主要用于大型Web应用程序。我们有很多服务需要平衡,例如Web,MySQL和许多其他基于HTTP或TCP的服务。但是我不确定他们的优缺点是什么,我应该选择哪个。

5
拔掉A Web服务器后,如何自动将所有用户重定向到另一个城市的B Web服务器,反之亦然?
拔掉A Web服务器后,如何自动将所有用户重定向到另一个城市的B Web服务器,反之亦然? 负载平衡开关可以满足我的要求,除非除非两个Web服务器都位于同一建筑物中,否则我不知道如何使它工作。 高可用性群集系统可以满足我的要求,除非除非两个Web服务器都位于同一建筑物中,否则我不知道如何使它正常工作。 公认的“ 当主Web服务器关闭时重定向到另一Web服务器上的静态页面 ”的答案似乎支持2个不同城市的Web服务器。但是,在拔出某个盒子后,将软件安装在一个盒子上对我有什么帮助? 如何循环DNS和内容分发网络(CDN的)做呢? 我想一种方法的开始是这样的: 我获得了每台物理Web服务器的IP地址。 我将每个物理网络服务器的IP地址放入“该”网站的单个域名的DNS记录中(多个A记录或AAAA记录或两者)。 ...那我该怎么办? 我想另一种方法开始像 我为单个域名使用一些动态DNS提供程序,希望用户在Web浏览器中键入该域名 我在每个Web服务器上设置了一个cron作业,该作业定期告诉DNS提供程序其自己的IP地址(更新A记录或AAAA记录)或自己的域名(更新CNAME记录或DNAME记录)。 ...那我该怎么办? (就目前而言,如果用户拔出一个静态网页,其中包含我的联系信息和一个脚注,当拔掉Web服务器A时“主A Web服务器似乎已关闭”,我会很高兴。这已经比。目前的系统,仅仅提供了一个“服务器未找到”错误理想情况下,我想A和B是完全同步的,显然相同的-但是,这东西另一个问题:等同于CDN但对于动态内容?)。

3
多站点高可用性
我们需要一个高度可用的SaaS应用程序。我们已经有一个昂贵且维护良好的Hyper-V故障转移群集,但是如今托管该群集的数据中心发生了五个小时的断电,这使我们完全脱机。所以现在我们想知道更好的方法是否是在两个单独的数据中心使用服务器。假设我们在这两个站点之间完成了所有后端文件复制和数据复制,我们想知道如何处理前端路由-难怪我们如何解决该问题,我们总是在负载均衡器不断完善的情况下单点故障。 所以问题是……我们如何在两个托管站点之间设置负载平衡,以使负载平衡器不是单点故障?有没有办法使用两个单独的负载均衡器,每个站点一个?我们是否应该考虑循环DNS?


3
如何使用故障转移设置HAProxy?
我了解,要在HAProxy负载平衡设置上进行故障转移,您需要两台运行HAproxy的计算机(并将其路由到多个Web服务器实例)。但是在这种情况下,例如abcd.com,我们如何将流量分流/路由到2个IP地址而不是一个?DNS通常将域名解析为单个IP。我们如何使用免费/廉价工具/服务来做到这一点?


6
如何在EC2上自动进行故障转移?
在管理自己的集群(即不使用/不支付Amazon Autoscale,Rightscale,Scalr等的费用)的人们中,您如何在EC2上管理实例并处理(例如)故障转移?我想知道大多数人是否最终会像EC2 API一样最终编写自己的脚本脚本。 当然,这就是我们的方法:启动我们自己的基于Python Boto的监视/重新启动守护程序,该守护程序在异地运行,侦听实例中的UDP保持活动。发生故障时,我们将对卷进行快照,注册映像,启动新实例,删除旧卷等等。 每隔一段时间,当我入侵我们的脚本时,我认为必须已经有一些开源工具可以处理这些问题,并且没有(例如)Scalr的限制,但是我总是从Google回来空手。(诸如Scalr之类的东西在受支持的软件集/版本/配置中非常有限,并且具有操纵这些设置的专门且IMO繁琐的方式。) 另外,Linux-HA / Pacemaker生态系统(Heartbeat,ldirectord等)听起来似乎并不适合EC2。(但是后来我发现了这一点 -尽管我不确定这是否是高质量的解决方案)。


2
如果后端关闭,nginx使用代理缓存
如果后端服务器关闭,我需要nginx代理使用缓存: 这是我的配置。但似乎是nginx使用不带检查后端服务器的缓存。 http { # ... proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_path /tmp/nginx levels=1:2 keys_zone=tmpzone:10m inactive=60m; proxy_cache_key "$scheme$request_method$host$request_uri"; server { server_name _; location / { proxy_connect_timeout 5s; proxy_read_timeout 5s; proxy_cache tmpzone; proxy_cache_valid 200 304 1d; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_set_header X-Real-IP …
11 nginx  proxy  cache  failover 

2
浏览器如何处理多个IP
已关闭。这个问题需要更加集中。它当前不接受答案。 4年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 当浏览器获得给定主机名的多个A记录(例如ip1和ip2)并且其中之一不可访问时,有人可以引导我了解有关确切浏览器行为的信息。 我对EXACT的详细信息感兴趣,例如(但不限于): 浏览器将从OS获得2个IP,还是仅获得1个? 浏览器将首先尝试哪个IP(随机或始终是第一个)?现在,假设浏览器以失败的ip1开始 浏览器将尝试ip1多长时间? 如果用户在等待ip1时单击“停止”,然后单击“刷新” 浏览器将尝试使用哪个IP? 超时时会发生什么-它会开始尝试ip2还是给出错误?(如果出现错误,当用户单击刷新时,浏览器将尝试使用哪个ip)。 当用户单击刷新时,任何浏览器都会尝试新的DNS查找吗? 现在,假设浏览器首先尝试运行ip2。 对于下一页请求,浏览器仍将使用ip2,还是可能会随机切换ips? 浏览器将IP保留在其缓存中多长时间? 当浏览器发送新的DNS请求并获得相同的ips时,会继续使用相同的已知工作IP还是继续进行,或者该过程从头开始,并且可以尝试两者中的任何一个? 当然,所有内容都可能取决于浏览器,并且版本和平台之间也可能有所不同,我很乐意拥有最多的细节。 这样做的目的-我试图了解当使用基于循环DNS的主机且其中一台主机发生故障时,用户将确切体验什么。 拜托,我不是在问DNS负载平衡有多糟糕,请不要回答“不要这样做”,“这是个坏主意”,“您需要心跳/代理/ BGP /任何东西”等等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.