微软在Exchange高可用方面方案上面随着Exchange 2013的推出,DAG方案变得越来越成熟了。Exchange的高可用方案在exchange2003到Exchange 2010三个版本中变化非常大,在Exchange 2003的时代,微软推出共享存储,结合OS的故障转移群集,推出了基于主机级别的高可用,在哪个时代,高可用是一个非常昂贵的解决方案,原因很简单存储不便宜;在Exchange 2007的时代,微软推出了LCR、CCR、SCR三种群集方案,真正在企业中广泛用到的还是后两种方案,即CCR与SCR,其中CCR无需共享存储,使用相对比较广泛;但是到了Exchange 2010的时代,微软没有保留和继承上一个版本的高可用方案,而是对CCR与SCR群集方案进行了整合,推出了一种全新的高可用方案DAG,DAG高可用方案一至延续到Exchange 2013,相信下一个Exchange版本也会继续使用此高可用方案。
回顾Exchange这几年在企业级邮件市场上快速发展,占领了企业邮件系统的70%以上的份额,Exchange的高可用为其作为大型企业首选的邮件系统立下汗马功劳。在微软拥有这么多的高可用方案真正使用非常成熟与广泛的要算是共享存储故障转移群集(SCR也属于此种方案),但这几种方案中,在企业的实际应用中都出现过问题,同时也反应他们在某些方面存在不足,因此微软需要在下一代新版本中不断修正。下面,我们来分析一下每一代版本存在的不足(优点大家都清楚,无需过多描述):
一、基于共享存储的故障转移群集:
这种群集方案其实不仅应用在微软的Exchange 2000/2003业务系统,其实还有其他的微软应用系统(如sql server)以及第三方基于windows平台业务系统,这种方案优点是实现高可用,缺点也不少,它是基于主机级别的高可用,它需要共享存储,甚至它还不能充分利用硬件资源,无法做到横向扩展。什么是基于主机级别的高可用?举一个很简单的例子,企业有2台Exchange 2003配置了高可用,当1台活动节点主机死机,网络中断,应用系统会自动激活被动节点,变成主动节点,所有的数据库都转到此节点上运行,但存在一个问题,假如活动节点的某个数据库有问题,或者是某个数据库要执行维护,此时必须中断业务系统,因为它的副本是单一共享的;其次被动节点只要不发生故障转移,基本是闲置状态,存在硬件资源的浪费,再者,当主动节点硬件资源不足的时候,被动节点也不能帮其分摊任务;最后一点就是这种高可用方案存在单点故障,有人肯定会说,存储在硬件级别都提供了双冗余机制,但这并不代表就可以消除单点故障,比如存储过保更换存储、存储的硬件配置修改或者是升级,有些动作可能影响到Exchange业务系统,最关键的是这种高可用无法跨站点实现容灾。
二、基于CCR的故障转移群集:
Exchange 2007提供了CCR群集来实现高可用,CCR群集无需使用共享存储,并且拥有多副本,但CCR群集依然拥有缺陷,CCR群集虽然拥有多多副本,依然是基于主机级别的故障转移群集,当主动节点只有一个数据库副本出现损坏事,它必须是所有的数据库由主动节点转移到被动节点,此时被动节点激活了,但激活的是所有被动节点数据库;其次,CCR群集依然无法实现跨站点的容灾以及被动节点的硬件资源存在使用浪费。这些缺点是微软官方都公开承认的,但实际上CCR的群集相比共存存储的故障转移群集,还存在技术不成熟的缺陷,在过去我们帮助修正进行Exchange排错的时候,发现有些企业虽然使用了CCR群集,当主动节点的数据库出现故障的时候,被动节点无法被激活,当然发生此问题的原因可能是多方面原因,在此不再进行过多的描述。
三、基于DAG的故障转移群集:
微软在Exchange 2010的时候,推出了新的群集方式,即基于数据库级别的故障转移群集DAG。虽然Exchange 2013与Exchange 2010都是采用基于数据库级别的故障转移群集,但二者在许多方面还在存在非常大的差异,首先,我们来看Exchange 2010的DAG有哪些改变及特点。一、Exchange 2010首次提出了DAG(数据可用性组)的方法来实现高可用,DAG相比较CCR,主要有两二大的方面改进。1.它是基于数据库级别的群集,而不是基于主机级别的群集,它可以将众多数据库分布在不同的exchange服务器上面,每台服务器上面的数据库既有主动副本,也有被动副本,充分发挥了硬件的利用率,同时,当某个数据库损坏的时候,只需要激活此台数据库的被动副本,而不是转移整个主机;2.Exchange 2010的CCR部署无需额外安装故障转移群集,虽然它的底层采用的是故障转移群集,这个改进是非常有意义的,过去,由于部署Exchange的高可用,是先安装配置故障转移群集再部署exchange,一旦exchange已经部署完成,是无法添加到群集环境中去,只有重新部署才可以加到群集环境中,在Exchange 2010中,DAG高可用部署非常简单,任何一台已经存在的Exchange 2010服务器都可以快速成为DAG成员服务器,反之亦然。同时,也是因为这个特点,它可以实现跨站点的容灾。
在exchange 2013上面高可用同样有了明显的改进,虽然Exchange 2013依旧延用Exchange 2010 时代主拥有的DAG高可用技术,但在Exchange 2013时代,DAG在细节方面还是发生不少变化,主要体现在以下几个方面:
(1)数据库自动恢复改进:大多数失败可以通过重启服务或者重启应用程序池来恢复,并且提供了两种恢复模式,即服务器模式与数据库模式。在服务器模式下协议失败会导致服务器级别的自动恢复;在数据库模式下单一数据库失败会导致数据库自动恢复。为了使这个功能应用得更好,而不是让系统的健康变得更糟糕,Exchange 2013提出了三个全新的标准来定义什么状态下采取自动恢复,它们分别是触发机制、数据库副本的健康状况以及协议健康状况的优先级。
(2)最佳副本的选择:在DAG环境下,我们通常都拥有多个数据库副本,在灾难发生的时候,我们如何让数据库切换到最佳的副本,之前并没有严格的考量标准,在Exchange 2013中引入了根据协议的健康状态来选择最佳副本,协议健康状态共分为4个优先级别,分别为critical, high, medium, low ,每个健康状态都被标注了一个健康级别。
(3)维护模式:这个功能是一个全新功能,我们可以通过命令Set-ServerComponentState将服务器切换到维护模式下,对exchange协议的健康进行检查。
(4)DAG网络的改进:增加了自动对DAG网络进行配置。
(5)站点恢复:相比较exchange 2010增加了名称空间冗余,mailbox与CAS角色独立(前面的exchange 2013有介绍)。
(6)托管可用性与增强的Cmdlet。
本文出自:http://blog.csdn.net/xuhuojun/article/details/8586327
转载于:https://blog.51cto.com/692572/1434007