通往1级楼梯:什么是“SQL Server AlwaysOn”sql
Perry Whittle,2016 / 02 / 24(首次公布:2014 / 09 / 24)数据库
该系列服务器
本文是系列的一部分:楼梯楼梯AlwaysOn网络
AlwaysOn是一套复杂的技术,常被误解。在这楼梯你将学到的AlwaysOn技术,他们如何适应高可用的堆栈,如何利用好他们。异步
欢迎来到第一级阶梯”系列中的SQL Server AlwaysOn”。在这1级的文章,咱们会发现技术“在”、“虚拟服务器”(FCI)和“Windows服务器故障转移群集”。咱们将详细查看它们,并总结它们在高可用性堆栈中的位置。这将为咱们提供一个良好的基础,这对于提高楼梯是必不可少的。高水平的楼梯将研究所需的基础设施和不一样的存储要求和选项,使用AlwaysOn可用性组和防汛信息系统。sqlserver
以后的每个楼梯级你将得到进一步了解AlwaysOn的构建。虽然做为一个DBA,你可能没有与核心基础设施项目在AlwaysOn和防汛信息系统有直接的做用,它有助于充分理解如何全部的技术整合。最后的楼梯会致使功能的AlwaysOn配置。spa
咱们首先要看基础知识,其中包括已经提到的3种技术中的每一种。操作系统
有用于AlwaysOn描述缩略语和缩写。咱们在本文结尾包括了一个经常使用术语表。翻译
不用再谈了,让咱们深刻研究一下每一项技术。设计
Windows服务器故障转移群集
Windows服务器故障转移群集(WSFC)为核心的高可用性(HA)的产品,坐在下面的全部的微软应用程序的高可用性。由世界科幻大会是Windows服务器操做系统软件套件的一部分。以前,你能够建立一个SQL Server故障转移群集实例,AlwaysOn高可用性组,甚至微软Exchange邮件服务器集群,您须要部署和配置WSFC。
Windows服务器故障转移集群提供了将多个计算机节点(物理和\\或虚拟)结合起来为高可用性服务的一组应用程序的能力。应用程序是服务器软件,如SQL Server或Exchange,咱们但愿可以在任何节点上运行。经过向客户机提供一个虚拟接入点,包括一个惟一的IP地址和惟一的计算机名或“虚拟网络名称”,能够得到一个高可用性的应用程序。此地址和虚拟名称成为应用程序组中的资源,并在令牌等参与节点之间传递。活动计算机节点的一个关键硬件故障将致使在该节点上运行的组服务的丢失。群集服务将自动尝试在当前节点或合做节点上从新启动组,这取决于故障类型(硬件或软件)。
在较高的级别上,客户访问点详细信息连同任何磁盘和服务资源一块儿转移到故障转移伙伴节点。群集实例的故障转移会致使客户机链接断开;客户端能够在另外一个节点上的服务可用时从新链接。常见的故障一般是其中之一,但应用程序的任何故障均可能致使服务迁移到另外一个节点:
公共网卡或网络故障
电源故障
主板故障
CPU故障
与wsfcs,集群应用程序安装到不一样的组或“应用”,它包含一组资源,如磁盘、服务、IP地址等集团及其资源是在任何一个时间,一个节点拥有的资源,没法从任何其余的伙伴节点除非计划开关或故障转移到该节点的发生。
Windows服务器故障转移群集的典型视图以下所示。群集节点都经过网络链接,和域控制器和DNS服务工做与WSFC容许客户端链接到虚拟IP或虚拟网络名称,不管在哪一个节点的服务正在运行。
对于一个FCI的部署,计算机节点必须使用共享存储,是每个节点,一般是从一个三。对于一个典型的AlwaysOn组部署的节点,利用本身的本地存储,而不是与其余集群伙伴共享。
虽然集群节点可能有不一样的硬件,但一般最好使硬件在节点之间保持一致,以免任何功能较弱的节点必须处理超出其能力的负载的状况。可是,节点必须使用相同的OS补丁级别和网络配置;在部署Windows服务器故障转移群集以前验证配置时,这一点将变得清晰起来。Windows Server版本(Windows 2008中的Windows 2003, 16节点中的8个节点和Windows 64中的2012个节点)之间的最大集群节点计数不一样。
部署健壮的Windows服务器故障转移群集须要仔细设计、支持的硬件和Windows服务器操做系统的适当版本。地理图形分散集群(跨多个WAN集群)进一步提升了设计和规划的须要量显著增长的成本以及。
它是要知道一个WSFC提供故障转移伙伴能力重要。这些应用程序不是负载平衡的,也不是跨节点扩展的。每一个服务只在一个节点上运行。
一般,在大型多节点集群中,您能够在Windows服务器故障转移群集节点的子集上安装集群应用程序。制做安装的应用程序在全部节点的错误可能会致使一些不良的故障转移,咱们随后会看到,也违反了AlwaysOn组限制政策,确保全部的AlwaysOn实例驻留在集群中的各个节点。
这个由世界科幻大会须要某种形式的调解控制集群资源的全部权。此中介以群集仲裁的形式提供。因为Windows 2003 SP1,这个法定人数采起的形式,节点投票系统,以多数票须要维持法定人数。您还可使用本地化集群的磁盘形式或多站点集群的远程文件共享额外的仲裁资源。从Windows Server 2012中,Quorums利用一个动态节点权重配置均衡集群票动态计划停运期间防止没必要要的故障转移。咱们将讨论更多的细节在将来水平的法定人数。
故障转移群集实例
SQLServer的故障转移群集实例一直是SQL Server产品中流行的高可用性技术。一个高度可用的SQL服务器实例被集群化,以减轻任何节点硬件故障和任何潜在的软件故障。这里惟一的薄弱环节是存储;存储子系统成为故障的惟一点。
故障转移群集实例的SQL Server实例,默认或命名,已被安装到一个WSFC为群集应用。集群应用程序一般具备如下资源:
IP地址
网络名称
共享磁盘(s)
SQL Server服务
SQL Server agent service
一个独立的实例共享相同的基本要求,除了与一个独立的实例,IP地址和networkname取自计算机节点和磁盘存储在计算机的本地磁盘资源提供。
在上图中,咱们看到一个单一的FCI 2节点集群典型视图。SQLServer群集实例将使用任何共享存储,提出了节点的WSFC。一般这种存储将从SAN LUN的形式呈现。一个SQL Server FCI是部署在一个2步的过程,将在稍后的楼梯。如今,下面是部署SQL Server故障转移群集实例的2步过程的基本概述:
在第一计算机节点将参加FCI推出“新的SQL Server故障转移群集安装”向导。一旦完成并成功完成,您就准备好进入第2阶段了。
启动“添加节点到SQL Server故障转移群集在WSFC的任何计算机节点的向导,你想参加新的SQL Server FCI。
注:虽然标准版限制FCI 2节点,这并不代表多少节点拥有Windows群集成员身份(你能够拥有任意数量达到最高的操做系统)。该限制在SQLServer安装程序级别上执行。
FCI是一个有点像跑道接力切换过程;计算机节点拥有群集的SQL Server应用程序和资源,并提供了访问客户的SQL Server服务(持警棍)。当主动计算机节点(指挥棒掉落)失败时,一个合做伙伴节点进入并接管集群应用程序及其资源(拾起指挥棒)。
AlwaysOn可用性组
多年来,故障转移集群一直是为SQL Server提供高可用性的主要方法。当一个节点失败时,另外一个接管向客户端提供SQLServer服务。AlwaysOn集成Windows服务器故障转移群集技术提供一个更具弹性的高可用性平台。
而聚类的做品在实例级,AlwaysOn配置在数据库级别。AlwaysOn可用性组的新技术,介绍了在SQL Server 2012中定义的组的数据库复制到一组只读伙伴实例,或复制品,由于它们是已知的在AlwaysOn。多个节点每一个主机的同步副本的AlwaysOn数据库(S),并得到最好的倾听者的配置(更多的在这不久)。
AlwaysOn可用性组须要一个或多个辅助副本主机复制的高可用的数据库(S)。这些辅助数据库可能不是可读的,也不是可读的。它们也能够以异步或同步方式更新。异步副本只支持手动强制故障转移而同步复制支持自动或手动故障转移。
二次只读副本可能被配置为响应只读查询,您也能够针对次要的备份/维护操做来减轻对主数据库的压力。这种主次关系也是可逆的,以确保真正的高可用性。任何适当配置的只读合做伙伴均可能在系统内发生故障时起主要做用。
在依靠WSFC核心功能实现的高可用性,AO提供,但不须要任何下列资源共享与FCI相关。
共享磁盘
共享IP地址
共享的网络名称
共享SQL Server和SQLServer代理资源
这种共享资源规则有一个例外。建立一个在组的听众时,这将建立一个IP地址和网络名称资源将由AO组副本共享。
正如咱们已经发现的,故障转移群集实例的链中的薄弱环节是共享存储。这里有不少方法能够实现冗余,但它一般要付出很大的代价,并且一般很难设置和维护。固然,正如前面提到的,故障转移群集实例只会减轻服务器硬件。它不提供单一的甚至多个辅助数据库。在SQL Server 2012以前,咱们在SQLServer版本中有数据库镜像,但这些仅为单个、不可读的辅助数据库提供范围。
仍然使用熟悉的SQL Server AlwaysOn端点实例通讯。使用“可用性组部署向导”时自动配置端点。向导驱动的部署提供了最简单的部署路线,而手动部署须要大量人工交互。尽管如此,一个基本的AlwaysOn组配置仍然是很是容易部署和配置和提供的哈,是之前没有的而不诉诸特征整合复杂的水平。
您还能够建立一个高度可用的侦听器服务,您将使用它来接收传入到可用性组的链接。侦听器由惟一的IP地址和惟一的虚拟网络名组成。这是使数据库在组内高可用性的最重要的变化之一。
一个AlwaysOn可用性组的建立过程当中,汇集做用是Windows服务器故障转移群集内建立并包含一个单一的资源。这个资源是没有合做伙伴节点故障转移期间和AlwaysOn组标识为AlwaysOn主副本组。
AlwaysOn的倾听者
听者,当配置,将建立资源和驻留在故障转移群集应用程序角色的AlwaysOn可用性组。资源是
虚拟IP地址
虚拟网络名称
侦听器使用TCP端口接收传入链接,默认状况下链接到主副本。当只读路由被配置时,指定只读意图链接的侦听器的链接将被路由到辅助伙伴,而不是主副本。这是另外一种减轻主副本负载的方法。
故障转移群集的AlwaysOn组中,应用程序和资源都失败了在群集节点之间。集群应用程序的节点位置跟踪主副本及其底层节点,并按须要在集群中移动。其中主要的副本是一个群集的SQL Server实例,听者为FCI \副本活动节点拥有。
结论
这就总结了楼梯的第1级,它提供了一个快速介绍3个核心技术,用于使咱们的SQL服务器实例和它们的对象高度可用。在咱们的高可用性栈咱们WSFC为基础的水平,这是一个FCI或AlwaysOn可用性组安装的基本要求。Next we have the FCI, which sits atop the WSFC and relies on the cluster to serve and protect the SQL Server instance. 最后咱们的AlwaysOn组,坐在SQL Server和SQL Server故障转移群集实例独立实例。
在第2级中,咱们将查看SQL Server高可用性中可用的存储类型及其典型用法。这将帮助您了解将来楼梯的水平系列。
词汇表
AO |
AlwaysOn可用性组 |
FCI |
SQL Server的故障转移群集实例 |
TCP/IP |
传输控制协议/因特网协议。微软客户端网络使用的网络协议 |
OS/NOS |
操做系统/ NOS |
WSFC |
世界科幻大会 |
LAN |
局域网 |
WAN |
广域网 |
DNS |
域名服务器 |
DHCP |
动态主机配置协议,自动将IP地址分配给网络计算机
|
IP Address |
Ip地址 |
AD |
广告 |
DR |
灾难恢复 |
SPF |
防晒因子 |
SCSI |
小型计算机系统接口 |
iSCSI |
因特网小型计算机系统接口 |
Replica |
复制品 |
原翻译连接:
http://www.sqlservercentral.com/articles/Failover+Clustered+Instance+(FCI)/107536/