Exchange Server的安全网

在 Exchange 2010 中, 传输转储程序 通过维护未复制到数据库可用性组中被动邮箱数据库副本 (DAG) 中成功传递的邮件队列,帮助防止数据丢失。 当邮箱数据库或服务器故障需要升级邮箱数据库的过期副本时,传输转储器中的邮件会自动重新提交到邮箱数据库的新活动副本。

Exchange 2013 中改进了传输垃圾箱,现在称为 安全网。 Exchange 2016 和 Exchange 2019 具有这些相同的改进。

在此将描述 Safety Net 与 Exchange 2010 中的传输转储程序如何相似:

  • 安全网是与邮箱服务器上的传输服务关联的队列。 此队列存储服务器成功处理的消息副本。

  • 可以指定安全网络在成功处理的消息副本过期和自动删除之前存储这些副本的时长。 默认值为 2 天。

以下是如何在 Exchange 2010 中从传输垃圾箱改进安全网:

  • 安全网络不需要 DAG:对于不属于 DAG 的邮箱服务器,安全网在本地 Active Directory 站点中的其他邮箱服务器上存储已传递邮件的副本。

  • 安全网本身不是单一故障点:冗余通过使用 主要安全网影子安全网提供。 如果主要安全网不可用超过 12 小时,重新提交请求将成为影子重新提交请求,并且消息将从影子安全网重新传递。

  • 安全网络接管 DAG 环境中的影子冗余的一些责任:影子冗余不需要在影子队列中保留已传递邮件的另一个副本,而等待传递的邮件复制到邮箱数据库的被动副本。 已传递消息的副本已存储在安全网中,因此如有必要,可以从安全网重新提交该消息。

  • 安全网络尝试保证消息冗余:安全网不仅仅是消息冗余的一项最大努力,因此无法为安全网指定最大大小限制。 只能指定安全网络在自动删除消息之前存储消息的时长。

有关 Exchange Server 中的传输高可用性功能的详细信息,请参阅 Exchange Server 中的传输高可用性。 有关传输中消息的消息冗余的详细信息,请参阅 Exchange Server 中的阴影冗余

Safety Net 工作方式

卷影冗余在传输消息时保留消息的冗余副本。 安全网在成功处理消息后保留消息的冗余副本。 因此,安全网从阴影冗余结束的地方开始。 影子冗余的概念(包括传输高可用性边界、主消息、主服务器、影子消息和影子服务器)也适用于安全网。 有关详细信息,请参阅 Exchange Server 中的阴影冗余

在传输服务成功处理邮件之前,主要安全网存在于保留主邮件的邮箱服务器上。 这可能意味着邮件已传递到目标邮箱服务器上的邮箱传输传递服务。 或者,邮件可能通过 Active Directory 站点中的邮箱服务器中继,该站点在到达目标 DAG 或 Active Directory 站点的途中被指定为中心站点。 主服务器处理主消息后,消息将从活动传递队列移动到同一服务器上的主安全网。

影子安全网存在于保留影子邮件的邮箱服务器上。 影子服务器确定主服务器已成功处理主消息后,影子服务器会将影子消息从影子队列移动到同一服务器上的影子安全网。 尽管看起来很明显,但影子安全网的存在需要启用影子冗余, (默认启用) 。

下表介绍了安全网使用的参数。

参数 默认值 描述
Set-TransportConfig 上的 SafetyNetHoldTime 2 天 成功处理的主要消息的时间长度存储在主要安全网中,确认的影子消息存储在影子安全网中。

还可以在 Exchange 管理中心中指定此值, (EAC) 邮件流>接收连接器“>更多选项”图标。>组织传输设置>安全网>安全网保留时间

未确认的影子消息最终在 SafetyNetHoldTimeMessageExpirationTimeout 参数值的总和之后从影子安全网过期。

若要避免在安全网重新提交期间丢失数据,此参数的值必须大于或等于邮箱数据库滞后副本的 Set-MailboxDatabaseCopy 上的 ReplayLagTime 值。

Set-MailboxDatabaseCopy 上的 ReplayLagTime 未配置 在重播已复制到被动数据库副本的日志文件之前,Microsoft Exchange 复制服务应等待的时间。 将此参数设置为大于 0 的值会创建邮箱数据库的滞后副本。 最大值为 14 天。

为了避免在安全网重新提交期间丢失数据,邮箱数据库滞后副本的此参数值必须小于或等于 Set-TransportConfig 上的 SafetyNetHoldTime 值。

Set-TransportService 上的 MessageExpirationTimeout 2 天 How long a message can remain in a queue before it expires.
Set-TransportConfig 上的 ShadowRedundancyEnabled $true $true:在组织中的所有邮箱服务器上启用影子冗余。

$false:在组织中的所有传输服务器上禁用影子冗余。

安全网的冗余需要启用影子冗余。

安全网支持的最大大小

Microsoft Exchange Server 2019 年和 2016 年,传输安全网 JET 数据库支持的最大数据库大小为 2 TB。

使用中心辐射型拓扑时,传输 Safety Net JET 数据库可能会增长到 2 TB 以上。 若要保持在支持的 2 TB 限制范围内,请遵循以下准则:

  • 无法将用于邮件中继的中心服务器配置为将邮件传递到邮箱。

  • 在用于消息中继的中心服务器上禁用安全网。 为此,请按照下列步骤操作:

    1. 在命令提示符窗口中,通过在服务器上运行以下命令,在 记事本 中打开 EdgeTransport.exe.config 文件:

      Notepad %ExchangeInstallPath%Bin\EdgeTransport.exe.config
      
    2. appSettings 部分中添加以下键。

      <add key="SafetyNetHoldTimeInterval" value="0.00:00:15" />
      

      完成后,保存并关闭EdgeTransport.exe.config文件。

    3. 通过运行以下命令重启 Exchange 传输服务:

      net stop MSExchangeTransport && net start MSExchangeTransport
      

从 Safety Net 重新提交邮件

Microsoft Exchange 复制服务 (MSExchangeRepl.exe) 的 Active Manager 组件管理 DAG 和邮箱数据库副本。 从安全网络重新提交消息不需要手动操作,并且由 Active Manager 启动。 若要详细了解活动管理器,请参阅活动管理器

有两种基本 Safety Net 邮件重新提交情景:

  • 在 DAG 中进行邮箱数据库的自动或手动故障转移后。

  • 激活邮箱数据库的滞后副本后。

滞后邮箱数据库副本滞后副本是邮箱数据库的被动副本,其中会有意延迟对数据库的更新,以防止邮箱数据库的逻辑损坏。 有关详细信息,请参阅 管理邮箱数据库副本

这两种方案之间的唯一显著区别是,从安全网重新提交消息的时间要追溯到多远。 通常,对于 DAG 中的数据库故障转移,邮箱数据库的新活动副本比旧活动副本晚几分钟到几小时不等。 邮箱数据库的滞后副本通常比旧活动副本晚几天。

对于滞后副本,成功从安全网重新提交消息的主要要求是:消息在安全网中存储的时间长度必须大于或等于滞后副本的延迟时间。 换句话说,Set-TransportConfig 上的 SafetyNetHoldTime 值必须大于或等于滞后副本的 Set-MailboxDatabaseCopy 上的 ReplayLagTime 值。

从 Shadow Safety Net 重新提交邮件

从影子安全网重新提交消息 (类似于从主要安全网) 重新提交的消息,是完全自动化的,不需要手动干预。 此方案描述消息重新提交期间主要安全网和影子安全网的交互:

  1. Active Manager 在指定的时间间隔 ((例如,) 5:00 到 9:00)请求邮箱数据库的 Safety Net 重新提交邮件。 但是,保存主要安全网的邮箱服务器因硬件故障而崩溃。 在接下来的 12 小时内,主动管理器尝试联系主要安全网失败。

  2. 12 小时后,Active Manager 会将广播邮件发送到传输高可用性边界中的所有邮箱服务器上的传输服务, (非 DAG 环境中的 DAG 或 Active Directory 站点,) 查找包含指定时间间隔内目标邮箱数据库的邮件的其他安全网络。 影子安全网在 5:00 到 9:00 的时间间隔内响应并重新提交邮箱数据库的邮件。

影子安全网响应时,它仅在所需时间间隔内重新提交所需邮箱数据库的邮件。 邮箱数据库和时间间隔的此限制有助于减少以下潜在问题:

  • 从安全网重新提交消息可能会导致重复传递。 对于 Exchange 组织中的邮箱来说,这不是问题,因为重复邮件检测会阻止邮箱用户看到重复邮件。 但是,向外部收件人传递重复邮件可能会导致收件人看到的邮件副本重复。

  • 从影子安全网重新提交的影子邮件需要通过邮箱服务器上的传输服务进行完全分类和处理。 在邮箱服务器系统资源方面,重新提交大量影子邮件的成本可能很高。

以下是存储在影子安全网中的影子消息的一些重要注意事项:

  • Shadow Safety Net 不知道主要服务器在何处传输主要邮件。

  • 影子安全网中的影子邮件仅包含原始邮件信封收件人,而不包含传递主邮件的实际收件人 (例如,邮件信封收件人可能是需要扩展) 的通讯组。

  • 影子安全网中的消息不包含主服务器处理消息后发生的任何消息更新, (例如消息编码或内容转换) 。

此方案描述在请求重新提交间隔的一部分时间内,如果主要安全网脱机,会发生什么情况:

  1. 保存主要安全网的邮箱服务器上的队列数据库已损坏,并在 7:00 创建新的队列数据库。 从 1:00 到 7:00,存储在 Primary Safety Net 中的所有主要邮件都会丢失,但是服务器能够存储从 7:00 开始在 Safety Net 中成功传递的邮件的副本。

  2. 活动管理器请求对时间段 1:00 到 9:00 对邮箱数据库从 Safety Net 重新提交邮件。

  3. Primary Safety Net 对时间段 7:00 到 9:00 重新提交邮件。

  4. 因为主要安全网没有 1:00 到 7:00 所需的消息。 主要安全网向传输高可用性边界中的所有邮箱服务器上的传输服务发送广播消息,查找包含所需邮件的其他安全网。 影子安全网代表主要安全网生成第二个重新提交请求,以在时间间隔 1:00 到 7:00 的时间间隔内为目标邮箱数据库重新提交影子邮件。

以下是从安全网重新提交消息时要考虑的其他一些问题:

  • 安全网消息重新提交 (也称为 DSN、未送达报告、NDR 或退回) 邮件的所有传递状态通知都会被禁止:例如,如果主消息导致 NDR,则不会传递重新提交的邮件的 NDR。

  • 当影子安全网重新提交邮件时,从通讯组中删除的用户可能不会收到重新提交的邮件:例如,将邮件发送到包含用户 A 和用户 B 的组,并且两个收件人都会收到该邮件。 用户 B 随后会从组中删除。 稍后,将针对保存用户 B 邮箱的邮箱数据库发出来自主要安全网的重新提交请求。 但是,主要安全网不可用超过 12 小时,因此影子安全网服务器会响应并重新提交受影响的消息。 在邮件重新提交期间,扩展通讯组时,用户 B 不再是该组的成员,并且不会收到重新提交的邮件的副本。

  • 影子安全网重新提交邮件时,添加到通讯组的新用户可能会收到重新提交的旧邮件:例如,将邮件发送到包含用户 A 和用户 B 的组,并且两个收件人都接收该邮件。 用户 C 随后将添加到组。 稍后,将针对保存用户 C 邮箱的邮箱数据库发出来自主要安全网的重新提交请求。 但是,主要安全网服务器不可用超过 12 小时,因此影子安全网服务器会响应并重新提交受影响的消息。 在邮件重新提交期间,展开通讯组时,用户 C 现在是该组的成员,并且将收到重新提交的邮件的副本。

  • 在中心辐射型拓扑中部署安全网:安全网旨在保护托管最终用户邮箱的 Exchange 服务器上的邮件传送。 部署了中心辐射型路由拓扑的客户应在中心站点中的传输服务器上禁用安全网,以避免中心位置传输数据库的大小大幅增长。