Troubleshoot public folder batch migrations

 

**适用于:**Exchange Server 2013

**上一次修改主题:**2016-12-09

**摘要:**本文包含对 Exchange 公用文件夹的批处理迁移进行故障排除可采取的步骤。

在将公用文件夹从较旧版本的 Exchange 批量迁移到 Exchange 2013 或 Office 365 时,可能会出现一些常见问题。本文中的信息旨在帮助你确定并解决这些问题,以成功进行批量迁移。

将讨论以下几个方面,概述验证或修正此问题的基本步骤(如有需要):

  • 查找批量迁移故障排除所需的信息

  • 公用文件夹启用邮件失败

  • 迁移流程的最终完成

  • 邮箱服务迁移后的层次结构

  • 并行运行多个作业

  • 分析无效项目

在开始之前,需要知道什么?

  • 估计完成该任务的时间:因迁移问题的类型而异

  • 您必须先获得权限,然后才能执行此过程或多个过程。若要查看所需的权限,请参阅共享和协作权限主题中的“公用文件夹”条目。

  • 若要了解可能适用于此主题中过程的键盘快捷键,请参阅 Exchange 管理中心内的键盘快捷键

提示

遇到问题了吗?请在 Exchange 论坛中寻求帮助。 请访问以下论坛:Exchange ServerExchange OnlineExchange Online Protection

您想执行什么操作?

查找批量迁移故障排除所需的信息

批量迁移数据分布在不同位置,使得收集和诊断问题比旧的集中式串行迁移更加困难。创建批量迁移请求时,所有信息均存储在组织(迁移)邮箱下创建的邮件中。来自迁移邮箱并显示在 EAC 中的有关批量迁移的信息。可以通过运行以下命令查找邮箱所在的数据库:

Get-Mailbox -Arbitration -Organization $org Mig* | fl Name,Database

接下来,可以运行 Get-MailboxDatabaseCopyStatus 来确定装入该邮箱数据库的服务器。

迁移服务在所提及的服务器上的 MSExchangeServiceHost 下运行,并负责创建、恢复、挂起和删除属于批量迁移请求的 MRS 作业。

当批量迁移请求以 New-PublicFolderMailboxMigrationRequest cmdlet 开头时,它将创建该作业项及其基础 MRS 作业。每个 MRS 作业均存储在为该作业托管目标邮箱的数据库的系统邮箱中。与任何其他 MRS 作业一样,它们的数据可通过 Get-*RequestGet-*RequestStatistics cmdlet 获取。

你可以从迁移邮箱收集以下信息:

  • 端点或批处理请求的连接设置。

  • 批处理元数据,包括批量迁移脚本生成的 .csv 文件中的信息、无效项目和大型项目的限制、批处理请求运行状况及其当前状态的摘要。

  • 作业项信息。在作业项和 MRS 作业之间存在 1:1 映射。作业项会根据你运行 New-PublicFolderMailboxMigrationRequest 时截取的快照而不断更新。

  • 电子邮件发出的有关批量迁移不同阶段的报告。

运行以下命令以查找迁移用户和针对主邮箱的相应 MRS 作业:

$primaryMailboxGuid = (Get-OrganizationConfig $org).RootPublicFolderMailbox.HierarchyMailboxGuid

$primaryMailboxUser = $users | ?{$_.MailboxGuid -eq $primaryMailboxGuid}

$primaryMailboxJob = Get-PublicFolderMailboxMigrationRequest "$org\$($primaryMailboxUser.RequestGuid)"

运行以下命令以获取作业状态的高级别详细信息:

$primaryMailboxUserStats = $primaryMailboxUser | Get-MigrationUserStatistics -Organization $org

$primaryMailboxUserStats | fl Status,Error

你可以使用 Get-*Statistics 获取更为详细的信息。

有关语法和参数的详细信息,请参阅下列主题:

公用文件夹启用邮件故障排除失败

在迁移期间,公用文件夹启用邮件失败通常表示以下两种情况之一。

  • Active Directory 对象在本地环境和 Office 365 之间未正确同步。

  • 初始同步后,Office 365 的 Active Directory 中的某些公用文件夹未链接到任何存储文件夹。

在这两种情况下,恢复方法是运行 Sync-MailPublicFolders 脚本

迁移流程故障排除操作完成

在完成之前,批量迁移的状态应为“已同步”。如果状态为 SyncedWithErrors,则应在继续前运行 Start-MigrationBatch 命令。Start-MigrationBatch 将仅恢复或重试失败的作业,而 Complete-MigrationBatch 命令将恢复所有作业。 Start-MigrationBatch 让你有机会修复失败的作业,并在继续完成前验证修复是否有效。不建议在未尝试修复错误的情况下继续完成,因为这些相同的错误可能会中止整个迁移。

下面的关系图说明了成功完成期间批量迁移状态的切换顺序。

成功迁移过程中的迁移状态进度

以下是每个作业项的状态切换流程:

各个作业项的状态转换

同样,在 MRS 侧,此作业状态应以按如下方式切换:

MRS 作业状态转换

如果任何单个作业在上述两个图示中的某个绿色阶段失败,则迁移过程将重试几次。如果故障继续存在,则会通过电子邮件向管理员发送报告,批量迁移过程将返回到 SyncedWithErrors 状态。

开始批量迁移的完成操作时,迁移服务将恢复所有作业,其中包括确保每个作业都执行一次成功的增量同步。该操作是在源锁定后完成的,以防止数据丢失。如果所有 MRS 作业再次达到 AutoSuspended 状态,则表示它们已成功,并且将继续完成操作。Exchange Online/Office 365 公用文件夹部署将解锁。然后,所有作业将进行最后一次恢复,这样它们就可以在最终达到“已完成”状态前执行清除任务。所有单个作业都处于“已完成”状态后,整个批量迁移的状态也会更改为“已完成”。

迁移后对邮箱服务层次结构进行故障排除

...

....客户需要设置 IsExcludedFromServingHierarchy = true 的唯一情况是他们希望使一个邮箱仅成为内容邮箱(即不将此层次结构服务于任何用户)。 此外,在迁移期间,我们希望有 PublicFoldersEnabled = Remote(可防止 AutoD 分配本地 PF 邮箱)可将此层次结构服务于 O365 上的用户。事实上,在这种情况下,AutoD 会将这些用户定向到本地 PF 数据库。然而,在完成期间源被锁定,这意味着这些用户出现故障时间。此规则的唯一例外是手动将本地 PF 邮箱分配给 O365 用户,此过程建议执行该操作时,测试在切换到 PublicFoldersEnabled = Local 前迁移是否成功(步骤 8.1)。

.....

增加可并行运行的作业数

可以运行以下命令来增加批量迁移的默认并发设置:

Set-MigrationEndpoint PublicFolderEndpoint -MaxConcurrentMigrations 88 -MaxConcurrentIncrementalSyncs 88

上面的示例将默认数设置为 88。接下来,输入 Run Start-MigrationBatch 将并行恢复全部 88 个作业。

分析已损坏的项目

已损坏或“无效”项目会阻止成功迁移。

以下是如何查找针对主邮箱的基础迁移用户和相应的 MRS 作业:

$primaryMailboxGuid = (Get-OrganizationConfig $org).RootPublicFolderMailbox.HierarchyMailboxGuid

$primaryMailboxUser = $users | ?{$_.MailboxGuid -eq $primaryMailboxGuid}

$primaryMailboxJob = Get-PublicFolderMailboxMigrationRequest "$org\$($primaryMailboxUser.RequestGuid)"

上述示例将返回有关所讨论的用户或作业的一些信息。可以使用 Get-*Statistics cmdlet 获取更为详细的信息,如以下示例所示:

$primaryMailboxUserStats = $primaryMailboxUser | Get-MigrationUserStatistics -Organization $org

$primaryMailboxUserStats | fl Status,Error

常见问题

MigrationPermanentException错误: 此邮箱超出了为此迁移请求指定的损坏项目数的最大值。

此错误表示公用文件夹已成功启用邮件,但作业失败,因为损坏的项目过多。可以使用来自 MRS 作业的报告或运行 Get-MigrationUserStatistics 来分析损坏的项目。