运行Windows Web Server 2008和MSsql Web Edition(据我所知不支持Express)?
达到我们的一个专用服务器需要扩展到第二台服务器的程度已经超过了使用Web Edition而不是Express(db只有500MB)的成本的两倍.
解决方法
只要您的网站没有被大量使用,我会说两台(不错的)机器设置了镜像数据库(MSsql网站支持,如您所知),NLB应该没问题.尽管如此,这是一个非常普遍的问题.我在两台“服务器”上运行了大约50个巨大的站点,但是服务器对于Sun刀片服务器来说很重要.
我担心的不是机器(我假设你在每台机器上运行IIS和MSsql,因为没有其他方法可以尝试高可用性),而是关于它们和它们之间的关系.互联网.让IIS暴露在互联网上不是以前的问题,而是IIS和MSsql?如果我必须符合PCI或HIPPA标准,我不会这样做.
@Tom:这是你标准的“纵深防御”构建.几乎每个人都会建议分离Web和数据库服务器,最重要的是,你应该在它们之间加上严格的限制……理想情况下,你的网络服务器上什么都不应该只是从备份恢复…你的代码在您的开发机器上都是镜像的,所以只需将其转储回网站即可.但是数据库服务器一直在变化,您的设置需要反映出来.
如果你只限于两台机器,那么你将不得不在两台机器上安装网络和数据库,并尽力加强它们.我完全锁定了数据库,以便只能由彼此和本地Web服务器访问它们.
NLB取代了硬件负载平衡器,应该自动进行故障转移.显然YMMV:硬件解决方案有很多可供选择,但价格要高得多.如果你不期望大量的流量,NLB应该没问题,但是硬件负载平衡器往往具有针对DDoS攻击之类的优势.再一次,这都是关于你将需要什么.
@Tom:1 IP很好. NLB使用“虚拟”IP地址解析为所有本地计算机.当您打开NLB时,转到连接属性,您将看到“网络负载平衡”选项卡.该选项卡需要适用于整个群集的地址(您的静态IP).然后,您进入常规TCP / IP选项卡,并设置本地IP,这是特定于单个计算机的地址.