SQL Server 2012 AlwaysOn高可用性解决方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Microsoft SQL Server 2012 AlwaysOn

高可用性解决方案

1.术语定义

1)高可用性:HA(High Availability)

通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性

2)灾难恢复:DR(Disaster Recovery)

指自然或人为灾害后,重新启用信息系统的数据、硬件及软件设备,恢复正常商业运作的过程

3)故障转移群集:WSFC(Windows Server Failover Cluster)

微软操作系统针对服务器提供的一种服务,该服务用于防止单台服务器故障导致服务失效。

2.公司数据库使用现状及问题瓶颈

其他部门对应用开发部负责的融资管理系统性能提出以下问题:

1)数据部:

a)服务器不稳定

b)数据库性能配置低

2)市场部:

a)查询效率太低

3)产品部:

a)报表、BI支撑难

这些性能问题无不涉及到后台数据库的性能及可靠性问题。

还有一个安全问题也值得重视。目前,公司产品数据库和融资管系统都部署在10.44.1.3一台服务器上。理论上,产品数据库不应与Web应用部署在同一台机器而暴露给用户,产品数据库最好只交由专职DBA 来管理。因为,万一Web应用遭受黑客攻击,产品数据将会面临巨大威胁,甚至有可能被永久性物理删除。

前不久,就有报道携程数据遭受有预谋的内部攻击被物理删除

(/20150528/n413987338.shtml)。如果分开部署,那么即使Web应用遭受攻击,只要产品数据在,我们仍然可以在短时间内部署新的Web应用。

3.SQL Server 高可用技术简介

1)故障转移群集(Failover Cluster)

共享存储,效率高,但某一个时间点只有一个节点处于活动状态,造成硬件资源浪费。

2)数据库镜像(Database Mirror)

提供几乎是瞬时的故障转移,以提高数据库的可用性。但其最大弊端在于镜像数据库处于不可读状态,同样造成硬件资源浪费。

3)日志传送(Log Shipping)

还原作业之间的间隔时间内的只读访问权限,可用做报表查询。一般用于远程的异步容灾,存在部分数据丢失的可能性。

4)复制(Replication)

基于数据库对象级别,灵活性较高,但弊端在于,它不支持DDL命令,不便维护。

5)AlwaysOn

AlwaysOn是SQL Server 2012中提供的一种全新的高可用性技术,其集中了上述4种高可用性技术的优点,以确保企业无需增加成本和提高复杂度,即可实现最高级别的可用性和数据保护。可在数据中心内部以及跨数据中心实现数据冗余,快速地实现应用程序故障转移,保护现有硬件资源,同时简化了其配置过程。AlwaysOn可以实现服务器实例级和数据库级配置高可用性,所对应的技术就是AlwaysOn故障转移群集实例和AlwaysOn可用性组。

下图1展示了使用Alwayson可用性组的HA 和DR 解决方案

图1

4.AlwaysOn高可用性技术介绍

1)AlwaysOn 故障转移群集实例

一般来说,在单服务器情况下,当服务器上出现硬件或软件故障时,连接到该服务器的应用程序或客户端将会停机。在AlwaysOn故障转移群集实例环境中,SQL Server 实例的高可用性受到冗余节点的保护。在群集环境中,一次只能有一个节点拥有群集的资源组。在出现故障(硬件故障、操作系统故障、应用程序或服务故障)或进行计划的升级时,该资源组的所有权就会转移至另一个群集节点。此过程对于连接到SQL Server 的客户端或应用程序是透明的,可以最大限度地缩短出现故障时应用程序或客户端的停机时间。因此AlwaysOn故障转移群集实例必须由一组物理服务器节点构成,这些服务器节点推荐使用类似的硬件配置以及相同的软件配置,如操作系统的版本、SQL Server 版本、修补程序级别、组件以及实例名称。相同的配置是确保群集在节点间进行故障转移时能够正常运行的前提条件。

SQL Server 2012在原有SQL Server故障转移群集的基础上功能得到了进一步的增强,支持跨越子网实现多站点群集,此技术一般用于两个或两个以上的数据中心,以同时提供本地高可用性和远程的灾难恢复。其中,每个故障转移群集节点都连接到其他子网或其他子网组。这些子网可以处于同一位置中,也可以位于地理上分散的站点。跨地理上分散的站点进行群集有时又被称为扩展群集。因为没有供所有节点都可以访问的共享存储,所以在多个子网上的数据存储之间应该复制数据。因此,多子网故障转移群集除了具备高可用性之外,还提供了灾难恢

复解决方案。下面以图例说明:

图2

在上图中共有两个数据中心并且处于不同子网,本地数据中心subnet1使用的IP地址是10.168.0.10,当本地数据中心发生故障时,SQL Server服务会转移到远程数据中心,远程数据中心subnet2所使用的是不同IP地址,为192.168.0.10来继续提供数据库服务,这两个IP地址之间是OR的关系,也就是说这两个IP地址任意一个在线的话,虚拟网络名称SQLClus都可以正常的向客户端提供服务。

在此需要使用到存储级别的复制技术,将本地数据中心数据库中的数据文件及日志文件复制到远程数据中心,当本地数据中心发生故障时,Windows 群集检测到故障,远程数据中心存储软件可以检测到复制失效,会将存储转换为读写状态,接下来Windows群集会将远程站点可读写的存储设备挂接到远程的Cluster节点上,此时存储复制的方向就从远程数据中心向本地数据中心复制。也就是说,故障转移群集实例成功启动后,Windows群集服务将监视基础群集的运行状况和SQL Server 实例的运行状况。SQL Server 2012中允许群集服务使用专用连接来轮询活动SQL Server 实例,以便通过系统存储过程获取详细的组件诊断信息。好处是,利用与SQL Server 实例的专用连接,能够对组件诊断信息进行可靠轮询,即使在故障转移群集实例负荷较重时也是如此。利用详细的组件诊断信息,可以配置更灵活的故障转移策略,由此用户能选择哪些故障条件将触发故障转移以及哪些故障条件将不触发故障转移。用户利用产生的诊断信息,还可以通过追溯方式更好地对自动故障转移进行故障排除。此诊断信息将存储到与SQL Server 错误日志并置的日志文件中。可以将这些日志文件加载到日志文件查看器中以检查导致出现故障转移的组件状态,从而确定导致该故障转移的原因。

2)AlwaysOn可用性组

相关文档
最新文档