Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1093131
  • 博文数量: 110
  • 博客积分: 10068
  • 博客等级: 上将
  • 技术积分: 1505
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-25 11:28
文章分类

全部博文(110)

文章存档

2011年(4)

2010年(5)

2009年(73)

2008年(28)

我的朋友

分类: 数据库开发技术

2009-09-26 17:03:51

SQL Server 2008数据库镜像+故障转移集群

  上面我们介绍的故障转移集群、日志传送亦或基于磁盘的备份都是作为单一技术出现的,而在真实的大中型企业环境中为了确保数据应用的持续在线,我们通常有一些组合多种高可用技术的方案。通过混合不同可用性技术,我们将可以采长补短。

  例如数据库镜像技术。

  虽然数据库镜像可以解决故障转移集共享存在单点失效威胁、依赖于特殊硬件等一系列的问题,但是数据库镜像最大的问题就是故障转移路径过短。对于大中型企业来说,仅有两个节点的故障转移路径有些不足。因此通过增加一个故障转移集群作为数据库镜像的镜像节点就可以解决了数据库镜像故障转移路径过短的问题。

上面这种解决方案当主体失效后,数据库镜像会将启动镜像节点,而由于镜像节点是由一个故障转移集群承担的,因此当镜像节点中的一个节点失效后还有一个后备节点,因此还可以有一个后备节点承担。

  其实故障转移集群和数据库镜像是各有利弊,因此这两种技术融合在一起后的解决方案不仅仅是上面这一种,下面就给出另外一种解决方案的示意图:

  细心的读者可能会发现,方案二种没有了见证节点,这意味着从主集群切换到镜像集群需要手动完成。那么为什么这种解决方案中没有了见证节点呢?

  因为数据库镜像和故障转移集群都拥有自动故障转移的特性,如果两种技术的自动切换都生效的话,那么在主体集群的活动节点失效后就会有两个节点同时试图生效——主体集群的后备节点和镜像集群的活动节点,那么结果就只有一个,数据库镜像会话失败。

通常,当镜像与群集一起使用时,主体服务器与镜像服务器都驻留在群集上,其中,主体服务器在一个群集的故障转移群集实例中运行,镜像服务器在另一个群集的故障转移群集实例中运行。不过,您可以建立一个镜像会话,其中,一个伙伴驻留在一个群集的故障转移群集实例中,另一个伙伴驻留在一个单独的非群集的计算机中。

如果群集故障转移使主体服务器暂时不可用,将断开客户端与数据库的连接。群集故障转移完成之后,根据运行模式,客户端可以重新连接到同一群集、不同群集或非群集计算机中的主体服务器。

当决定如何在群集环境中配置数据库镜像时,所使用的镜像运行模式至关重要。

具有自动故障转移功能的高安全性模式会话

如果想要在具有自动故障转移功能的高安全性模式下镜像数据库,则建议针对伙伴使用双群集配置。此配置提供最高的可用性。此见证服务器可以驻留在第三方群集上,也可以驻留在非群集计算机上。

如果运行当前主体服务器的节点失败,将在几秒钟内开始进行数据库自动故障转移,群集仍然故障转移到另一个节点。数据库镜像会话故障转移到其他群集或非群集计算机中的镜像服务器,并且先前的镜像服务器变为主体服务器。新主体服务器将尽快前滚其数据库副本并使其作为主体数据库处于在线状态。群集故障转移完成(通常需要几分钟)之后,先前作为主体服务器的故障转移群集实例变为镜像服务器。有关详细信息,请参阅。

下图显示了在具有见证服务器(支持自动故障转移)的高安全性模式下运行的镜像会话中,群集之间的自动故障转移。

 

镜像会话中的三个服务器实例驻留在三个不同的群集上:Cluster_ACluster_BCluster_C。每个群集上都有一个 SQL Server 默认实例,此实例作为 SQL Server 故障转移群集实例在运行。镜像会话启动时,Cluster_A 上的故障转移群集实例是主体服务器,Cluster_B 上的故障转移群集实例是镜像服务器,Cluster_C 上的故障转移群集实例是镜像会话中的见证服务器。最终,Cluster_A 上的活动节点失败,这将导致主体服务器不可用。

在群集准备执行故障转移之前,镜像服务器借助见证服务器检测到主体服务器已丢失。镜像服务器将前滚其数据库,并尽快使该数据库在线以成为新的主体数据库。当 Cluster_A 完成故障转移之后,先前的主体服务器现在成为镜像服务器,并将其数据库与 Cluster_B 上的当前主体数据库同步。

不带自动故障转移功能的高安全性模式会话

在不带自动故障转移功能的高安全性模式下镜像数据库时,如果运行当前主体服务器的节点失败,则群集中的其他节点将充当主体服务器。注意,如果群集不可用,数据库将不可用。有关详细信息,请参阅。

高性能模式会话

如果想要在高性能模式下镜像数据库,请考虑将主体服务器放置在群集的故障转移群集实例中,将镜像服务器放置在远程位置的非群集服务器上。如果群集故障转移到另一节点,在镜像会话中,故障转移群集实例将继续作为主体服务器。如果整个群集出现问题,则可以将服务强制到镜像服务器上。有关详细信息,请参阅。

设置新的 SQL Server 2005 故障转移群集


设置数据库镜像



其他资源




帮助和信息

阅读(4254) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~