SQL Server 2012 新一代的高可用技术AlwaysOn 之一 总体介绍

前一章我们讨论了SQLServer过去几个版本所包含的高可用性和灾难恢复技术,也详细地介绍了它们彼此的优缺点。可能你对高可用的要求非常高,任何一种技术都无法完全满足你的要求。而把几种技术组合起来,又会给部署和维护带来太多的复杂性。你会觉得有一点遗憾,为什么没有一种更强大更完善的技术来满足你所有的诉求呢?从SQLServer 2012开始,SQLServer引入了一种新的高可用技术,它的名字叫做AlwaysOn。而它可能就是你一直以来在寻求的解决方案。

AlwaysOn在开发初期代号叫做HADRon。从开发代号就可以看出,AlwaysOn是一种集合了高可用性(HA)和灾难恢复(DR)两种功能于一身的技术。从它的正式名称也可以看出,它的设计目标是尽可能地保持你的数据库系统永远可用。虽然永远可用更多的是一句口号,但是AlwaysOn相对于故障转移群集、数据库镜像和日志传送而言,的确是拥有许多优势。甚至可以说,AlwaysOn是这三种技术的集大成者。

AlwaysOn所支持的高可用单位,既不像Cluster一样,是整个SQL实例;也不像数据库镜像和日志传送一样,只能是单个用户数据库。AlwaysOn支持的,是一个“可用性组”(AvailabilityGroup)。每个可用性组是一个包含了一个或数个用户数据库的容器,可用性组里的所有数据库作为一个整体发生故障转移。

AlwaysOn利用了Windows故障转移群集的健康监测和自动故障转移的特性,因此它必须建立在Windows故障转移群集之上。但是和SQLServer群集不同的是,可用性组里的数据库并不是一定要求存放在共享存储(SharedDisk)上的,它们也可以存储在本地磁盘上。另外,可用性组是以用户数据库的集合为单位进行健康检测和故障转移的,而不像SQLServer群集那样是以整个实例为单位。

AlwaysOn具有以下这些关键特性:

1.      像群集一样,AlwaysOn支持故障转移,但是它具有其独特的特点:

  • 多个用户数据库可以一同进行故障转移。这对要同时使用多个用户数据库的应用,例如Microsoft     SharePoint,会很有帮助。
  • 提供一个虚拟的服务器网络名,无论哪个服务器是当前的主服务器,客户端都可以使用统一的虚拟服务器名进行连接。
  • 具有三种故障转移模式:自动,手动和强制,用户可以选择发生故障切换的条件。
  • 一个主服务器可以对应最多达4个辅助服务器(总共5个服务器)。发生故障时可以切换到任意一个辅助服务器上。
  • Dashboard可用于监视AlwaysOn的运行状态。有丰富的信息可用于故障诊断(DMV,性能计数器,扩展事件日志等)
  • 得益于Windows Server 2008群集,可以实现多站点的部署。主服务器和辅助服务器之间可以在物理上相隔很远。

2.      像镜像和日志传递一样,AlwaysOn在辅助服务器上有数据库的另外一份拷贝。所不同的是,这份拷贝可以支持更多的只读功能。

  • 每个辅助服务器上都有一份数据的拷贝,可以使服务器上的数据拷贝和主服务器上的数据完全同步。
  • 辅助服务器可用于只读的访问请求。
  • 辅助服务器可以执行备份和DBCC命令。
  • 在某些配置情况下,客户端的只读请求可以被自动定向到辅助服务器。
  • 可以自动修复某些类型的数据页面损坏问题。
  • 主服务器和辅助服务器之间的数据会被加密和压缩,提高了安全性又降低了网络流量。

通过上面这些特性,相信你已经很清楚地看到,AlwaysOn集合了许多以往SQLServer高可用和灾难恢复技术的优点,同时又具有自己独特的功能。这些特性不但保证了SQLServer更高的可用性,而且还实现了一定程度上的负载均衡,减轻了SQLServer主服务器的压力。可以预期AlwaysOn将会成为SQLServer最炙手可热的高可用和灾难恢复的技术。

你可能感兴趣的:(SQL Server)