是否有可能与2台服务器的高可用性设置?
运行Windows Web Server 2008和MSSQLnetworking版(据我所知Express不支持)?
到一个地方,我们的一个专用的服务器需求扩大到第二个服务器已经超过成本的两倍,因为需要使用Web版而不是Express(数据库只有500MB)。
包含“高可用性”的服务器数量不可思议。 如果你的需求是适度的,你可以用一个盒子来完成,不过(很明显)只要你重新启动它,那么你的4 9就可以了。
只要你的网站没有被大量使用,我会说,两个(体面的)设置了镜像数据库的机器(它支持MSSQLnetworking,如你所知)和NLB应该没问题。 不过,这是一个非常普遍的问题。 我在两台“服务器”上运行了大约50个巨大的网站,但是这些服务器是大量的Sun刀片服务器。
我担心的不是关于机器(我假设你将在每台机器上运行IIS和MSSQL,因为除此之外,没有其他办法可以尝试高可用性),而是关于它们之间的互联网。 让IIS暴露于互联网不是它曾经的问题,但IIS 和 MSSQL? 我不会这样做,如果我必须是PCI或HIPPA兼容。
@汤姆:这是你的标准“深度防御”构build。 几乎每个人都会build议networking和数据库服务器的分离,最重要的是,你应该在它们之间施加很大的限制…理想情况下,你的web服务器上不应该有任何东西,你不能从备份恢复…你代码全部在您的开发机器上镜像,所以只需将其转储回网站即可。 但是数据库服务器总是在变化,你的设置需要反映这一点。
如果你被限制在两台机器上,你将不得不在两个机器上安装Web和数据库,并尽力加固它们。 我完全locking数据库,以便它们只能被对方和本地networking服务器访问。
NLB取代硬件负载平衡器,并应自动进行故障转移。 很明显,YMMV:硬件解决scheme有很多提供,但价格要高得多。 如果你不希望有大量的stream量,NLB应该没关系,但是硬件负载平衡器往往能够抵御诸如DDoS攻击等问题。 再一次,这是关于你将需要什么。
@汤姆:1 IP是好的。 NLB使用parsing所有本地机器的“虚拟”IP地址。 当您打开NLB时,转到连接属性,您将看到一个“networking负载平衡”选项卡。 该选项卡需要适用于整个群集(您的静态IP)的地址。 然后进入常规TCP / IP选项卡,并设置本地IP地址,这是特定于单个机器的地址。
通常,传统的HA设置需要3台机器:两台后端服务器(通常是“主要”和“备份”,“备份”镜像“主要”),然后是第三台路由器 ,可能有几种forms:它是一个代理,有时候它是一个路由器,有时它只是networking服务器。
但是,某处需要有一台能够检测主服务器故障的机器,并确保stream量适当地进入备用服务器。 通常应该是单向切换, 手动重置从备份回到主要。 原因是,如果某些事情脱离主线,则需要确保底层问题是固定的; 同时,主服务器上的数据将与辅助服务器不同步,您需要在重置之前将这些更改镜像回主服务器。