邮箱数据库及其包含的数据是任何 Exchange 组织最重要的组件之一。 在 Microsoft Exchange Server 2013 中,可以通过配置邮箱数据库以实现高可用性和站点恢复来保护邮箱数据库及其包含的数据。Exchange 2013 在提供更高级别的端到端可用性和支持较大的邮箱的同时,还可以减少部署具有高可用性和恢复能力的邮件解决方案的成本和复杂性。Exchange 2013 构建于 Exchange 2010 中的本机复制功能和高可用性体系结构上,使各个市场中各种规模的客户都可以在组织中经济高效地部署邮件连续性服务
学完本节后我们将能够:
1、 为DAG 规划软硬件
2、 描述活动管理器
3、 描述持续复制
4、 理解DAG如何保护数据库
5、 创建配置DAG
6、 配置数据库高可用
7、 描述故障转移的过程
8、 描述如何执行DAG的监控和管理
9、 监控复制状态
环境:
Exchange 版本 | Exchange Server 2013 SP1 |
Exchange 所在操作系统 | WS2012 R2 |
Outlook 版本 | Outlook 2010 |
客户端 | OWA |
Outlook 所在操作系统 | WIN7 SP1 |
什么是仲裁
仲裁维护了一个逻辑对象,使群集可以知道当前哪个节点是活动的,哪个节点是被动的,另外仲裁也决定了如果活动节点失败后哪个被动节点将被激活,在Exchange中,将由Exchange 2013去配置故障转移群集仲裁,决定了节点数量、存储、网络等组件。
仲裁可以阻止两个及以上节点同时发生故障转移,一般来说,同时操作可能发生在当网络中断时,如果没有仲裁机制,每个节点都将尝试进行故障转移。
为了防止群集分裂,故障转移群集使用了投票算法去决定是否有足够的投票去维护仲裁,因为既定的群集有指定的节点和指定的仲裁配置,群集决定了需要多少投票,如果投票低于绝大多数,群集将不会启动,群集将继续去监听其他节点,以防在网络上出现其他节点,然而,节点在没有达成共识之前不会成为群集。
打个比方,如果是一个5节点的群集,群集要继续工作,就必须保证至少有3个可用的投票,在Exchange 2013中,这个投票方可以是节点,也可以是见证文件共享,当绝大多数投票不可用,或只有一半投票可用,群集将不会启动,此外,当投票低于一半的时候,Exchange 2013将会卸载数据库。
注意:Exchange Server 2013也支持将见证放于其他站点中
Windows Server 2012 仲裁配置
Windows Server 2012提供了四种仲裁的配置,多数节点、节点和多数文件共享、多数节点和磁盘、仅磁盘。然而,Exchange Server 2013只支持节点和多数文件共享,在节点和多数文件共享的这种配置下,每个群集节点加上见证服务器都可以投票,群集只工作在绝大多数投票的情况下,也就是说,要超过一半的投票数时,群集才能保持工作,如果投票数少于一半,将停止群集的正常工作。
配置Non-Voting群集节点
在Windows Server 2012中,可以配置不具备投票的群集节点去维护仲裁,你可以使用“配置群集仲裁向导”去配置故障转移管理器。Exchange 2013 也是支持这种配置,然后我们应该仔细思考是不是应该使用它。
比如,在考虑站点恢复能力的场景中,如果仲裁丢失了,提供本地失败保护,在这个场景中,有5个DAG成员,三个在主站点中,两个在故障恢复站点中,如果需要,我们可以在故障恢复站点中删除投票,如果辅助站点失败的话,这是可能的。因为如果仲裁丢失后,在群集关闭之前,我们仍然有一个额外的本地故障恢复能力。
规划DAG的软硬件
当我们实施DAG的时候,我们应该确认我们符合指定的先决条件,我们需要考虑相关常规配置、操作系统版本、网络配置、DAG配置等。
常规配置:
1、 DNS中必须有每个Exchange 的主机记录,最好可以动态更新。
2、 每台邮箱服务器必须在相同域的成员,在同一个DAG中的邮箱服务器不可以是不同AD域的成员。
3、 DAG成员的邮箱服务器不可以是域控制器,这是不支持的配置
4、 邮箱服务器的名字必须是唯一的并且最长15个字符。
操作系统版本
所有的DAG成员必须运行相同的操作系统版本,所有的DAG成员必须运行Windows Server 2008 R2 or Windows Server 2012\2012R2,我们不能在同一个DAG中包含两个版本的操作系统,不然,当加入DAG时,将会失败。
DAG基于Windows 的故障转移群集 ,所以只有企业版和数据中心版的Windows Server 2008 R2,或标准版和数据中心版的Windows
Server 2012或R2
网络配置
只有一个网卡是支持的,不过还是建议有两个网卡,因为两个网卡允许我们配置MAPI网络和单独的复制网络。
在DAG成员之间的延迟必须小于500毫秒,当我们在不同的物理地点创建DAG时尤其重要。
如果我们也配置了IPV4时,我们可以使用IPV6,我们不能禁用IPV4
自动专用互联网协议是不支持的,也就是说169开头的IP
DAG配置
除物理网络和IP地址之外,DAG还有以下几点需求:
DAG必须至少有一个IP地址在MAPI网络上,这个地址可以是静态或动态的,静态地址在大多数场景里能看到。
如果DAG跨多个子网,DAG必须在每个子网上至少有一个IP地址。
DAG的名字和成员名字一样,必须少于15个字符,而且要唯一。
见证服务器
见证服务器”是 DAG 外部的服务器,当 DAG 的成员数为偶数时,使用该服务器可实现和维护仲裁。DAG 的成员数为奇数时,则不使用见证服务器。成员为偶数的所有 DAG 必须使用见证服务器。见证服务器可以是运行 Windows Server 的任何计算机。不要求见证服务器的 Windows Server 操作系统版本与 DAG 成员使用的操作系统匹配。
仲裁在 DAG 下的群集级别维护。当 DAG 的大多数成员处于联机状态,并且可以与 DAG 的其他联机成员通信时,DAG 才进行仲裁。此仲裁概念是 Windows 故障转移群集中仲裁概念的一个方面。在故障转移群集中与仲裁相关的必需方面是“仲裁资源”。仲裁资源是故障转移群集内部的资源,它可为导致群集状态和成员身份决策提供一种仲裁方法。仲裁资源还为存储配置信息提供了永久存储区。仲裁资源的配套组件是“仲裁日志”,它是群集的配置数据库。仲裁日志包含以下信息:哪些服务器是群集的成员,群集中安装了哪些资源,以及这些资源的状态(例如,联机或脱机)。
每个 DAG 成员对如何配置 DAG 基础群集应具有一致看法,这一点至关重要。仲裁充当了与群集相关的所有配置信息的权威性存储库。仲裁还用作关系断开裁判,以避免“网络分区”症状。网络分区症状是在 DAG 成员无法相互通信(但是在运行)时发生的一种情况。始终要求大多数 DAG 成员(在 DAG 成员为偶数时使用 DAG 见证服务器)可用并处于交互状态,使 DAG 能够正常工作,这样即可防止网络分区症状。
推荐将CAS服务器做为见证服务器,因为这样做,额外负载是最小的,而且它已经在Exchange Server management组的控制下,见证服务器无需和DAG成员运行相同版本操作系统。
如果见证服务器不是Exchange Server,我们就需要将Exchange Trusted Subsystem group组加到见证服务器的本地管理员组中。
活动管理器
Microsoft Exchange Server 2013 包含名为“活动管理器”的组件,可管理高可用性平台,包括数据库可用性组 (DAG) 和邮箱数据库副本。 活动管理器在所有邮箱服务器的 Microsoft Exchange 复***务 (MSExchangeRepl.exe) 内运行。 在不是 DAG 成员的邮箱服务器上,有一个“活动管理器”角色: “独立活动管理器”。 在作为 DAG 成员的服务器上,具有两个活动管理器角色: “主要活动管理器”(PAM) 和“备用活动管理器”(SAM)。 PAM 为 DAG 中的活动管理器角色,用于确定哪些副本将是主动副本,哪些副本将是被动副本。 PAM 负责获取拓扑更改通知并对服务器故障作出反应。 担任 PAM 角色的 DAG 成员始终是当前拥有群集仲裁资源(默认群集组)的成员。 如果拥有群集仲裁资源的服务器出现故障,PAM 角色将自动移至获得群集仲裁资源所有权的仍正常工作的服务器。 此外,如果需要将托管群集仲裁资源的服务器脱机以便维护或升级,则必须先将 PAM 移至 DAG 中的其他服务器。 PAM 可控制数据库各副本之间的主动标志的所有移动。(在任意指定时间只能有一个副本处于活动状态,并且可以装入或卸除该副本)。 PAM 还可以在本地系统上执行 SAM 角色的功能(检测本地数据库和本地信息存储故障)。
要确定PAM所在位置,可以使用如下命令:
Get-DatabaseAvailabilityGroup <DAG Name> -Status | Format-List
Name, PrimaryActiveManager
在 Exchange 2013 中,Microsoft Exchange 复***务会定期监视所有已装入的数据库的运行状况。 此外,它还会监视可扩展存储引擎 (ESE) 中的任何 I/O 错误或故障。 如果该服务检测到故障,它将通知活动管理器。 然后,活动管理器会确定应装入哪个数据库副本以及装入该数据库时需要执行的操作。 另外,活动管理器还会跟踪邮箱数据库的活动副本(基于该数据库的最后一个装入副本),并将跟踪结果信息提供给与客户端相连的客户端访问服务器。
连续复制
连续复制
连续复制技术在Exchange 2007时被引入,Exchange 2010时也在使用,在Exchange 2010 SP1之后,连续复制就有了两个可用的选项,文件模式和块模式。
连续复制-文件模式
连续复制在DAG的其他服务器上创建被动数据库副本,使用异步日志传送去维护副本,连续复制的文件模式过程包含以下几步:
1、 拥有活动数据库的邮箱服务器角写入活动的日志然后关关闭日志。
2、 复***务复制这个关闭的日志到其他被动数据库的服务器
3、 因为每个数据库的副本是一样的,所以传输日志将被重播或重新应用到数据库副本,数据库保持一致。
连续复制-块模式
连续复制-块模式 曾在Exchange Server 2010 SP1中被引入,块模式用复制ESE 日志缓冲区的方式减少了在故障转移过程中数据丢失。
更新日志在写入被动数据库副本的时候同步写入到它们本地,当文件模式的数据库副本是最新之后块模式自动变为主动,块模式的工作流程如下:
1、 在块模式中,在具有活动数据库副本的Exchange 上,任何数据块写入ESE日志缓冲区将自动的复制日志缓冲区到其他被动副本服务器。
2、 当ESE日志缓冲区满了之后,完整的块将被发送到被动副本数据库,事务日志文件写入到主动数据库副本之后,ESE日志缓冲区将被清空。
3、 当具有被动副本数据库的Exchange 服务器接收到完整的块文件并填充到它们的复制文件缓冲区,它们也会保存缓冲区到事务日志文件,完成之后,缓冲区将被清空进行下一个循环。
4、 当具有主动副本数据库的Exchange服务器发生故障,但复制日志缓冲区并没有满时,缓冲区将在被动数据库服务器上保存到一个新的事务日志文件中。
当文件模式启用和禁用时,传输复制是一样的,块模式的好处是可以减少主动副本和被动副本的差异,也减少了在故障转移期间数据丢失的可能性。
配置DAG
在配置DAG之前,我们必须理解一些可用的设置项,比如DAG的IP地址和其他设置等,我们可以考虑网络压缩设置,当我们希望去调整DAG的配置,去合理规划DAG时,我们必须理解每个设置的建议。
在EMC中,可用的设置有:
1、 见证服务器,顾名思义,此服务器是我们希望用于见证DAG的一台服务器,通常建议使用CAS服务器来做。
2、 备选见证服务器,当我们本站点的见证服务器不可用时,此见证服务器将充当主要的见证服务器
3、 见证目录,此目录将会存储见证数据
4、 备用见证目录,此目录将会存储见证数据。
5、 DAG IP地址,我们可以分配多个IP地址到DAG,我们还可以选择使用静态和动态的IP地址,另外 关于DAG名字,是必须的选项,尽管我们可以使用DHCP来检索DAG的IP,但如果没有IP地址被获取到,DAG Cluster将不会启动,请注意这一点。
DAG 网络配置
DAG 网络是一组用于MAPI 或复制流量的子网配置,尽管Exchange 支持单网卡的设置,我们最好还是用最少两块网卡来做,保证网卡高可用,而且我们也可以决定哪块网卡走MAPI流量,哪块网卡走复制流量。
DAG 网络压缩
DAG 提供了内置的网络流量压缩,基于一种名为XPRESS的算法,是微软LZ77实现算法,DAG网络压缩的选项如下:
1、 禁用,网络流量将不会被压缩。
2、 启用,压缩将在复制和种子播发上
3、 InterSubnetOnly,这是Exchange 模式的设置,只有复制在跨不同的子网的时候才会被压缩,所之不压缩。
4、 Seedonly,压缩将只被用用种子播发。
我们可以使用下图中的命令去管理DAG的网络压缩
创建DAG
1、因为我还没有创建DAG,所以首先我们来创建DAG 组
如下图,我们创建了名为DAG的数据库高可用组,IP地址为192.168.201.209,见证服务器为win7-01,目录为c:\123
尝试添加一台服务器,如下图
添加另一台
启用DAG网络流量压缩
我们先来获取一下DAG网络
验证一下默认的压缩方式,下图中默认设置为intersubnetonly
我们来设置一下其他的模式,看是否成功
禁用
启用
seedonly
intersubnetonly
好的,这几种模式全部成功,现在做实验可能大家没有什么体会,在生产环境大流量通过时,这作用将十分明显,希望能帮到大家。
DAG 网络加密
我们可以通过下面几种方式在DAG的网络上进行加密处理:
1、 禁用,网络流量不加密。
2、 启用,不管是正常的复制流量还是种子播发流量,将总是加密的
3、 InterSubnetOnly,和压缩一样,这是Exchange 默认的设置,将只被用于跨不同子网之间,所之不加密。
4、 Seedonly,将只在种子播发时进行网络流量加密。
同样的,我们也用实验的方式去验证一下加密
首先我们来验证一下默认的加密方式
默认加密方式为intersubnetonly
尝试更改为其他加密方式
禁用
启用
Seedonly
Intersubnetonly
几种方式上面已经验证完毕,希望可以帮到大家。
配置DAG
下面介绍几种常用的DAG管理方式
添加被动数据库副本到其他服务器
暂停数据库副本拷贝,状态变为SUSPENDED,Resume-MailboxDatabaseCopy可恢复
更新数据库副本
状态再次变为Healthy
将被动副本切换为主动副本
下图中承载主动数据库副本的服务器已经变为Ex01
配置脱机通讯簿
大家都知道,默认情况下,DAG数据库没有脱机同步簿,现在来配置一下
正确理解故障转移的过程
当承载主动数据库副本的服务器下线或数据库发生了卸载、网络中断等情况时,故障转移将发生,服务器切换发生在管理员手动将主动副本移到其他服务器上,故障转移和服务器切换的区别在于故障转移是一个自动的过程,而服务器切换是一个手动的过程。
在服务器切换(Switchover)期间,我们可以选择哪些数据库将被挂载,也可以让活动管理器选择最佳的副本去挂载,在故障转移期间,活动管理器将做出决定。
当主动数据库副本失败时,活动管理器将使用一系列选择去决定哪个数据库副本被激活,在Exchange Server 2013中,这个过程被称为最佳副本和服务器选择(BCSS),在选择最挂副本去激活时,活动管理器:
1、 创建一个候选被激活的数据库列表
2、 将列表中不能被管理器和不能被激活的数据库删除或忽略
3、 使用复制队列长度做为关键去排列结果列表,如果服务器被配置为自动数据库无损挂载,活动管理器将用升序的方式将激活序列号做为关键去排序。
4、 尝试获取结果列表中数据库的健康状态,比如有卸载和健康、卸载和重新同步,种子源等,使用一套标准去评估它们潜在的可能被激活的可能性,标准包括不同组合的设置,比如索引的状态、复制队列长度和重播队列长度。
5、 数据库故障转移,当高可用数据库发生失败,PAM将尝试执行故障转移,在尝试选择合适的数据库副本去激活之前,尝试复制最后的日志(ACLLs)过程将发生,ACLL使得RPCs去激活数据库副本,RPC请求确认这个服务器是可用并健康的,然后将执行规划的日志检查,然后活动管理器将使用复制任何丢失日志文件去激活邮箱数据库副本。
6、 当ACLL过程完成之后,将会询问自动挂载数据库的值是什么,这个值有三种:
1) 最佳可用性,如果还没有被复制到目标邮箱服务器的复制队列长度的日志文件小于等于12,这个值允许数据库自动挂载,当活动管理器识别了目标服务器,Exchange Server 2013将尝试复制其余日志到被动副本并挂载数据库,这个值是默认的。
2) 较好可用性,如果还没有被复制到目标邮箱服务器的复制队列长度的日志文件小于等于6,这个值允许数据库自动挂载,当活动管理器识别了目标服务器,Exchange Server 2013将尝试复制其余日志到被动副本并挂载数据库.
3) 最小丢失,在所有日志文件复制到被动副本之前,不允许挂载数据库。
- 微软将推出卫星解决方案:可连接到 Azure 云服务 - 2020年9月17日
- Windows Terminal 1.0正式发布 - 2020年5月25日
- Azure Lighthouse 相关介绍 - 2020年3月2日
现有 3 条评论
学会高可用,走哪都不怕!
DAG确实应该好好学习学习
Exchange里边有许多高可用可以配置