Home  >  Article  >  Database  >  SQL Server集群服务器的优缺点

SQL Server集群服务器的优缺点

WBOY
WBOYOriginal
2016-06-07 16:18:091148browse

由二台或更多物理上独立的服务器共同组成的虚拟服务器称之为集群服务器。一项称做MicroSoft集群服务(MSCS)的微软服务可对集群服务器进行管理。一个SQL Server集群是由二台或更多运行SQL Server的服务器(节点)组成的虚拟服务器。如果集群中的一个节点发生故障

  由二台或更多物理上独立的服务器共同组成的"虚拟"服务器称之为集群服务器。一项称做MicroSoft集群服务(MSCS)的微软服务可对集群服务器进行管理。一个SQL Server集群是由二台或更多运行SQL Server的服务器(节点)组成的虚拟服务器。如果集群中的一个节点发生故障,集群中的另一个节点就承担这个故障节点的责任。

  认为一个 SQL Server集群能够给集群中的两个节点带来负载平衡,这是一种常见的误解。虽然这似乎很有用,但却是不正确的。这也意味着集束SQL Server不能真正提高性能。集束SQL Server只能提供故障转移功能。故障转移就是当系统中的一台机器发生故障失去其功能时,另一台机器将接手运行它的SQL Server实例。这种功能失效可能是由于硬件故障、服务故障、人工故障或各种其它原因。

  为何要集束SQL Server环境?

  在实用性方面,集群SQL Server环境令人满意。在进行故障转移时,,将数据库实例由一台服务器转移到另一台服务器的时间非常短暂,一般只需要3至7秒钟。虽然需要重建连接,但对数据库的终端用户而言,故障转移处理通常是透明的。低廉的故障转移成本还可帮助你对集群中的节点进行维护,而不会造成服务器完全无法访问。

  SQL Server集群类型

  一共有两种类型的SQL Server集群:主动/被动集群和主动/主动集群。下面分别对它们进行说明(说明以两个节点的SQL Server集群为基础)。

  主动/被动集群

  在这种类型的集群中,一次只有一个节点控制SQL Server资源。另一个节点一直处于备用模式,等待故障发生。进行故障转移时,备用的节点即取得SQL Server资源的控制权。

  优点:由于服务器上只有一个实例在运行,所以在进行故障转移时,不需要另外的服务器来接管两个SQL Server实例,性能也不会因此降低。

  缺点:由于虚拟服务器上只有一个SQL Server实例在运行,另一台服务器总是处理备用模式与空闲状态。这意味着你并没有充分利用你购买的硬件。

  主动/主动集群

  在这种类型的集群中,集群中的每个节点运行一个独立且主动的SQL Server实例。发生节点故障时,另一个节点能够控制发生故障节点的SQL Server实例。然后这个正常的节点将运行两个SQL Server实例--它自己的实例和发生故障的实例。

  优点:通过这种配置,你能够充分利用你的硬件。在这样的系统中,两个服务器都在运行,而不是只有一台服务器运行,而另一台处于等待故障发生的备用模式,因此你能够充分利用你购买的机器。

  缺点:如果进行故障转移,一台服务器运行两个SQL Server实例,性能就会受到不利影响。然而,性能降低总比虚拟服务器完全失灵要强得多。这种配置的另一故障在于它要求购买的许可要比主动/被动集群多一些。因为集群在运行两个主动SQL Server实例,这要求你购买两个单独的服务器许可。在某些情况下,这也可能对你形成阻碍。

  集群考虑

  在高实用性方面,集群SQL Server环境有一定的优势。然而,高实用性也确实伴随某种折衷。

  首先,建立一个集群SQL Server环境非常昂贵。这是因为集群中的节点必须遵照集群节点的兼容性列表。而且,还需要建立一个复杂的网络,机器的配置必须几乎相同,同时需要实现数据库文件磁盘子系统共享。存储区网络(SAN)是建立这种子系统的不错选择,但SAN并非必要,而且十分昂贵。另外,如果你正在运行一个主动/主动集群,你需要为集群中运行SQL Server实例的每台机器的处理器购买一个许可。

  因为当地集群主要局限于同一地理区域,自然灾难可能会使集群完全失灵。在那种情况下,你需要转移到灾难恢复站点进行继续操作。你也可以建立地理分散的SQL Server集群,但这样的系统更加复杂与昂贵。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn