




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL Server 2012 AlwaysOn:多站点故障转移群集实例SQL Server 技术文章作者:Mike Weiner、Sanjay Mishra、Min He供稿人:Lingwei Li、Mike Anderson (EMC Corporation)技术审校:Shaun Tinline-Jones、Steve Howard、Prem Mehra、Paul Burpo、Mike Ruthruff、Jimmy May、Matt Neerincx、Dan Benediktson、Michael Steineke (Edgenet Inc.)、David P. Smith (Servic
2、eU Corporation)发布时间:2011 年 12 月适用范围:SQL Server 2012摘要:SQL Server 故障转移群集是 SQL Server 2012 AlwaysOn 整体实现的一部分。它同时支持本地以及多站点故障转移配置,旨在为 SQL Server 提供高可用性和灾难恢复功能。多站点故障转移群集技术在 SQL Server 2012 中得到显著增强。本文重点介绍多站点故障转移群集的体系结构、SQL Server 2012 中对该技术的增强以及有助于部署该技术的一些最佳做法。版权信息本文档按“原样”提供。本文档中的信息和表达的观点(包括 URL 和其他 Inter
3、net 网站引用)如有更改,恕不另行通知。您应承担使用本文档所带来的风险。本文档中提及的某些示例只是为了便于说明,纯属虚构。不应据此联想或妄加推断。本文档不向您提供对任何 Microsoft 产品中的任何知识产权的任何法律权利。您可以出于内部参考目的复制和使用本文档。 2011 Microsoft。保留所有权利。目录简介4SQL Server 2012 多站点故障转移群集 - 体系结构4构建多站点故障转移群集所需的组件5服务器硬件和操作系统5存储设备6网络6Windows Server 故障转移群集 (WSFC) 仲裁模型7关于多站点故障转移群集改进功能的 SQL Server 客户实验室测试
4、7挑战、解决之道和经验9存储验证检查要求9在故障转移群集管理器中使用 OR 依赖关系配置 IP 地址10合适的仲裁模型11多子网 SQL Server FCI 故障转移后的网络注册和客户端连接11结论12附录13实验室硬件和软件环境13服务器13SQL Server13存储设备13存储软件13简介本白皮书讨论了 SQL Server 2012 中有关多站点故障转移群集技术的增强功能及其注意事项。其内容编排如下所示: 从体系结构角度探讨多站点故障转移群集。 部署多站点故障转移群集涉及的组件。 介绍一下我们的实验室测试。实验室测试是在 SQL Server 2012 的预发行版本基础之上执行的,但
5、是您仍然可以从中了解多站点配置中的故障转移方案和行为。 我们将讨论面临的挑战、解决之道和获得的一些经验,以帮助在生产环境中部署此技术。此测试使用的是预发行软件。但是,实验室中所测试的功能在此版本中已基本完成,在最终的生产版本中不会有大的更改。SQL Server 2012 多站点故障转移群集 - 体系结构在评估 Microsoft SQL Server 环境的高可用性选项时,您可能注意到 SQL Server 中提供了很多功能,它们可帮助应用程序实现您组织的可用性目标。SQL Server 故障转移群集技术在产品中作为高可用性策略已经有十多年的时间了。通过 SQL Server 故障转移群集,
6、SQL Server 实例在任意时间点都能够在群集内的单个节点上运行。如果 SQL Server 实例因为某些原因(如硬件故障)无法在某个节点上运行,它可以故障转移到另一个节点,这样就在 SQL Server 实例级别上提供了高可用性。许多企业在多个位置运行数据中心,或可能在不同的站点备有辅助数据中心,以此提供冗余来实现灾难恢复机制。这样做的一个主要原因是防止站点因为网络、电源、基础结构或其他站点灾难等原因而导致全面故障。许多解决方案都使用此多站点模型实现了 Windows Server 和 SQL Server 故障转移群集。多站点故障转移群集的节点分散在多个不同的物理站点或数据中心,目的是
7、在某个站点出现灾难时能够在其他数据中心上提供可用性。有时多站点故障转移群集也称为地理分散的故障转移群集、拉伸群集或多子网群集。目前,想要部署 SQL Server 2008 R2 多站点故障转移群集,除了 SQL Server 故障转移群集之外,您还需要部署以下技术: SAN 复制和故障转移技术 提供跨站点的数据复制和故障转移功能 拉伸虚拟 LAN (VLAN) 技术 用于公开可以在站点间进行故障转移的单个 IP 地址(如果环境中存在多个子网)。在 Windows Server 2003 中,所有群集资源之间的依赖关系均为 AND 依赖关系。(注意:在 Windows Server 2003
8、中,故障转移群集称为服务器群集。)例如,如果“SQL Server”资源依赖于“IP 地址”和“磁盘 1”资源,仅当“IP 地址”和“磁盘 1”资源均联机时,Windows 群集才能使“SQL Server”资源联机。Windows Server 2008 引入了指定资源间 OR 依赖关系的能力;有关详细信息,请参阅博客文章群集资源依赖关系表达式 ( Server”资源依赖于“磁盘 1”AND (“IP 地址 1”OR“IP 地址 2”)。此配置允许多子网群集中的每个站点注册为不同的 IP 地址,同时允许“SQL Server”资源只需要依赖于至少一个与之绑定的 IP 地址。但是,SQL Se
9、rver 2008 R2 不支持 Windows Server 2008 中的 IP 地址 OR 依赖关系。在 SQL Server 2008 R2 和以前的版本中,SQL Server 在启动时将遍历故障转移群集资源组中的所有 IP 地址并尝试与它们全部绑定。如果任何绑定失败,则 SQL Server 的启动也会失败。因此,在 SQL Server 2008 R2 和以前的版本中,需要使用拉伸 VLAN 来启用 SQL Server 多站点故障转移群集。但是很多客户因为安全、成本、复杂性或与公司标准不兼容等原因不愿意部署拉伸 VLAN。这是限制部署 SQL Server 多站点和多子网群集的
10、重要因素。在 SQL Server 2012 中,多站点特别是多子网故障转移群集实现方面有了诸多的改进,其中就包括下面两项支持多子网群集的重要增强功能: 群集安装支持 现在 AddNode(对于集成安装)和 CompleteFailoverCluster(对于高级安装)都可以智能检测多子网环境并自动将 IP 地址资源依赖关系设置为 OR。 SQL Server 引擎支持 为了使 SQL Server 资源联机,SQL Server 引擎启动逻辑将不再需要绑定到不处于联机状态的所有 IP 地址。IP 地址的状态和 OR 依赖关系配置显示在“挑战、解决之道和经验”一节的示意图中。在 SQL Ser
11、ver 客户实验室,我们已使用 SQL Server 2012 的预发行版本测试了这个新功能。本文档的其余部分将提供进一步的背景信息,以使您了解如何在 SQL Server 2012 中配置多站点 SQL Server 故障转移群集并介绍实验室设置、测试过程和相关经验。构建多站点故障转移群集所需的组件构建多站点 SQL Server 故障转移群集时,需要考虑很多组件。我们将在此处讨论这些组件和其他一些注意事项。服务器硬件和操作系统硬件配置:根据下面文章中所列的准则,群集硬件必须是受支持的配置(Windows Server 2008 R2 或更高版本):Windows Server 2008 或
12、 Windows Server 2008 R2 故障转移群集的 Microsoft 支持策略 (Microsoft 软件:Windows Server 和 SQL Server。Windows Server 和 SQL Server 的每个版本所支持的故障转移群集(实例)节点数各不相同,而且不同的版本所支持的故障转移群集功能也各不相同。有关详细信息,请参阅 Windows Server 2008 R2 中故障转移群集的新增功能 ( SQL Server 2012 中的一些更改,如果想要全面了解所有的更改,请参考 SQL Server 2012 最终版本推出前后发布的 SQL Server 联机
13、丛书以及其他文章。注意:Windows Server 故障转移群集 (WSFC) 实现有一个特殊的要求,那就是群集内的所有节点必须是同一域的一部分。存储设备对于存储设备,要考虑以下几个事项: 第一个注意事项是与存储设备的连接性: 通常来说,本地连接采用的是光纤通道交换的连接,其中单个节点具有 LUN 的独占所有权,并可以在任意指定时间实现连接。在故障转移时,另一个节点可以获得对该存储设备的独占所有权。 在多站点群集方案中,这两个站点通常都有独立的存储设备。当本地节点需要访问存储设备时,两个存储设备之间也存在一个连接,以便将这两个设备链接起来。两个存储阵列之间的连接机制的类型和性能是影响解决方案
14、的故障转移和 I/O 性能的重要因素。 其次是存储复制技术,它用于复制各站点存储设备之间的 I/O。此技术由存储供应商提供。 最后,存储供应商还提供一个软件组件来自动执行存储设备之间的故障转移并确定在故障转移时群集内哪些磁盘是可访问的和已装载的。网络网络组件在多站点(和多子网)环境中也很重要。配置 SQL Server 实例时,确保每个子网有一个有效的 IP 地址,这一步很关键。还需要考虑到 SQL Server 2012 和以前版本之间的一些区别。首先,尽管 SQL Server 2012 中集成了多子网配置支持,然而在 SQL Server 配置为使用 VLAN 或单个网络时,配置仍旧有效
15、并受支持。其次,在 SQL Server 2008 和 SQL Server 2008 R2 中,生存时间 (TTL) 和其他 DNS 复制配置是故障转移方案和客户端连接的一个重要考虑因素。这些配置问题不再需要在 SQL Server 2012 故障转移群集中解决,因为 SQL Server 2012 版本中提供了一些网络配置和客户端驱动程序的增强功能。有关详细信息,请参阅本文后面的“挑战、解决之道和经验”。最后,还要考虑一些其他网络注意事项,例如 Windows 群集的检测信号网络,它们很重要,但是不在本文的讨论范围内。Windows Server 故障转移群集 (WSFC) 仲裁模型使用
16、Windows Server 2008 和 Windows Server 2008 R2 时,支持四种仲裁配置类型。这些仲裁模型在故障转移群集分步指南:在故障转移群集中配置仲裁 ( cc770620(WS.10).aspx) 中讨论。在多站点故障转移群集中,仲裁模型还有一些特殊的注意事项。有关这些注意事项的详细讨论,请参阅多站点故障转移群集的要求和建议 ( 中的“节点数和相应的仲裁配置”部分。以下是链接中所述信息的汇总:对于节点数为偶数 的多站点故障转移群集,建议采用“节点和文件共享多数”仲裁配置。应该使用一些打破平局的机制(无论是磁盘、节点还是文件共享见证服务器)。一般建议使用文件共享见证服
17、务器,因为它通常更易于保持文件共享对两个站点均可访问。对于节点数为奇数 的情况,请考虑使用“节点多数”选项。但是,在此配置中,如果具有更多节点的站点(通常是主站点)失败,则需要进行人工干预以强制群集在辅助站点启动,因为仲裁已丢失。关于多站点故障转移群集改进功能的 SQL Server 客户实验室测试为了了解某些新的多子网功能,我们在美国华盛顿州 Redmond 的 SQL Server 客户咨询实验室 (SQLCAT) 执行了一些测试。在这些测试中,我们的主要目标是在两个站点间配置多子网故障转移群集并针对配置运行客户工作负荷。实验室配置如下所示。硬件和软件: 两个 Windows Server
18、 2008 R2 服务器位于“站点 A”,两个 Windows Server 2008 R2 服务器位于“站点 B” 配置为一个多站点故障转移群集实例 (FCI) 的 SQL Server 2012 预发行软件存储设备:配置两个 EMC Symmetrix VMAX 企业级存储阵列,每个站点一个。这些阵列均配置有两个 VMAX 存储引擎和 240 个磁盘驱动器。驱动器由企业级闪存驱动器 (EFD)、光纤通道和 SATA 组成。为了满足测试要求,将光纤通道驱动器的一部分提供给镜像配置中的 Windows Server 2008 R2 故障转移群集。将九个 112 GB 的卷用于数据和日志存储。将
19、一个 300 GB 的卷用于存储数据和日志备份。每个阵列使用双 8 Gbps 光纤通道连接与测试服务器相连。存储阵列使用 Symmetrix 远程数据工具(SRDF,在附录中提供了相关链接)将数据从源阵列发送到目标阵列。名为 R1 卷的源存储设备将数据发送到名为 R2 卷的目标存储设备。当站点发生故障转移时,SRDF/CE(群集启用器)会检测到阵列复制状态(因为它与 WSFC 活动节点关联)。SRDF/CE 还处理所有复制状态更改。这些阵列使用双 1 Gbps 以太网连接进行通信。使用以太网链路是为了方便测试团队通过网络延迟生成设备在测试过程中加入一定的延迟,从而模拟长距离通信情况。图 1:多
20、站点配置示意图(在站点和存储设备之间进行存储复制)网络:为了模拟多站点网络,我们创建了三个逻辑站点。“站点 A”承载两个故障转移群集节点和一个存储阵列。“站点 A”还针对它自己的子网进行了配置。“站点 B”位于另一个子网中,该子网承载群集中的其他存储阵列和节点。第三个站点/子网承载 Active Directory 结构、Windows Server 仲裁配置的文件共享以及单个 DNS 服务器。尽管第三个站点可能不匹配所有实际实现的体系结构,但是从实验室得到的测试结果仍提供了一些可应用到您的组织环境的有用信息。若要详细了解有关 SQL Server FCI 故障转移时客户端连接和网络注册的注意
21、事项,请参阅本文后面的“挑战、解决之道和经验”。仲裁模型:我们在测试中使用了仲裁模型“节点和文件共享多数”。我们将文件共享放在第三个子网中,它可供其他子网访问。这只是多子网故障转移群集方案中仲裁模型的多个选项之一。您应选取最适合您组织的总体实现的模式。有关仲裁模型的详细信息,请参阅本文前面所述的“Windows Server 故障转移群集 (WSFC) 仲裁模型”。工作负荷:为了让测试方案更加真实,运行的客户工作负荷以写为主(占 90% 以上)、每秒大约执行 2,000 个批处理,以便向所用的故障转移群集环境施加一个 I/O 负载。这些 I/O 规模很小,用于模拟高吞吐量的 OLTP 应用程序
22、。我们通过各种不同的机制测试了众多的故障转移方案,包括在运行 SQL Server FCI 的服务器上手动故障转移(“移动组”)和断电。无论服务器上是否正在运行工作负荷,故障转移行为都符合我们的预期。我们在测试中发现了一些重要经验和注意事项,将在以下章节中与大家分享。挑战、解决之道和经验从我们进行的测试以及有关 SQL Server 2012 预发行版本多站点故障转移群集的其他经验中,我们总结了一些对客户很重要的注意事项,有助于您使用 SQL Server 2012 开始构建和部署自己的故障转移群集解决方案。存储验证检查要求在使用 SAN 复制的多站点群集环境中,要求一个站点上的存储卷只能对同
23、一站点上的节点可见,另一个站点上的存储卷也只能对该站点上的节点可见。因此,所有存储设备不能同时对所有节点都可见,这导致一些存储验证检查可能无法通过并/或发出警告。如果您跳过存储验证测试,将显示与缺乏支持有关的消息,如:“否。不需要 Microsoft 对该群集的支持,因此不希望运行验证测试。单击下一步时,继续创建群集。”在此环境中,应该可以跳过存储验证测试,因为多站点群集解决方案不要求通过存储验证测试就可成为完全受支持的解决方案。有关详细信息,请参阅知识库文章 Windows Server 2008 或 Windows Server 2008 R2 故障转移群集的 Microsoft 支持策略
24、 ( 中的“地理位置分散的群集”。注意:只能跳过存储验证检查。如果跳过所有验证,或者验证报告中出现警告或失败,SQL Server 安装程序会检测到此情况并阻止安装。在故障转移群集管理器中使用 OR 依赖关系配置 IP 地址当您配置多子网故障转移群集时,只能有一个 IP 地址必须处于联机状态。其他 IP 地址可以保持脱机状态,直到故障转移到该子网。由于这看起来可能不正确或配置出错,我们提供了一个示例来说明故障转移群集管理器如何显示此配置。请注意,根据当前承载 FCI 的子网,一个 IP 地址的“状态”列设置为“脱机”,另一个 IP 地址的“状态”列则设置为“联机”。 图 2:多子网故障转移群集
25、管理器中 IP 地址 OR 依赖关系设置示例合适的仲裁模型多站点故障转移群集通常分布在多个地理区域,并且每个站点都包含存储组件。因此,在这种环境中,仲裁模型有一些特殊的注意事项。有关这些注意事项的详细信息,请参阅本文前面所述的“Windows Server 故障转移群集 (WSFC) 仲裁模型”。但是,当您对多站点故障转移群集运行 Windows Server 群集验证时,将显示一条消息,建议采用“节点和磁盘多数”选项作为仲裁模型,如图 3 中所示。图 3:群集验证工具关于仲裁配置的输出显示群集验证工具中的向导不检测特定群集是否为多站点群集。可以放心忽略此建议并使用更合适的仲裁模型,如“节点和
26、文件共享多数”。多子网 SQL Server FCI 故障转移后的网络注册和客户端连接在 SQL Server 2012 中,SQL Server 故障转移群集网络名称针对“网络名称”资源(虚拟网络名称)启用了 RegisterAllProvidersIP 属性。对于多子网 FCI,此属性表示要将 SQL Server 配置使用的所有 IP 地址都在 DNS 中注册为 SQL Server 虚拟网络名称。因为所有 IP 都在 DNS 中注册,跨数据中心的故障转移不需要对 DNS 中注册的 IP 地址进行任何更改。因为不再需要更新 DNS,所以在故障转移后,客户端连接可以更快解析为 SQL Se
27、rver 故障转移群集(虚拟网络名称)。较新的 SQL Server 客户端驱动程序(包括 SQL Server Native Client)增加了对关键字 MultiSubnetFailover 的支持。如果客户端可以启用 MultiSubnetFailover 连接选项,则 SQL Server FCI 可以使用的所有 IP 地址将在连接时进行计算并由客户端进行解析。这个增强功能还有助于在故障转移后改进客户端连接性。如果客户端所使用的驱动程序不支持 MultiSubnetFailover 关键字(或未启用它),则需要考虑以下几个事项: 客户端驱动程序以串行方式计算 IP 地址。此 IP 计
28、算可能延长客户端连接所需的时间。建议增加 ConnectionTimeout 值,对于 SQL Server 网络名称可能解析的每个额外 IP 地址,此时间都需要增加 21 秒。因此,如果在新站点上又添加了一个 IP 地址,可以将新的 ConnectionTimeout 值配置为:以前的 ConnectionTimeout 值 +21 秒。公式为:(X + (N-1) * 21),其中 X = 当前 ConnectionTimeout 值,N = 具有 IP 地址的站点数。 在我们的测试中,使用 SQL Server Browser 服务将实例名称解析为端口号有时会失败。这会导致客户端无法解析
29、为 SQL Server 命名实例。因此,对于不支持 MultiSubnetFailover 关键字且要连接到 SQL Server 命名实例的驱动程序,我们建议您对 SQL Server 实例使用静态端口配置。在这种情况下,可以通过直接在连接参数中指定 SQL Server 和端口号来建立客户端连接。结论SQL Server 2012 AlwaysOn 为客户提供了实现高可用性和灾难恢复的多种设计选择。多站点故障转移群集可以提供实例级的高可用性和灾难恢复,是 SQL Server AlwaysOn 体系结构的一个不错的选择。我们对多站点故障转移群集技术做了重大改进,使它成为在很多环境中实现高可用性和灾难恢复功能的切实可行的选项。本文档旨在帮助用户熟悉该技术,帮助他们成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能桌游棋盘企业制定与实施新质生产力战略研究报告
- 智能手表支付终端企业制定与实施新质生产力战略研究报告
- 智能墙面抹灰机械企业制定与实施新质生产力战略研究报告
- 企业管理-员工宿舍租房合同模板
- 2025年现场总线控制系统合作协议书
- 小学语文课外阅读教师培训计划
- 2025年中石化:石油脑项目合作计划书
- 六年级数学专题复习计划
- 幼小衔接课程设计与实施计划
- 四年级语文与其他学科融合计划
- 2025年公共卫生与预防医学知识考试试题及答案
- 离婚协议书原版
- 2025年高考地理复习 大单元八 人口、城镇与大都市辐射 题库
- 新人教版数学五年级下册3.3 练习五课件
- 2025年中考化学第一轮复习 课件 2024-2025学年九年级化学人教版下册
- 2025年天津市滨海新区中考数学一模试卷
- 2025年杭州市高三语文二模作文题目“科技与相互理解”写作指导
- 小学生摄影课件
- 2025(标准)承包清工劳务合同协议书范本
- 合伙入股协议合同范本
- 急救与心理技能(视频课)知到智慧树章节测试课后答案2024年秋中南大学
评论
0/150
提交评论