安全网络
适用于: Exchange Server 2013
在 Microsoft Exchange Server 2013 中,邮箱高可用性的主要机制是数据库可用性组 (DAG) 。 有关 DAG 的详细信息,请参阅 管理数据库可用性组。 传输转储程序首次在 Exchange 2007 中引入,并在 Exchange 2010 中进行了进一步改进,以便在邮件成功传递到 DAG 中的邮箱后提供冗余副本。 在 Exchange 2010 中,传输转储程序通过维护未复制到 DAG 中的被动邮箱数据库副本的成功传递邮件队列,帮助防止数据丢失。 当邮箱数据库或服务器故障需要升级邮箱数据库的过期副本时,传输转储器中的邮件会自动重新提交到邮箱数据库的新活动副本。
Exchange 2013 中改进了传输垃圾箱,现在称为 安全网。
在此将描述 Safety Net 与 Exchange 2010 中的传输转储程序如何相似:
安全网是与邮箱服务器上的传输服务关联的队列。 此队列存储服务器成功处理的消息副本。
可以指定安全网络在成功处理的消息副本过期和自动删除之前存储这些副本的时长。 默认值为 2 天。
这里将讨论 Safety Net 在 Exchange 2013 中有何不同:
安全网不需要 DAG。 对于不属于 DAG 的邮箱服务器,安全网在本地 Active Directory 站点中的其他邮箱服务器上存储传递的邮件副本。
安全网本身现在是冗余的,不再是单一故障点。 这介绍了 主要安全网 和 影子安全网的概念。 如果主要安全网不可用超过 12 小时,重新提交请求将成为影子重新提交请求,并且消息将从影子安全网重新传递。
安全网络接管 DAG 环境中的影子冗余的一些责任。 影子冗余不需要在影子队列中保留已传递邮件的另一个副本,而等待传递的邮件复制到 DAG 中其他邮箱服务器上的邮箱数据库的被动副本。 已传递消息的副本已存储在安全网中,因此如有必要,可以从安全网重新提交该消息。
在 Exchange 2013 中,传输高可用性不仅仅是邮件冗余的一项最大努力。 Exchange 2013 尝试保证消息冗余。 因此,无法为安全网指定最大大小限制。 只能指定安全网络在自动删除消息之前存储消息的时长。
Safety Net 工作方式
卷影冗余在传输消息时保留消息的冗余副本。 安全网在成功处理消息后保留消息的冗余副本。 因此,安全网从阴影冗余结束的地方开始。 有关卷影冗余的相同概念(包括传输高可用性边界、主消息、主服务器、影子消息和影子服务器)也适用于安全网络。 有关详细信息,请参阅卷影冗余。
在传输服务成功处理邮件之前,主要安全网存在于保留主邮件的邮箱服务器上。 这可能意味着邮件已传递到目标邮箱服务器上的邮箱传输服务。 或者,邮件可能通过 Active Directory 站点中的邮箱服务器中继,该站点在到达目标 DAG 或 Active Directory 站点的途中被指定为中心站点。 主服务器处理主消息后,消息将从活动队列移动到同一服务器上的主安全网。
影子安全网存在于保留影子邮件的邮箱服务器上。 影子服务器确定主服务器已成功处理主消息后,影子服务器会将影子消息从影子队列移动到同一服务器上的影子安全网。 尽管看起来很明显,但影子安全网的存在需要启用影子冗余,并且默认在 Exchange 2013 中启用卷影冗余。
在下表中描述了 Safety Net 使用的参数。
参数 | 默认值 | 描述 |
---|---|---|
Set-TransportConfig 上的 SafetyNetHoldTime | 2 天 | 成功处理的主要消息的时间长度存储在主要安全网中,确认的影子消息存储在影子安全网中。 还可以在 Exchange 管理中心指定此值, (EAC) 邮件流>接收连接器>更多选项>组织传输设置>安全网安全网>保留时间。 在 Set-TransportService 上 SafetyNetHoldTime 和 MessageExpirationTimeout 的总和之后,未确认的影子消息最终从影子安全网过期。 若要避免在安全网重新提交期间丢失数据,SafetyNetHoldTime 的值必须大于或等于邮箱数据库滞后副本的 Set-MailboxDatabaseCopy 上的 ReplayLagTime 值。 |
Set-MailboxDatabaseCopy 上的 ReplayLagTime | 未配置 | Microsoft Exchange 复制服务在重播已复制到被动数据库副本的日志文件之前应等待的时间。 将此参数设置为大于 0 的值会创建邮箱数据库的滞后副本。 最大值为 14 天。 为了避免在安全网重新提交期间丢失数据,对于邮箱数据库的滞后副本,ReplayLagTime 的值必须小于或等于 Set-TransportConfig 上 SafetyNetHoldTime 的值。 |
Set-TransportService 上的 MessageExpirationTimeout | 2 天 | How long a message can remain in a queue before it expires. |
Set-TransportConfig 上的 ShadowRedundancyEnabled | $true |
冗余安全网需要启用影子冗余。 |
从 Safety Net 重新提交邮件
安全网络的邮件重新提交由管理 DAG 和邮箱数据库副本的 Microsoft Exchange 复制服务的 Active Manager 组件启动。 无需手动操作即可从安全网重新提交消息。 若要详细了解活动管理器,请参阅活动管理器。
有两种基本 Safety Net 邮件重新提交情景:
- 在 DAG 中进行邮箱数据库的自动或手动故障转移后。
- 在激活邮箱数据库的滞后副本后。
滞后邮箱数据库副本或滞后副本是邮箱数据库的被动副本,其中有意延迟对数据库的更新,以防止邮箱数据库的逻辑损坏。 有关详细信息,请参阅 管理邮箱数据库副本。
这两种方案之间的唯一显著区别是,从安全网重新提交消息的时间要追溯到多远。 通常,对于 DAG 中的故障转移,邮箱数据库的新活动副本通常比旧活动副本晚几分钟到几小时。 邮箱数据库的滞后副本通常比旧活动副本晚几天。
对于滞后副本,成功从安全网重新提交的主要要求是,在安全网中存储邮件的时间必须大于或等于邮箱数据库滞后副本的延迟时间。 换句话说,Set-TransportConfig 上的 SafetyNetHoldTime 值必须大于或等于滞后副本的 Set-MailboxDatabaseCopy 上的 ReplayLagTime 值。
从 Shadow Safety Net 重新提交邮件
与从 Primary Safety Net 重新提交邮件相似,从 Shadow Safety Net 重新提交邮件是完全自动进行,并且无需手动干预。
当 Active Manager 在特定时间段内请求从安全网重新提交邮件时,请求将转到邮箱服务器上的传输服务,其中主安全网在所需时间段内保存邮件副本。 在大型 Exchange 组织中,所需的邮件很可能存在于多个邮箱服务器上的 Safety Net 中,尤其是当所需时间段较长时。
如果不进行优化,从安全网络重新提交消息可能会导致大量重复传递。 Exchange 组织内的重复传递不是问题,因为重复邮件检测可防止邮箱用户看到邮件的重复副本。 但是,向 Exchange 组织外部的收件人传递重复邮件将导致邮件副本重复。 幸运的是,Exchange 2013 中已优化来自安全网的邮件重新提交,以减少重复邮件传递。
如果主要安全网络最初无响应,或在消息重新提交期间变得无响应,则 Active Manager 会继续尝试联系它 12 小时,然后放弃。 12 小时后,广播将发送到传输高可用性绑定中的所有邮箱服务器上的传输服务,请求在所需邮箱数据库所需的时间间隔内从安全网重新提交邮件。 影子安全网响应时,仅在所需时间间隔内重新提交所需邮箱数据库的邮件。
对于存储于 Shadow Safety Net 中的卷影邮件,有两个重要的注意事项:
Shadow Safety Net 不知道主要服务器在何处传输主要邮件。
影子安全网中的影子邮件仅包含原始邮件信封收件人,而不包含传递主要邮件的实际收件人。 例如,邮件信封收件人可能是需要扩展的通讯组。
影子安全网中的消息没有主服务器处理消息后发生的任何消息更新。 例如,消息编码或内容转换。
从影子安全网重新提交的影子邮件需要通过邮箱服务器上的传输服务进行完全分类和处理。 从影子安全网重新提交大量影子邮件在邮箱服务器资源方面可能代价高昂。 幸运的是,从影子安全网重新提交影子邮件也进行了优化,因此只有影子安全网中请求的时间间隔的邮件和请求的邮箱数据库才会重新提交。
在以下场景中,对邮件重新提交期间 Primary Safety Net 和 Shadow Safety Net 之间的交互进行了说明。
Active Manager 在 5:00 到 9:00 的时间间隔内请求从安全网为邮箱数据库重新提交邮件。 但是,保存主要安全网的邮箱服务器因硬件故障而崩溃。 活动管理器反复尝试联系主要安全网 12 小时。
在 12 小时后,活动管理器会在传输高可用性界限内向所有邮箱服务器上的传输服务发送广播邮件,寻找时间段 5:00 至 9:00 之间包含目标邮箱数据库邮件的其他 Safety Net。 Shadow Safety Net 会做出响应,对时段 5:00 至 9:00 重新提交邮箱数据库的邮件。
如果 Primary Safety Net 在部分请求的提交间隔期间脱机,则会发生有趣的交互,如下面的情景中所述。
拥有 Primary Safety Net 的邮箱服务器上的队列数据库损坏,并在 7:00 新建了队列数据库。 从 1:00 到 7:00,存储在 Primary Safety Net 中的所有主要邮件都会丢失,但是服务器能够存储从 7:00 开始在 Safety Net 中成功传递的邮件的副本。
活动管理器请求对时间段 1:00 到 9:00 对邮箱数据库从 Safety Net 重新提交邮件。
Primary Safety Net 对时间段 7:00 到 9:00 重新提交邮件。
主要安全网向传输高可用性边界中的所有邮箱服务器上的传输服务发送广播消息,查找包含目标邮箱数据库的邮件的其他安全网络,时间间隔为 1:00 到 7:00,而主要安全网没有消息。 影子安全网代表主要安全网生成第二个重新提交请求,以便在 1:00 到 7:00 的时间间隔内重新提交目标邮箱数据库的影子邮件。
在从 Safety Net 重新提交邮件时,有一些需要考虑的其他问题。
(DSN) 的所有传递状态通知和未送达报告 (NDR) ,安全网重新提交都会被禁止。 例如,如果主消息导致 NDR,则不会传递重新提交的消息的 NDR。
当影子安全网重新提交邮件时,从通讯组中删除的用户可能不会收到重新提交的消息。 例如,将邮件发送到包含用户 A 和用户 B 的组,并且两个收件人都会收到该邮件。 用户 B 随后会从组中删除。 稍后,将针对保存用户 B 邮箱的邮箱数据库发出来自主要安全网的重新提交请求。 但是,主要安全网不可用超过 12 小时,因此影子安全网服务器会响应并重新提交受影响的消息。 在展开通讯组时重新提交期间,用户 B 不是该组的成员,并且不会收到重新提交的邮件的副本。
当影子安全网重新提交邮件时,添加到通讯组的新用户可能会收到重新提交的旧消息。 例如,将邮件发送到包含用户 A 和用户 B 的组,并且两个收件人都会收到该邮件。 用户 C 随后会添加到组中。 稍后,将针对保存用户 C 邮箱的邮箱数据库发出来自主要安全网的重新提交请求。 但是,主要安全网服务器不可用超过 12 小时,因此影子安全网服务器会响应并重新提交受影响的消息。 在展开通讯组时重新提交期间,用户 C 是该组的成员,并且将收到重新提交的邮件的副本。