Exchange Online 数据复原能力

Exchange 不仅是Microsoft在线服务中使用最频繁的一种,还充当许多其他Microsoft 365 服务(如 Teams)的长期数据存储。 因此,Exchange 经过可靠的架构,以确保在数据完整性和可用性方面具有较高的复原能力,以应对不可预见的中断。

操作复原能力

数据库可用性组

Microsoft 365 中的每个邮箱数据库都托管在 数据库可用性组中, (DAG) ,并复制到同一区域内的地理上独立的数据中心。 最常见的配置是四个数据中心的四个数据库副本;但是,某些区域的数据中心较少, (数据库复制到印度的三个数据中心,澳大利亚和日本的两个数据中心) 。 但在所有情况下,每个邮箱数据库都有四个副本,这些副本分布在多个数据中心,从而确保邮箱数据免受软件、硬件甚至数据中心故障的影响。

在这四个副本中,其中三个配置为高度可用。 第四个副本配置为 滞后的数据库副本。 滞后的数据库副本不适用于单个邮箱恢复或邮箱项目恢复。 其目的是为系统范围的灾难性逻辑损坏的罕见事件提供恢复机制。

Exchange Online 中的滞后数据库副本配置了 7 天的日志文件重播延迟时间。 此外,启用了 Exchange 重播滞后管理器,以便为滞后副本提供动态日志文件播放,以允许滞后的数据库副本自行修复和管理日志文件增长。 尽管在 Exchange Online 中使用滞后的数据库副本,但请务必了解它们不是有保证的时间点备份。 Exchange Online 中滞后的数据库副本的可用性阈值通常为 90%左右,原因是包含滞后副本的磁盘因磁盘故障而丢失、由于自动淡化) 导致滞后副本成为高可用性副本 (以及滞后数据库副本正在重新生成日志重播队列的时间段。

传输复原能力

Exchange Online 包括两个主要传输复原功能:影子冗余和安全网。 卷影冗余在传输过程中保留消息的冗余副本。 安全网在成功传递消息后保留消息的冗余副本。

使用影子冗余时,每个 Exchange Online 传输服务器都会在确认成功将邮件接收到发送服务器之前复制它收到的每个邮件。 这使得传输管道中的所有消息在传输过程中都是冗余的。 如果 Exchange Online 确定原始邮件在传输过程中丢失,则会重新传送邮件的冗余副本。

安全网是与邮箱服务器上的传输服务关联的传输队列。 此队列存储服务器成功处理的消息副本。 当邮箱数据库或服务器故障需要激活邮箱数据库的过期副本时,安全网络队列中的邮件会自动重新提交到邮箱数据库的新活动副本。 安全网也是冗余的,从而消除了作为单一故障点的传输。 它使用主要安全网和影子安全网的概念,其中,如果主要安全网不可用超过 12 小时,重新提交请求将成为影子重新提交请求,并且从影子安全网重新传递消息。

安全网络的邮件重新提交由管理 DAG 和邮箱数据库副本的 Microsoft Exchange 复制服务的 Active Manager 组件自动启动。 无需手动操作即可从安全网重新提交消息。

防止和纠正腐败

就地保留将保留所有邮箱内容,包括已删除项目和已修改项目的原始版本。 所有此类邮箱项目均会返回到就地电子数据展示搜索中。 在用户邮箱上放置 In-Place 保留时,如果启用) 相应存档邮箱中的内容 (也会处于保留状态并在电子数据展示搜索中返回。

有两种类型的损坏可能会影响 Exchange 数据库:物理损坏,这通常是由硬件 (特别是存储硬件) 问题引起的,以及逻辑损坏(由于其他因素而发生)。 通常,Exchange 数据库中可能出现两种类型的逻辑损坏:

  • 数据库逻辑损坏 - 数据库页校验和匹配,但页面上的数据在逻辑上是错误的。 当数据库引擎 (可扩展存储引擎 (ESE) ) 尝试写入数据库页时,即使操作系统返回成功消息,数据要么永远不会写入磁盘,要么将数据写入错误位置,也会发生这种情况。 这称为 丢失刷新。 ESE 包含许多功能和安全措施,旨在防止数据库的物理损坏和其他数据丢失情况。 为了防止丢失刷新丢失数据,ESE 在数据库中包括丢失刷新检测机制,以及 (单页还原) 更正它的功能。
  • 存储逻辑损坏 - 以用户不期望的方式添加、删除或操作数据。 这些情况是由第三方应用程序引起的。 它通常是损坏,因为用户将其视为损坏。 Exchange 存储会考虑产生一系列有效 MAPI 操作的逻辑损坏的事务。 Exchange Online 中的 就地保留 功能 (提供存储逻辑损坏保护,因为它可以防止用户或应用程序) 永久删除内容。

Exchange Online 在日志检查和日志重播期间对复制的日志文件执行多个一致性检查。 这些一致性检查可防止系统复制物理损坏。 例如,在日志检查期间,有一个物理完整性检查,用于验证日志文件,并验证日志文件中记录的校验和是否与内存中生成的校验和匹配。 此外,还会检查日志文件头,以确保日志标头中记录的日志文件签名与日志文件的签名匹配。 在日志重播期间,将进一步审查日志文件。 例如,数据库标头还包含与日志文件签名进行比较的日志签名,以确保它们匹配。

Exchange Online 中邮箱数据的损坏防护是使用 Exchange 本机数据保护实现的,Exchange Native Data Protection 是一种复原策略,它利用跨多个服务器和多个数据中心的应用程序级复制以及其他有助于防止数据因损坏或其他原因而丢失的功能。 这些功能包括由 Microsoft 或 Exchange Online 应用程序本身管理的本机功能,例如:

  • 数据可用性组
  • 单位更正
  • 联机数据库扫描
  • 丢失刷新检测
  • 单页还原
  • 邮箱复制服务
  • 日志文件检查
  • 在可复原文件系统上部署

有关前面列出的本机功能的详细信息,请选择超链接,并参阅以下内容,了解其他信息以及有关没有超链接的项目的详细信息。 除了这些本机功能,Exchange Online 还包括客户可以管理的数据复原功能,例如:

单位更正

ESE 包括一种检测和解决单位 CRC 错误的机制, (也称为单位翻转) ,这是硬件错误 (的结果,因此它们表示物理损坏) 。 发生这些错误时,ESE 会自动更正这些错误,并在事件日志中记录事件。

联机数据库扫描

联机数据库扫描 (也称为 数据库检查求和) 是 ESE 使用数据库一致性检查器读取每个页面并检查页面损坏的过程。 主要用途是检测事务操作可能无法检测到的物理损坏和丢失刷新。 数据库扫描还会执行存储后崩溃操作。 空间可能因崩溃而泄露,联机数据库扫描会发现并恢复丢失的空间。 该系统的设计预期是,每个数据库每七天完全扫描一次。

丢失刷新检测

如果磁盘子系统/操作系统返回为已完成的数据库写入操作实际上未写入磁盘,或者写入到错误的位置,则会发生刷新丢失。 丢失刷新事件可能会导致数据库逻辑损坏,因此,为了防止丢失刷新导致数据丢失,ESE 包括丢失刷新检测机制。 当数据库页写入被动副本时,会针对活动副本上的丢失刷新执行检查。 如果检测到刷新丢失,ESE 可以使用页面修补过程修复进程。

单页还原

单页还原(也称为 页面修补)是一个自动过程,其中损坏的数据库页将替换为正常副本中的正常副本。 损坏页的修复过程取决于数据库副本是主动还是被动。 当活动数据库副本遇到损坏的页时,它可以从其中一个副本复制页面,前提是复制的页面是最新的。 此过程是通过将页面请求放入日志流来完成的,日志流是邮箱数据库复制的基础。 副本一遇到页面请求,就会通过将页面的副本发送到请求的数据库副本来做出响应。 单页还原还提供异步通信机制,使活动从副本请求页面,即使副本当前处于脱机状态也是如此。

如果被动数据库副本(包括滞后的数据库副本)中存在损坏,因为这些副本始终位于其活动副本后面,则始终可以安全地将任何页面从主动副本复制到被动副本。 被动数据库副本本质上是高度可用的,因此在页面修补过程中,日志重播会暂停,但日志复制会继续。 被动数据库副本从活动副本中检索损坏页的副本,等待,直到复制并检查满足最大所需日志生成要求的日志文件,然后修补损坏页。 修补页面后,日志重播会恢复。 滞后数据库副本的过程相同,只不过滞后数据库首先重播实现可修补状态所需的所有日志文件。

邮箱复制服务

移动邮箱是管理大规模电子邮件服务的关键部分。 始终有更新的技术以及硬件和版本升级需要处理,因此,拥有一个强大的限制系统,使我们的工程师能够完成这项工作,同时确保邮箱移动对用户 (透明,方法是确保他们在整个过程中保持联机状态,) 是关键,并确保随着邮箱的增大而正常地纵向扩展进程。

Exchange 邮箱复制服务 (MRS) 负责在数据库之间移动邮箱。 在移动期间,MRS 对邮箱中的所有项目执行一致性检查。 如果发现一致性问题,MRS 将更正问题,或跳过损坏的项目,从而从邮箱中删除损坏。

由于 MRS 是 Exchange Online 的一个组件,因此我们可以对其代码进行更改,以解决将来检测到的新损坏形式。 例如,如果我们检测到 MRS 无法修复的一致性问题,则可以分析损坏情况、更改 MRS 代码并更正不一致 ((如果我们知道如何) )。

日志文件检查

Exchange 数据库生成的所有事务日志文件都经过多种形式的一致性检查。 创建日志文件时,首先会写入位模式,然后执行一系列日志写入。 此结构使 Exchange Online 能够执行一系列检查, (丢失刷新、CRC 和其他检查,) 验证写入每个日志文件时,以及在复制文件时再次验证该文件。

在可复原文件系统上部署

为了帮助防止文件系统级别发生损坏,Exchange Online 部署在复原文件系统 (ReFS) 分区上,以提供改进的恢复功能。 ReFS 是 Windows Server 2012 及更高版本中的文件系统,旨在提高数据损坏的复原能力,从而最大程度地提高数据可用性和完整性。 具体而言,ReFS 改进了元数据的更新方式,可以更好地保护数据并减少数据损坏情况。 它还使用校验和来验证文件数据和元数据的完整性,确保轻松发现和修复数据损坏。

Exchange Online 利用 ReFS 的几个优势:

  • 提高数据完整性的复原能力意味着更少的数据损坏事件。 减少损坏事件的数量意味着减少不必要的数据库重新设置。
  • 在元数据上运行的校验和可以更快、更确定地检测损坏案例,使我们能够在数据卷出现灰色故障之前修复客户数据损坏。
  • 设计用于处理大型数据集(PB 级和更大数据集),不会影响性能
  • 支持 Exchange Online 使用的其他功能,例如 BitLocker 加密。

Exchange Online 还受益于其他 ReFS 功能:

  • 完整性 (完整性流) - ReFS 以保护数据的方式存储数据,使其免受许多通常可能导致数据丢失的常见错误的影响。 Microsoft 365 搜索使用完整性流来帮助早期检测磁盘损坏和文件内容校验和。 当写入操作因停电等而未完成时,该功能还可以减少“写入中断” (导致的损坏事件 ) 。
  • 可用性 (Salvage) - ReFS 优先考虑数据的可用性。 从历史上看,文件系统经常容易受到数据损坏的影响,因此需要使系统脱机进行修复。 尽管很少发生损坏,但 ReFS 会实现 salvage,此功能可从实时卷上的命名空间中删除损坏的数据,并确保良好的数据不会受到不可修复的损坏数据的影响。 将 Salvage 功能应用于 Exchange Online 数据库卷并隔离数据损坏意味着我们可以在损坏和修复操作之间保持损坏卷上的未受影响的数据库正常运行。 此结构提高了通常受此类磁盘损坏问题影响的数据库的可用性。