我需要为我投入生产的系统建立一个良好的数据库集群解决方案。我希望从专家那里得到一些建议,因为我主要是一个开发人员,而不是一个数据库管理员。
背景
我和我的团队正在用一个基于.NET的系统取代一个遗留系统。目前,我们正在进行并行测试,并且正在缓慢地将用户迁移到新的系统上;然而,我突然想到,我们当前的数据库解决方案不足以在thigs真正开始运行时处理负载。现在,我们的整个数据库都在一个戴尔PowerEdge服务器上运行Server 2008 R2。对于开发和基本测试来说,这是很好的,但是当我们决定拔掉旧系统的插头,完全使用新的系统时,我们将需要诸如故障转移、负载平衡、冗余等东西。我以前从未实现过集群,因为我工作的地方--这已经实现了,而不是我的责任--维护。由于我们是从零开始实施基于个人电脑的系统,我正在寻找一个起点。
建议
您对我目前的情况有什么建议:我们有大约50个内部用户,他们将完成从数据输入、索赔处理等各个方面的工作,以及大约1500-2000个外部并发连接的可能性。做虚拟的还是物理的设置更好?光纤通道还是SATA?
发布于 2011-02-17 04:47:21
故障转移很容易完成。这只需要共享存储和几台服务器。
Server不支持扩展到多个节点。然而,一个只有几千个用户的设计正确的数据库应该能够很容易地在双芯片服务器上运行。我的公司系统在一个四芯片服务器上每秒支持35k个事务(每个芯片有6个核心)。
与任何数据库服务器一样,您需要对系统的每个部分使用多个LUN。1用于数据,1用于索引,1用于事务日志,1用于tempdb。
如果您买不起SAN (您将看到单是SAN的六位数购买),那么您应该转而查看数据库镜像。当与见证服务器一起使用时,这可以在发生故障时为您提供自动故障转移,并且不需要共享存储。仍应使用不同的存储卷。
在设计高可用性解决方案(集群、镜像、日志传送等)之前,您需要弄清楚您想要防范的是什么。你愿意泄露多少数据?在故障转移期间,您能承受多长时间的故障?
发布于 2011-02-16 22:30:45
首先要做的是。集群的本质是有两个或多个节点可以访问公共存储。因此,您将需要一个SAN设备。有许多供应商可供选择,我最熟悉的是NetApp,但周围有很多供应商。最有可能的是,您希望通过iSCSI连接到它,为此您将需要一个引发剂。它只是更容易管理比一个埃穆利,这可能是过分您的第一个SAN。
然后在此设备上创建两个卷,一个仲裁磁盘和一个存储磁盘。我通常将它们挂载为Q:和S:。集群使用仲裁磁盘;通过敲击磁盘上的一个块,集群程序可以知道哪些节点是活动的和良好的。这个可能很小,100米就够了。另一个是您的Server数据和日志文件所在的磁盘。驱动器S:将只安装在主动节点的情况下,经典的主动-被动故障转移对,连同一个VIP,你的用户实际连接。如果第二个节点通过仲裁磁盘检测到第一个节点没有响应,它将掌握SCSI、挂载磁盘、绑定VIP和重新启动SQL Server,执行日志文件的恢复,并继续为用户服务。
您可以在虚拟化的设置中使用所有这些,但是对于专用的生产用途,我通常使用健壮的物理服务器(冗余的一切)。如果有那么多用户是计算机限制的,我会对现代硬件感到惊讶;您更有可能首先遇到SAN设备的限制。值得将其视为一种投资,并与你选择的任何供应商建立关系。打几个电话,免费挑选销售前工程师的大脑.
https://dba.stackexchange.com/questions/1268
复制相似问题