正如我在related question中提到的关于托管与租用Web服务器的问题,我正在考虑使用四台Mac Minis(英特尔酷睿双核处理器)和Windows Server 2008来建立一个Web服务器集群。我正在开发的网站是数据库驱动并使用ASP.Net MVC和Microsoft SQL Server 2008.我对设置Web服务器完全没有经验,所以我只知道但不熟悉网络负载平衡和故障转移群集等技术。
有人可以推荐一种理想的方法来配置这4台服务器或列举我最好的选择吗?例如,应该只有一台计算机包含SQL Server数据库,或者我应该在Windows Server 2008群集上创建SQL群集。我希望在可靠性和性能之间取得平衡,我不确定这种平衡看起来是什么样的具体。
更新:感谢您到目前为止的所有答案。当我写这个问题时,我不明白“ clustering ”通常是指特定的故障转移群集,我现在理解它提供了高可用性但没有性能优势。由于一张海报提到Mac Mini,其单个5400转硬盘,可能会出现作为SQL服务器的性能问题,我想知道是否有任何可行的解决方案在多台机器之间分配数据库负载,无论是否有增加了高可用性的奖励(我可以完全依赖备份)。我一直在阅读以下有关通过分发扩展SQL服务器的文章:
我对这些分配方法中哪些(如果有的话)适当感到困惑。如果它是相关的,则假设访问数据库的站点具有与Stack Overflow类似的读/写比率。有人可以建议吗?
此外,我已经明白服务器通常配有两个网络适配器,允许一个适配器专用于与任何后端服务器通信。 Mac Minis只有一个网络适配器。这对性能有多大不利?
更新经过进一步研究,似乎Peer-to-Peer Replication(more info)正是我所寻求的。我错了吗?如果没有,考虑到我的硬件限制,它是否可行?
答案 0 :(得分:3)
您可能已经为Web服务器使用了基本的网络负载平衡群集,但是您需要更复杂的硬件来运行SQL群集,特别是共享仲裁驱动器。你的Mac Mini不适合这个目的。您可以改用SQL Server High Availability Database Mirroring。
我建议罗伯特·希蒙斯基(Robert J. Shimonski)在Pro SQL Server 2005 High Availability和Allan Hirt之前获取Windows Server 2003 Clustering and Load Balancing的副本,并在开始这项冒险之前做一些研究。尽管这些标题涉及SQL Server 2005和Windows 2003,但该材料仍然与SQL Server 2008和Windows Server 2008非常相关。
答案 1 :(得分:2)
用于Web服务器的NLB和数据库服务器的镜像确实是您唯一的选择 您需要某种共享存储来进行群集,例如SAN,NAS或磁盘阵列。
如果你有一个体面的数据库,例如。 > 2-3GB然后从具有单个5400RPM SATA驱动器的mac mini运行数据库服务器将意味着您将遇到性能问题。
如果您决定沿着集群路径走下去,则需要投入更多硬件。看看openfiler这可能是一个便宜的选择。
答案 2 :(得分:1)
拆分机器。使用两个作为Web服务器,两个作为SQL Server集群。如果您不使用SQL Server群集,则也不需要Windows Server 2008群集。聚类是一件非常重要的事情。所以一般来说这种方式根本不可能。对于设置任务,您将在MS和使用谷歌找到教程和帮助。
顺便说一句:我不会用MAC minis这样做。高可用性和/或高性能应具有足够的硬件。答案 3 :(得分:0)
如果您担心数据库的负载,并且保持低成本,那么只需购买一台运行SQL Server的高端计算机就可以比通过尝试对几种便宜的方式做一些事情更好机器。每个SQL Server许可证的成本(更不用说Windows许可证)将远远超过更强大的机器的额外硬件成本。