




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用于高可用性和灾难恢复的 Microsoft SQL Server AlwaysOn 解决方案指南作者:LeRoy Tuttle, Jr. (Microsoft)供稿人:Cephas Lin (Microsoft)、Justin Erickson (Microsoft)、Lindsey Allen (Microsoft)、Min He (Microsoft)、Sanjay Mishra (Microsoft)审校:Alexei Khalyako (Microsoft)、Allan Hirt (SQLHA)、Ayad Shammout (Caregroup)、Benjamin Wright-Jo
2、nes (Microsoft)、Charles Matthews (Microsoft)、David P. Smith (ServiceU)、Juergen Thomas (Microsoft)、Kevin Farlee (Microsoft)、Shahryar G. Hashemi (Motricity)、Wolfgang Kutschera (Bwin Party)发布时间:2012 年 1 月适用范围:SQL Server 2012摘要:本白皮书讨论如何使用 SQL Server 2012 AlwaysOn 高可用性和灾难恢复解决方案减少计划内和计划外的停机时间、最大程度地提高应用程序可
3、用性,并且提供数据保护。本文旨在为商业利益相关者、技术决策者、系统架构设计师、基础结构工程师和数据库管理员提供一般性的背景信息。本文内容分为两大部分:高可用性和灾难恢复的概念。简要讨论规划、管理和测量高可用数据库环境的业务目标的驱动因素以及面临的挑战。之后,我们将简要概括 SQL Server 2012 AlwaysOn 和 Windows Server 解决方案的高可用性和灾难恢复功能。SQL Server AlwaysOn 保护层。我们将深入讨论 SQL Server AlwaysOn 解决方案提供的保护层的功能、基本原理和依赖条件,介绍基础结构可用性、SQL Server 实例级保护、数
4、据库级保护和数据层应用程序功能。版权信息本文档按“原样”提供。本文档中的信息和表达的观点(包括 URL 和其他 Internet 网站引用)如有更改,恕不另行通知。您应承担使用本文档所带来的风险。本文档中提及的某些示例只是为了便于说明,纯属虚构。不应据此联想或妄加推断。本文档不向您提供对任何 Microsoft 产品中的任何知识产权的任何法律权利。您可以出于内部参考目的复制和使用本文档。© 2012 Microsoft。保留所有权利。目录高可用性和灾难恢复的概念1高可用性简介1计划内停机时间与计划外停机时间1降级的可用性2停机时间的量化2恢复目标2确定合理的 ROI 或机会成本3监视
5、可用性状况3规划灾难恢复4概述:使用 Microsoft SQL Server 2012 实现高可用性4SQL Server AlwaysOn4显著减少计划的停机时间5消除闲置的硬件并提高成本效益和性能5轻松部署和管理5比较 RPO 和 RTO 能力6SQL Server AlwaysOn 保护层7基础结构可用性8Windows 操作系统8Windows Server 故障转移群集9WSFC 群集验证向导11通过强制仲裁进行 WSFC 灾难恢复14SQL Server 实例级保护15可用性改进 SQL Server 实例15AlwaysOn 故障转移群集实例16数据库可用性18AlwaysOn
6、 可用性组18可用性组故障转移20可用性组侦听器21可用性改进 数据库22客户端连接建议23结论24用于高可用性和灾难恢复的 Microsoft SQL Server AlwaysOn 解决方案指南iv高可用性和灾难恢复的概念当所有利益相关者对规划、管理和测量 RTO 和 RPO 目标的相关业务驱动因素、面临的挑战和要实现的目标达成共识后,您就可以为高可用性和灾难恢复解决方案选择最合适的数据库技术。熟悉这些概念的读者可以直接阅读本文的概述:使用 Microsoft SQL Server 2012 实现高可用性 一节。高可用性简介对于一个软件应用程序或服务来说,高可用性归根到底是要根据最终用户的
7、体验和期望来判断。我们感受得到的停机时间对业务的影响可能包括:信息丢失、资产受损、生产效率下降、机会丢失、合同无法履行或信誉受损。高可用性解决方案的主要目标是尽量减小停机时间的负面影响。合理的策略应实现业务流程、服务级别协议 (SLA) 与技术能力、基础结构成本之间的最佳平衡。根据协议以及客户和利益相关者的期望,平台应该是高度可用的。系统的可用性可按以下公式计算:实际的运行时间期望的运行时间 ×100%所得的值在业界通常用解决方案能够提供的 9 的个数来表示:这个值代表了每年解决方案运行的实际分钟数,或相反,代表了解决方案停机的分钟数。9 的个数可用性百分比每年总停机时间299%3
8、天 15 小时399.9%8 小时 45 分钟499.99%52 分钟 34 秒599.999%5 分钟 15 秒计划内停机时间与计划外停机时间系统停机可能是计划或意料之中的行为,也可能是意外故障导致的。如果正确管理停机时间,它将不会带来负面影响。有两类主要的可预见的停机时间:· 计划的维护。在执行计划的维护任务(如软件修补、硬件升级、密码更新、脱机重建索引、数据加载或灾难恢复过程演习)之前,应该预先公布和协调相应的时间范围。详尽、管理良好的操作过程可以最大程度减少停机时间和防止数据丢失。计划的维护活动可以看作一项必要的投资,以预防或减轻更严重的计划外潜在停机故障。· 计划
9、外停机。这种情况通常可能是发生了系统级、基础结构或流程故障,而这种故障不在计划之内或不可控制,或者是虽然可以预见但是发生的可能性很小,或认为故障的影响在可接受的范围之内。可靠的高可用性解决方案可以检测这类故障,自动从停机中恢复,然后重建容错功能。在确定高可用性的 SLA 时,您应针对计划的维护活动和计划外停机时间分别计算关键性能指标 (KPI)。此方法使您可以将计划的维护活动方面的投资金额同这些活动避免计划外停机时间所减小的损失进行比较。降级的可用性高可用性不应该是一种非黑即白的硬性指标。在出现故障的时候,最终用户通常可以接受系统是部分可用的,或具有有限的功能或降级的性能,而不是完全彻底的停机
10、。这些不同的可用性级别包括:· 只读和延迟的操作。在进行维护期间或在分阶段的灾难恢复期间,仍可以检索数据,但新的工作流和后台处理可能暂时停止或排队。· 数据滞后和应用程序响应能力下降。由于工作负荷繁重、处理工作积压或部分平台故障,有限的硬件资源可能被过度使用或容量变小。用户体验可能变差,但是工作仍然可以完成,只是效率降低了。· 部分、暂时性或紧急故障。取决于遇到错误时重试或自我更正的应用程序逻辑或硬件堆栈的可靠性。这类错误可能以数据滞后或应用程序响应能力下降的形式显示给最终用户。· 部分端到端故障。计划内或计划外停机可能以温和的方式发生在解决方案堆栈的垂
11、直层(基础结构、平台和应用程序)内,也可能以水平方式发生在不同功能组件之间。根据受影响的功能或组件,用户可能会遇到任务部分成功或性能降级的情况。应该在解决方案中考虑接受这些退而求其次的方案,将它们视为一种代替完全停机的次级可用性方案,也可以作为分阶段的灾难恢复过程的中间环节。停机时间的量化一旦发生停机事件,无论是计划内还是计划外,主要业务目标都是尽快使系统重新联机并尽量减少数据丢失。每一分钟的停机时间都会产生直接和间接成本。对于计划外的停机时间,您需要花时间和精力去确定停机发生的原因、当前的系统状态以及还原所需的步骤,但是必须精确把握这些工作所需的时间和工作量。一旦某个停机事件达到某个预定的临
12、界点,您应该做出或者寻求相应的业务决策,以便停止调查停机事件或者执行维护任务,使系统恢复联机状态,并且在需要时重建容错功能。恢复目标数据冗余是高可用性数据库解决方案的重要组成部分。主 SQL Server 实例上的事务活动以同步或异步方式应用到一个或多个辅助实例。发生停机时,正在进行中的事务可能回滚,或由于数据传播的延迟而在辅助实例上丢失。您可以测量这种影响并设置相关的恢复目标:业务恢复需要多长的时间,以及恢复的最后一个事务有多长时间的滞后。· 恢复时间目标 (RTO)。这是指停机的持续时间。初始目标是使系统重新联机,至少提供一个只读容量以便于调查故障。但是,最终的目标是将整个服务还
13、原到可以执行新事务的点。· 恢复点目标 (RPO)。这通常指可接受的数据丢失的度量值。它是故障前最后提交的数据事务与故障后恢复的最新数据之间的时间间隔或滞后值。实际的数据丢失可能会有所不同,具体取决于发生故障时系统的工作负荷、故障类型和所使用的高可用性解决方案类型。您应使用 RTO 和 RPO 值作为目标来指示业务容忍的停机时长和可接受的数据丢失量,并将它作为监视可用性状况的度量值。确定合理的 ROI 或机会成本停机时间的业务成本可能是金钱损失,也可能是企业信誉的损失。这些成本可能随时间而累积,也可能在停机期间的某个点发生。除了使用指定的恢复时间和数据恢复点来预测停机导致的成本之外,
14、您还可以计算实现您的 RTO 和 RPO 目标或避免停机所需的业务流程和基础结构的投资总额。这些投资的目的应包括:· 避免停机时间。如果从一开始没有发生停机,则可以完全避免停机恢复成本。投资中包含容错和冗余硬件或基础结构的成本、将工作负荷分布到多个隔离的故障点的成本以及出于预防性维护目的而发生的计划停机的成本。· 自动恢复。如果发生系统故障,您可以通过自动透明的恢复机制大大减小停机时间对客户体验的影响。· 资源利用。辅助或备用基础结构可以闲置,直到发生停机。它也可以用于处理只读工作负荷,或通过将工作负荷分布到所有可用硬件来提高总体系统性能。对于指定的 RTO 和
15、RPO 目标,所需的可用性和恢复投资,以及预测的停机时间成本,可以表示为时间的函数。在实际停机期间,这允许您根据停机时间长短来进行基于成本的决策。监视可用性状况从运行角度,在实际停机期间,您不应尝试实时考虑所有相关的变量和计算 ROI 或机会成本。您应监视备用实例上的数据滞后时间,将其作为预期的 RPO 度量值。发生停机时,您还应限制在停机期间调查停机原因所花的初始时间,而且应侧重验证恢复环境的运行状况,然后依赖详细的系统日志和数据的辅助副本以进行后续的法医式分析。规划灾难恢复高可用性工作是采取一些措施来防止停机发生,而灾难恢复工作则是在停机后采取一些措施来重建高可用性。应该尽可能在实际发生停
16、机前,制定完善的灾难恢复过程,并且明确各自的责任。根据活动的监视和警报,是否要启动自动或手动故障转移和恢复计划的决策应该与预先确定的 RTO 和 RPO 阈值紧密关联。合理的灾难恢复计划应包括:· 故障和恢复的粒度。根据故障的位置和类型,您可以在不同级别执行更正操作:数据中心、基础结构、平台、应用程序或工作负荷。· 可供调查的原始资料。应准备好基线和最新的监视历史记录、系统警报、事件日志和诊断查询数据,以便有关方面的人士随时查阅。· 协调依赖关系。在应用程序堆栈内以及各个利益相关方之间,系统和业务具有怎样的依赖关系?· 决策树。一个预先确定的、可重复操作
17、并且经过验证的决策树应该包括角色责任、故障分类、以 RPO 和 RTO 目标表示的故障转移标准以及指定的恢复步骤。· 验证。在执行从停机中恢复的步骤之后,必须执行什么操作来验证系统已恢复到正常运行状态?· 文档。用一系列文档记录上述信息,要足够详细并且条理清晰,以便第三方团队可以在尽量不借助外部帮助的情况下执行恢复计划。此类文档通常称为“运行手册”或“操作指南”。· 恢复演习。定期演习灾难恢复计划以确定 RTO 目标的基准值,并考虑使主站点和每个灾难恢复站点定期轮流充当主生产站点。概述:使用 Microsoft SQL Server 2012 实现高可用性实现所需
18、的 RPO 和 RTO 目标涉及确保关键应用程序的连续运行,以及保护关键数据不受计划内和计划外停机的影响。SQL Server 提供了一系列功能可以帮助您实现这些目标,而且所需的成本和复杂性也不高。非常熟悉新的 AlwaysOn 功能的读者可以直接阅读本文的 SQL Server AlwaysOn 保护层 一节,以便更加深入地了解相关的功能。SQL Server AlwaysOnAlwaysOn 是一种全新的集成式高可用性和灾难恢复解决方案,具有灵活性高、成本经济的特点。它可以在数据中心内和数据中心间提供数据和硬件冗余,能够缩短应用程序故障转移的时间,从而提高关键任务应用程序的可用性。Alwa
19、ysOn 在配置方面极具灵活性,能够重复利用现有的硬件资产。AlwaysOn 解决方案可以利用两个主要的 SQL Server 2012 功能在数据库级别和实例级别配置可用性:· AlwaysOn 可用性组:这是 SQL Server 2012 中引入的新功能,它大大增强了数据库镜像的功能,帮助确保应用程序数据库的可用性;它采用基于日志的数据移动来提供数据保护,无需共享磁盘,可以实现零数据丢失。可用性组提供一组集成的选项,包括逻辑数据库组的自动和手动故障转移,支持多达四个辅助副本,可以快速进行应用程序故障转移和自动页修复。· AlwaysOn 故障转移群集实例 (FCI):
20、此功能增强了 SQL Server 故障转移群集功能并支持跨子网的多站点群集,可以跨数据中心对 SQL Server 实例进行故障转移。同时,实例故障转移更快更可预测,从而加快了应用程序恢复。显著减少计划的停机时间在任何组织中,应用程序停机的主要原因是操作系统修补、硬件维护等活动导致的计划停机。这几乎占 IT 环境中总停机时间的 80%。SQL Server 2012 通过减少修补要求和支持更多联机维护操作,可以帮助显著减少计划停机时间。· Windows Server Core。SQL Server 2012 支持在 Windows Server Core(Windows Serv
21、er 2008 和 Windows Server 2008 R2 的最小简化部署选项)上进行部署。此操作系统配置可以最大限度地减少操作系统修补要求(可减少 60%),从而减少计划停机时间。· 联机操作。SQL Server 2012 增强了对联机操作(如 LOB 重建索引和添加具有默认值的列)的支持,这可以帮助减少数据库维护操作的停机时间。· 滚动升级和修补。AlwaysOn 功能为实例的滚动升级和修补提供了便利,这对减少应用程序停机时间有很大帮助。· Hyper-V 上的 SQL Server。在 Hyper-V 环境中托管的 SQL Server 实例还具有实
22、时迁移的好处,它允许您不用停机即可在主机间迁移虚拟机。管理员可以在主机上执行维护操作而不会影响应用程序。消除闲置的硬件并提高成本效益和性能典型的高可用性解决方案通常需要部署昂贵、冗余的被动服务器。AlwaysOn 可用性组使您可以将被动或空闲服务器上的辅助数据库副本用于只读工作负荷,如 SQL Server Reporting Services 报表查询或备份操作。同时利用主数据库副本和辅助数据库副本可以帮助提高所有工作负荷的性能,因为在您的服务器硬件资产中更均衡地分配了资源。轻松部署和管理诸如配置向导、Windows PowerShell 命令行界面支持、面板、动态管理视图 (DMV)、基于
23、策略的管理和 System Center 集成等功能,可以帮助简化可用性组的部署和管理。比较 RPO 和 RTO 能力恢复点目标 (RPO) 和恢复时间目标 (RTO) 的业务目标应是为您的高可用性和灾难恢复解决方案选择 SQL Server 技术的重要推动因素。下表粗略比较了这些不同解决方案可能得到的结果类型:高可用性和灾难恢复SQL Server 解决方案可能的数据丢失 (RPO)可能的恢复时间 (RTO)自动故障转移可读辅助副本(1)AlwaysOn 可用性组 同步提交零几秒是(4)0 - 2AlwaysOn 可用性组 异步提交几秒几分钟否0 - 4AlwaysOn 故障转移群集实例不适
24、用(5)几秒到几分钟是不适用数据库镜像(2) 高安全性(同步 + 见证服务器)零几秒是不适用数据库镜像(2) 高性能(异步)几秒(6)几分钟(6)否不适用日志传送几分钟(6)几分钟到几小时(6)否在还原期间不可用备份、复制、还原(3)几小时(6)几小时到几天(6)否在还原期间不可用(1) AlwaysOn 可用性组最多可以有四个辅助副本,无论它们是何种类型。(2) 后续版本的 Microsoft SQL Server 将删除该功能。请改用 AlwaysOn 可用性组。(3) 备份、复制、还原适用于灾难恢复,但是不能提供高可用性。(4) 不支持从可用性组到故障转移群集实例或反向的自动故障转移。(
25、5) FCI 本身并不提供数据保护;数据丢失取决于存储系统的实现形式。(6) 高度依赖于工作负荷、数据量和故障转移过程。SQL Server AlwaysOn 保护层SQL Server AlwaysOn 解决方案有助于在基础结构和应用程序组件的几个逻辑和物理层上提供容错和灾难恢复功能。从过去经验来看,涉及的各个人员和角色具有不同的职责已成为共识,这样每个责任人只关注这些解决方案层的一部分。本节的内容将对其中的每个层进行更深入的描述,并为设计方案讨论和实现形式决策提供基本的原理和指南。成功的 SQL Server AlwaysOn 解决方案要求了解这些层并协调这些层的活动:· 基础结
26、构级别。服务器级的容错和节点内部的网络通信都是利用 Windows Server 故障转移群集 (WSFC) 功能来监视运行状况和协调故障转移。· SQL Server 实例级别。SQL Server AlwaysOn 故障转移群集实例 (FCI) 是在 WSFC 群集中的几个服务器节点上安装并可以在其中进行故障转移的 SQL Server 实例。承载 FCI 的节点都连接到可靠的对称共享存储设备(SAN 或 SMB)。· 数据库级别。可用性组 是一组共同实现故障转移的用户数据库。可用性组由一个主副本和一至四个辅助副本组成。每个副本均由 WSFC 群集不同节点上的 SQL
27、Server(FCI 或非 FCI)实例托管。· 客户端连接。数据库客户端应用程序可以直接连接到 SQL Server 实例网络名称,也可以连接到与可用性组侦听器 绑定的虚拟网络名称 (VNN)。VNN 会提取 WSFC 群集和可用性组拓扑,以逻辑方式将连接请求重定向到相应的 SQL Server 实例和数据库副本。下图中显示了一个典型的 AlwaysOn 解决方案的逻辑拓扑: 基础结构可用性AlwaysOn 可用性组和 AlwaysOn 故障转移群集实例都是利用 Windows Server 操作系统和 WSFC 作为平台技术。想要成为一名成功的 Microsoft SQL Ser
28、ver 数据库管理员,您需要比以往更加透彻地了解这些技术。Windows 操作系统SQL Server 依赖 Windows 平台提供用于网络、存储、安全性、修补和监视活动的底层基础结构和服务。SQL Server 2012 的各个版本之间以递增的方式逐渐增加功能和容量,这一点类似于 Windows Server 2008 R2 操作系统的 Windows Server 2008 R2 Standard 版本、Windows Server 2008 R2 Enterprise 版本和 Windows Server 2008 R2 Datacenter 版本。有关详细信息,请参阅:安装 SQL
29、Server 2012 的硬件和软件要求 (zh-cn/library/ms143506(SQL.110).aspx)。Windows Server Core 安装选项作为一项重要的高可用性功能,SQL Server 2012 支持在 Windows Server 2008 或更高版本的 Server Core 安装选项上进行部署。Server Core 安装选项是服务器系统的最小环境,可以运行具有有限功能的服务器角色,并且只支持非常有限的 GUI 应用程序。默认情况下,只启用必要的服务和命令提示符环境。此操作模式减小了操作系统的受攻击面和系统开销,并且可以显著降低维护、服务和修补的要求。在
30、Windows Server Core 上部署 SQL Server 2012 的一个重要注意事项是:SQL Server 和操作系统的所有部署、配置、管理和维护都必须使用脚本环境(如 Windows PowerShell)或通过使用命令行或远程工具来完成。针对私有云优化 SQL Server高可用性和灾难恢复方案在私有云环境中日显重要。将 SQL Server 部署到私有云可以帮助确保高效使用您的计算机、网络和存储资源,减小物理占用空间、投资金额和运行开支。它将帮助您高效地合并部署、扩展资源,并在不影响控制的情况下按需部署资源。除了对 Hyper-V 主机和客户操作系统的 Windows S
31、erver 故障转移群集支持之外,SQL Server 还支持实时迁移,即可以在主机之间移动虚拟机而感觉不到系统停机。实时迁移还可以与客户群集一起使用。有关详细信息,请参阅私有云计算 - 针对私有云优化 SQL Server (Windows Server 故障转移群集Windows Server 故障转移群集 (WSFC) 提供了各种基础结构功能来支持所承载的服务器应用程序(如 Microsoft SQL Server)的高可用性和灾难恢复方案。如果一个 WSFC 群集节点或服务失败,则该节点上承载的服务或资源可在一个称为“故障转移”的过程中自动或手动转移到另一个可用节点。使用 Always
32、On 解决方案,此过程可同时应用到 FCI 和可用性组。WSFC 群集中的节点协同工作,共同提供这些类型的功能:· 分布式元数据和通知。群集中的每个节点上维护着 WSFC 服务和承载的应用程序元数据。除了承载的应用程序设置之外,此元数据还包括 WSFC 配置和状态。对一个节点上的元数据或状态的更改会自动传播到群集中的其他节点。· 资源管理。群集中的各节点可能提供物理资源,如直接连接的存储 (DAS)、网络接口和对共享磁盘存储的访问。承载的应用程序(如 SQL Server)将其本身注册为群集资源,并且可配置启动和运行状况对于其他资源的依赖关系。· 运行状况监视。节
33、点间和主节点运行状况检测是通过结合使用信号样式的网络通信和资源监视来实现的。群集的总体运行状况是由群集中节点仲裁的投票决定。· 故障转移协调。每个资源都配置为由主节点承载,并且每个资源均可自动或手动转移到一个或多个辅助节点。基于运行状况的故障转移策略控制节点之间资源所有权的自动转移。在发生故障转移时,节点和承载的应用程序会收到通知,以便其做出适当的响应。有关详细信息,请参阅 Windows Server | 故障转移群集和节点平衡 (注意:数据库管理员了解 WSFC 群集和仲裁管理的内部工作机制现在变得极为重要。AlwaysOn 运行状况监视、管理和故障恢复步骤在本质上都与您的 WS
34、FC 配置有关。WSFC 存储配置Windows Server 故障转移群集依赖于群集中的每个节点来管理与其连接的存储设备、磁盘卷和文件系统。WSFC 假定存储子系统非常可靠,因此如果连接到某一节点的存储设备不可用,则认为该群集节点出现故障。对于基于写的操作,磁盘卷每次使用 SCSI-3 永久性预留逻辑连接到一个群集节点。根据存储子系统的功能和配置,如果一个节点失败,可以将磁盘卷的逻辑所有权转移到群集中的其他节点。对于下面的对比方案,SQL Server AlwaysOn 解决方案都可以使用,但是限于某些特定的 WSFC 存储配置组合,其中包括:· 直接连接与远程。存储设备直接物理连
35、接到服务器,或者通过网络或主机总线适配器 (HBA) 由远程设备提供。远程存储技术包括基于存储区域网络 (SAN) 的解决方案(如 iSCSI 或光纤通道)以及基于服务器消息块 (SMB) 文件共享的解决方案。· 对称与非对称。如果为群集中的每个节点提供完全相同的逻辑磁盘卷配置和文件路径,则认为存储设备是对称的。基础磁盘卷的物理实现形式和容量可能有所不同。· 专用与共享。专用存储设备是为特定使用目的预留并分配给群集中的一个节点。共享存储设备则可供群集中的多个节点访问。可以使用 SCSI-3 协议将兼容的共享存储设备的控制权和所有权从一个节点转移到另一个节点。WSFC 支持“
36、群集共享卷”的并发多节点承载,以便进行文件共享。但是,SQL Server 不支持对共享卷的并发多节点访问。注意:SQL Server FCI 仍要求对称共享存储设备能够被实例的所有可能的节点所有者访问。但是,引入 AlwaysOn 可用性组后,您现在可以在 WSFC 群集中部署不属于 FCI 的其他 SQL Server 实例,每个实例具有自己的唯一、专用本地或远程存储设备。WSFC 资源运行状况检测和故障转移WSFC 群集节点中的每个资源都可以定期或按需报告其状态和运行状况。很多情况可能指示群集资源故障,其中包括:电源故障、磁盘或内存错误、网络通信错误、配置错误或服务不响应。您可使 WSF
37、C 群集资源(如网络、存储或服务)彼此依赖。资源的累计运行状况由该资源及其每个资源依赖项的持续累积运行状况来确定。对于 AlwaysOn 可用性组,可用性组和可用性组侦听器注册为 WSFC 群集资源。对于 AlwaysOn 故障转移群集实例,SQL Server 服务和 SQL Server 代理服务均注册为 WSFC 群集资源,且都依赖于实例的虚拟网络名称资源。如果某个 WSFC 群集资源在一段时间内遇到指定次数的错误或故障,则配置的“故障转移策略”将导致群集服务执行以下操作之一:· 重新启动当前节点上的资源。· 将资源设为脱机。· 开始将资源和它的依赖项自动故
38、障转移到另一个节点。注意:WSFC 群集资源运行状况检测对于单个节点的运行状况或群集的总体运行状况没有直接影响。WSFC 群集验证向导群集验证向导是一个已集成到 Windows Server 2008 和 Windows Server 2008 R2 故障转移群集的功能。它是数据库管理员的重要工具,可以帮助他们在部署 SQL Server AlwaysOn 解决方案前确保具有正常运行、稳定纯净的 WSFC 环境。使用群集验证向导,您可以针对要用作群集节点的服务器集合或现有群集运行一组有针对性的测试。此过程将直接测试各个基础硬件和软件,以准确评估指定配置对 WSFC 群集的支持程度。此验证过程包
39、含一系列的测试,并会在每个节点上收集以下类别的数据:· 资产清单。有关 BIOS 版本、环境级别、主机总线适配器、RAM、操作系统版本、设备、服务、驱动程序等的信息。· 网络。有关 NIC 绑定顺序、网络通信、IP 配置和防火墙配置的信息。验证所有 NIC 的节点间通信情况。· 存储。有关磁盘、驱动器容量、访问延迟时间、文件系统等的信息。验证 SCSI 命令、磁盘故障转移功能、对称或非对称存储配置。· 系统配置。验证 Active Directory 配置、驱动程序已签名、内存转储设置、所需的操作系统功能和服务、兼容的处理器体系结构,以及 Service
40、 Pack 和 Windows 软件更新级别。这些验证测试的结果为您提供所需的信息,以便优化群集配置、跟踪配置和识别潜在的群集配置问题以免它们导致停机。您可以将测试结果报告保存为 HTML 文档,供以后参考。您应在对 WSFC 配置进行任何更改之前和之后、在安装 SQL Server 前以及在执行任何灾难恢复过程时运行这些测试。Microsoft 客户支持服务部门 (CSS) 要求提供群集验证报告作为 Microsoft 支持指定 WSFC 群集配置的前提条件。有关详细信息,请参阅故障转移群集分步指南:验证故障转移群集的硬件 (注意:如果您的群集配置具有非对称存储设备,并且与基于硬件的地理群集
41、存储解决方案或是与 AlwaysOn 可用性组同时使用,您可能需要应用很多修补程序来防止群集验证向导的存储验证步骤失败。有关详细信息,请参阅针对 AlwaysOn 可用性组的先决条件、限制和建议 (WSFC 仲裁模式和投票配置WSFC 使用一种基于仲裁的方法来监视群集的整体运行状况,并且最大限度地提高节点级别的容错能力。理解 WSFC 仲裁模式和节点投票配置对于 AlwaysOn 高可用性和灾难恢复解决方案的设计、操作和故障排除十分重要。通过仲裁执行群集运行状况检测WSFC 群集中的每个节点都参与周期性信号通信,以便与其他节点共享该节点的运行状况。未响应的节点被认为是处于故障状态。“仲裁”节点
42、集是 WSFC 群集中的大多数投票节点和见证服务器。WSFC 群集的总体运行状况和状态是由定期“仲裁投票”确定的。仲裁的存在意味着群集运行状况正常,且能提供节点级别的容错能力。没有仲裁并不指示群集未在正常状况下运行。必须维护整体 WSFC 群集运行状况,以便确保运行状况良好的辅助节点可用于充当要故障转移到的主节点。如果仲裁投票失败,作为一项预防措施,整个 WSFC 群集将被设为脱机。这也将导致所有向群集注册的 SQL Server 实例都停止。注意:如果 WSFC 群集因为仲裁失败而被设为脱机,则需要手动干预以便将其重新联机。有关详细信息,请参阅本文后面的通过强制仲裁进行 WSFC 灾难恢复一
43、节。仲裁模式“仲裁模式”是在 WSFC 群集级别配置的,以指定用于仲裁投票的方法。故障转移群集管理器实用工具将基于群集中的节点数来建议仲裁模式。以下仲裁模式之一用于确定构成投票仲裁的元素:· 节点多数:群集中超过一半的投票节点必须投票赞成群集处于正常状态。· 节点和文件共享多数:此模式与“节点多数”仲裁模式相似,只不过还另外配置了一个远程文件共享充当投票见证服务器,并且从任何节点到该共享的连接也计为有效赞成投票。赞成投票数超过总投票数的一半即表示群集处于正常状态。作为最佳实践,见证文件共享不应驻留在该群集中的任何节点上,它应该对于该群集中的所有节点都是可见的。·
44、节点和磁盘多数:此模式与“节点多数”仲裁模式相似,只不过还另外指定了一个共享磁盘群集资源充当投票见证服务器,并且从任何节点到该共享磁盘的连接也计为有效赞成投票。赞成投票数超过总投票数的一半即表示群集处于正常状态。· 仅磁盘:共享磁盘群集资源指定为见证服务器,并且从任何节点到该共享磁盘的连接也计为有效赞成投票。有关详细信息,请参阅故障转移群集分步指南:在群集中配置仲裁 (注意:除非将群集中的每个节点配置为使用相同的共享存储仲裁见证磁盘,否则,如果您具有奇数数目的投票节点,则通常应该使用“节点多数”仲裁模式;如果您具有偶数数目的投票节点,则通常应该使用“节点和文件共享多数”仲裁模式。投票
45、和非投票节点默认情况下,WSFC 群集中的每个节点都是群集仲裁的成员;每个节点、文件共享见证服务器和磁盘见证服务器都具有能够确定群集整体运行状况的单个投票。为了便于讨论仲裁,本文现在将 WSFC 群集节点中有权投票的节点称为“投票节点”。在某些情况下,您可能不希望每个节点都具有投票权。WSFC 群集中的每个节点不断尝试建立仲裁。群集中没有任何一个单独节点可以明确确定该群集的整体运行状况是正常还是非正常。在任意给定时刻,从各节点的角度来说,其他一些节点可能好像脱机,或者好像处于故障转移中,或者好像由于网络通信失败而无法响应。仲裁投票的一个关键功能是确定 WSFC 群集中每个节点的明显表现出来的状
46、态是否真的就是这些节点的实际状态。除了“仅磁盘”之外,对于其他所有仲裁模式,仲裁投票的效力取决于群集中所有投票节点之间的可靠通信。当所有节点位于同一物理子网时,您应信任仲裁投票。但是,如果其他子网上的节点在仲裁投票中被视为无响应,但它实际上处于联机状态并且正常运行,则很可能是因为子网之间网络通信失败。根据群集拓扑、仲裁模式和故障转移策略配置,网络通信失败最终可能会创建不止一组(或一个子组)的投票节点。如果多个子组的投票节点能够建立自己的仲裁,这称作“裂脑情形”。在这种情况下,每个仲裁中的节点可能具有不同的行为方式,并互相冲突。注意:裂脑情形仅在系统管理员手动执行强制仲裁操作时或者在非常罕见的情
47、况下(如强制手动故障转移)才可能出现;并且会显式将仲裁节点组进一步划分为多个组/子组。有关详细信息,请参阅本文后面的通过强制仲裁进行 WSFC 灾难恢复 一节。为了简化您的仲裁配置和增加运行时间,您可能要调整每个节点的 NodeWeight 设置(值为 0 或 1),以便不将该节点的投票计为有效仲裁投票。建议的仲裁投票调整要为群集确定建议的仲裁投票配置,请按顺序应用以下准则:1. 默认情况下不投票。在没有明确的判断时,假定每个节点不应投票。2. 包括所有的主节点。承载 AlwaysOn 可用性组主副本或是 AlwaysOn 故障转移群集实例的首选所有者的每个节点都应具有一票。3. 包括可能的自
48、动故障转移所有者。在自动故障转移之后可能承载主副本或 FCI 的每个节点都应具有一票。4. 不包括辅助站点节点。通常,不要向驻留在辅助灾难恢复站点的节点分配投票。在主站点不存在任何问题时,您不会希望辅助站点中的节点参与到令群集脱机的决策中来。5. 奇数数目的投票。如果需要,可以将见证文件共享、见证节点(具有或不具有 SQL Server 实例)或见证磁盘添加到群集,并且调整仲裁模式,以防止群集投票中可能出现票数正好一半的情况。6. 故障转移后重新评估投票分配。您不希望故障转移到不支持运行状况仲裁的群集配置。有关调整节点投票的详细信息,请参阅配置群集仲裁 NodeWeight 设置 (您无法调整
49、文件共享见证服务器的投票。相反,您必须选择不同的仲裁模式来包含或排除其投票。注意:SQL Server 公开了若干系统动态管理视图 (DMV),可帮助您管理与 WSFC 群集配置和节点仲裁投票相关的设置。有关详细信息,请参阅监视可用性组 (通过强制仲裁进行 WSFC 灾难恢复仲裁故障通常由系统性灾难或涉及 WSFC 群集中多个节点的持久性通信故障引起。请注意,仲裁故障将会使 WSFC 群集中的所有群集服务、SQL Server 实例和可用性组设为脱机,这是因为该群集无法确保节点级容错。仲裁故障意味着 WSFC 群集中运行状况良好的投票节点不再满足仲裁模式的要求。一些节点可能已完全失败,而另一些
50、节点可能只是关闭了 WSFC 服务从而失去仲裁通信的能力,但是其他方面运行状况良好。要使 WSFC 群集重新联机,您必须在现有配置下的至少一个节点上消除仲裁故障的根源。在灾难方案中,您可能需要重新配置或确定要使用的替代硬件。您可能还要重新配置 WSFC 群集中的其余节点以反映幸存的群集拓扑。您可以在 WSFC 群集节点上使用“强制仲裁”过程来覆盖使该群集脱机的安全控制。这样做可有效地通知 WSFC 群集挂起仲裁投票检查,并使您能够在该群集中的任意节点上将 WSFC 群集资源和 SQL Server 重新联机。此类型的灾难恢复过程应包含以下步骤:1) 确定故障的范围。确定哪些可用性组或 SQL
51、Server 实例是不响应的,哪些群集节点处于联机状态且可在灾后使用,然后检查 Windows 事件日志和 SQL Server 系统日志。在可行的情况下,您应保留取证数据和系统日志以供未来分析使用。2) 在单一节点上使用强制仲裁来启动 WSFC 群集。在其他正常运行的节点上,使用强制仲裁过程来手动强制群集联机。为了最大程度地减少可能丢失的数据,应选择一个最后承载可用性组主副本的节点。有关详细信息,请参阅在无仲裁情况下强制启动 WSFC 群集 (注意:如果您使用强制仲裁设置,在群集范围内将阻止仲裁检查,直到 WSFC 群集获得了投票多数并自动转换到正常仲裁状态。3) 逐一在每个其他方面运行正常
52、的节点上正常启动 WSFC 服务。当您在其他节点上启动该群集服务时,您无需指定强制仲裁选项。随着每个节点上的 WSFC 服务重新联机,该服务会与其他运行状态正常的节点进行协商以同步新的群集配置状态。请务必记住,一次只能在一个节点上执行此操作,以避免在解析群集的上一个已知状态时出现潜在的争用情况。注意:确保您启动的每个节点可以与其他刚联机的节点通信,否则,您将会面临创建多个仲裁节点集(即裂脑情形)的风险。如果您在步骤 1 中的调查结果很准确,则应该不会发生这种情况。4) 应用新的仲裁模式和节点投票配置。如果您使用强制仲裁过程成功地重新启动了群集中的所有节点并且消除了仲裁故障的根源,则不需要更改原
53、始仲裁模式和节点投票配置。否则,您应评估新恢复的群集节点和可用性副本拓扑,并相应地更改每个节点的仲裁模式和投票分配。将未恢复的节点上的 WSFC 群集服务设置为脱机,或将其节点投票设置为零。注意:此时,群集中的节点和 SQL Server 实例可能看起来已恢复到正常操作状态。但是,可能仍然不存在运行状况正常的仲裁。使用故障转移群集管理器或 SQL Server Management Studio 中的 AlwaysOn 面板或适当的 DMV 来验证仲裁已恢复正常。5) 根据需要恢复可用性组数据库副本。某些数据库可能作为常规 SQL Server 启动过程的一部分自行恢复和联机。其他数据库的恢复
54、可能要求执行额外的手动步骤。通过按照以下顺序将可用性组副本重新联机(如果可能)可以最大程度地减少丢失数据的可能性并缩短恢复时间:主副本、同步辅助副本、异步辅助副本。6) 修复或替换失败的组件并重新验证群集。从最初的灾难和仲裁故障中恢复之后,您应修复或替换失败的节点并对相关的 WSFC 和 AlwaysOn 配置进行相应地调整。这可能包括:删除可用性组副本、将节点从群集中逐出或者在节点上平展并重新安装软件。注意:您必须修复或删除所有失败的可用性副本。SQL Server 2012 不会截断超过最后一个可用性副本的上一个已知点的事务日志。如果没有在可用性组中修复或删除某个失败的副本,则事务日志将会
55、增长,因而您将面临其他副本的事务日志空间不足的风险。7) 根据需要,重复步骤 4。目标是重新建立适当级别的容错和高可用性以实现正常的操作。8) 进行 RPO/RTO 分析。您应分析 SQL Server 系统日志、数据库时间戳和 Windows 事件日志,以确定故障的根源,并记录实际的恢复点和恢复时间经验。SQL Server 实例级保护AlwaysOn 解决方案中的下一个保护层是数据平台本身;它们是 Microsoft SQL Server 2012 和与其集成的 Windows Server 基础结构组件提供的功能。可用性改进 SQL Server 实例这些是新的 SQL Server 2012 实例级功能,它们增强了 AlwaysOn 故障转移群集实例和承载 AlwaysOn 可用性组的独立实例的可用性。这些改进使管理故障转移方案和故障排除的能力得到增强:· 灵活的故障转移策略。用于可靠故障检测的新系统存储过程 sp_server_diagnostics 的输出使用 FailureConditionLevel 属性来表示影响 SQL Server 实例的故障的严重性。WSFC 故障转移策略控制此值如何影响 SQL Server
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园大班班主任10月份工作总结模版
- 绿色金融产品创新在绿色能源领域的应用与发展报告
- 光伏电站智能化运维与发电量提升的智能化运维设备技术路线图
- 区块链科技助力构建高效教育资源分配体系
- 区块链与大数据科技在金融领域的应用前景
- 区块链技术驱动下的环境保护项目透明化路径
- 苏教版八年级上数学知识点总结模版
- 智慧排水管网改造方案研究
- 协同育人新模式推动教育创新与实践
- 小学生期中考试表彰大会学生发言稿
- 2018年西藏中考化学真题及答案
- 妊娠期糖尿病产后护理
- SJ-T 11841.2.2-2022 显示系统视觉舒适度 第2-2部分:平板显示-蓝光测量方法
- 代收代付协议书模板(2篇)
- 政务新闻摄影技巧培训课件
- 2024年放射工作人员放射防护培训考试题及答案
- 《第七天》读书分享交流会
- 老人疫苗接种健康知识讲座
- 2024年同等学力申硕-同等学力(政治学)历年高频考点试卷专家荟萃含答案
- 感染科业务培训计划
- 铁路工程项目工程量清单
评论
0/150
提交评论