Exchange 2010&2016共存部署案例

现有环境介绍

Site1,Site2 各有一组DAG和NLB,Site1启用2010 Anywhere,Site2 未启用,Site1 站点为客户端访问入口,Site1代理Site2的客户端访问。多站点代理详细介绍详情

准备工作

Exchange 先决条件

在Exchange 2010和Exchange 2016混合部署的场景下,对Exchange 2010服务器的最低要求是要打到最新的SP3 RU11补丁。

Exchange 2016 支持的共存方案:

Exchange 版本 Exchange 组织共存
Exchange 2007 和早期版本 不支持
Exchange 2010 与组织中所有 Exchange 2010 服务器(包括边缘传输服务器)上的 Exchange 2010 SP3 更新汇总 11 或更高版本一起受到支持。
Exchange 2013 与组织中所有 Exchange 2013 服务器(包括边缘传输服务器)上的 Exchange 2013 累积更新 10 或更高版本一起受到支持。
Exchange 2010 和 Exchange 2013 的混合组织 支持以下最低 Exchange 版本:
• 组织中所有 Exchange 2010 服务器(包括边缘传输服务器)上的 Exchange 2010 SP3 更新汇总 11 或更高版本。
• 组织中所有 Exchange 2013 服务器(包括边缘传输服务器)上的 Exchange 2013 累积更新 10 或更高版本。

部署Exchange server 2016之前,我们先看当前环境Exchange 2010的版本号。是否支持部署2016

在Exchange命令行管理程序中,查看服务器版本

Get-ExchangeServer | Select Name,AdminDisplayVersion

然后我们使用下面的命令看一下小版本号

Get-Command ExSetup.exe | ForEach{$_.FileVersionInfo}

Exchange Server 内部版本号对应产品名称详情

根据查询结果可以看出我们的服务器是Exchange Server 2010 SP3 更新汇总 26
如您的当前不是Exchange 2010 SP3 更新汇总 11 或更高版本。

    • 需对你的Exchange进行升级至SP3 官网地址
    • 对于Windows Server 2008 R2,请验证是否已安装Outlook Anywhere的此修补程序。

配置默认脱机通讯簿
在安装Exchange 2016之前,需要验证所有现有邮箱均已分配了默认的脱机通讯簿(OAB)。在安装Exchange 2016时没有默认OAB的邮箱将自动下载Exchange 2016生成的新OAB。如果您有成百上千的邮箱,这可能会导致大量的网络流量和服务器负载。

  • 在Exchange命令行管理程序中,检索脱机通讯簿列表
      Get-OfflineAddressBook
    

  • 查看邮箱数据库和相应的OAB
    Get-MailboxDatabase | Format-Table Name, Server, OfflineAddressBook -Auto 
    

     

  • 在每个单独的邮箱数据库上设置OAB通讯簿
    Set-MailboxDatabase -OfflineAddressBook '\默认脱机通讯簿' -Identity 'MailBD'
    

     

  • 在所有邮箱数据库上设置相同的OAB通讯簿
    Get-MailboxDatabase | Set-MailboxDatabase -OfflineAddressBook '\默认脱机通讯簿'
    

     

  • 设置完成后可以再次验证一下是否设置成功
    Get-MailboxDatabase | Format-Table Name, Server, OfflineAddressBook -Auto

Exchange 2016 支持的客户端 :

    • Office 365 专业增强版
    • Outlook 2019
    • Outlook 2016
    • Outlook 2013
    • Outlook 2010 SP2
    • Outlook 2016 for Mac
    • 适用于 Office 365 的 Outlook for Mac

了解AD系统要求:

Exchange 2016针对AD架构的更改
Exchange 2016 向 Active Directory 域服务架构中添加了新的属性,并对现有的类和属性进行了其他修改。

关于 Active Directory 架构变更的更多信息,请参考 .ldf 文件。.ldf 文件位于 Exchange 安装文件中的 \amd64\Setup\Data\ 目录中。

Exchange 2016 Active Directory 架构更改可参考
Exchange 2016需要的AD访问权限
Microsoft Exchange Server 2016 将所有配置和收件人信息存储在 Active Directory 目录服务数据库中。

如果运行 Exchange 2016 的计算机需要有关收件人的信息以及 Exchange 组织的配置信息,则其必须查询 Active Directory 才能访问所需信息。

具体exchange 2016都在AD的不同分区中存储了哪些信息呢?可以参考

exchange2016是如何访问AD中的信息呢?

Exchange 2016 利用 Active Directory API 来访问存储在 Active Directory 中的信息。此服务将从所有 Active Directory 分区中读取信息。检索到的数据将被缓存并由 Exchange 2016 服务器用于发现组织中所有 Active Directory 服务的 Exchange 站点位置。

Exchange 2016 是一种具有 Active Directory 站点感知功能的应用程序,它会优先与位于 Exchange 服务器所在相同站点中的目录服务器进行通信,以优化网络通信。每个 Exchange 2016 服务器都必须与 Active Directory 进行通信,以检索有关收件人的信息和有关其他 Exchange 2016 服务器的信息。邮箱服务器角色将有关邮箱用户和邮箱存储的配置信息存储在 Active Directory 中。此外,邮箱服务器将信息存储在 Active Directory 中,用于客户端访问协议、传输服务、邮箱数据库、统一消息等。邮箱服务器处理该服务器上活动邮箱的所有活动。

默认情况下,只要 Exchange 2016 服务器启动,它就会绑定到其所属站点中随机选择的域控制器和全局编录服务器。通过使用 Exchange 命令行管理程序中的 Get-ExchangeServer cmdlet 可以查看所选目录服务器。您还可以使用 Set-ExchangeServer cmdlet 来配置 Exchange 2016 服务器应绑定到的域控制器的静态列表或者应被排除的域控制器的列表。
Exchange 2016 Server 其他系统要求:(如网络和目录服务器,硬件,操作系统等),可到此地址查看详情
注意:Active Directory 林的功能级别为 Windows Server 2008 R2 或更高版本。

准备 Active Directory 和 Exchange Server 域

在扩展架构之前先说一下遇到的坑吧,此处不是操作
在准备 Active Directory 和 Exchange Server 域时遇到了一个坑,我在扩展 Active Directory 架构是可以正常使用的。在准备 Active Directory 出现了两个报错
报错1:不能指定 Exchange 组织名称。已存在名为“First Organization”Exchange 组织

当我使用 Setup.exe /PrepareAD /OrganizationName:”Organization” /IAcceptExchangeServerLicenseTerms 出现此提示,因为我的 Exchange 2010 是默认安装的,所以组织名称是First Organization,所以改一下命令
Setup.exe /PrepareAD /OrganizationName:”First Organization” /IAcceptExchangeServerLicenseTerms。如此查看你的组织名称在扩展操作时有介绍

报错2:Active Directory 响应: LDAP 服务器不可用
这个报错我在微软论坛咨询后了解到当架构主机(schema master)不是全局编录(Global Catalog)角色时会触发该报错,可参考

好了遇到的坑说完了,准备 Active Directory 和 Exchange Server 域参考

用于准备 Active Directory 的 Exchange 2016 必备组件
到AD的架构主机中(含全局编录)安装以下软件:

现在将我们下载的 Exchange 2016 安装包拷贝进来,双击打开后,点击文件打开powershell以管理员身份运行

  • 扩展 Active Directory 架构
Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms

  • 准备 Active Directory
Setup.exe /PrepareAD /OrganizationName:"<Organization Name>" /IAcceptExchangeServerLicenseTerms

此处 Organization Name 需要填写Exchange 2010的组织名称。如果不知道组织名称可以使用此命令查看

Get-ExchangeServer | select Name,ExchangeLegacyDN

  • 准备 Active Directory 域
Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms

邮箱服务器安装

其他准备工作:机器加域,固定IP,关防火墙,添加管理员权限,双网卡,此处不详细描述

Exchange 2016 的 Windows Server 2016 必备组件

在 Windows PowerShell 中运行以下命令,安装必需的 Windows 组件:

Install-WindowsFeature NET-Framework-45-Features, Server-Media-Foundation, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation, RSAT-ADDS

按顺序安装以下软件:
a. .NET Framework 4.8 或更高版本


b. Microsoft 知识库文章 KB3206632

备注

如果 Windows Server 2016 版本是 14393.576 或更低版本(大约 2016 年 12 月),则只能安装此更新。 可以通过运行 winver 命令来查看 Windows Server 版本。 如果 Windows Server 2016 版本高于14393.576,则不需要此更新或在其一周后发布的替换项 KB3213522。Exchange 2016 安装程序将查找此更新的安装,如果缺少此更新,将不允许继续安装,如果需要,则会明确地通知你。

c. Visual C++ Redistributable Package for Visual Studio 2012

备注

• 有关最新支持版本的概述,请参阅:Visual C++ 可再发行版。
• 仅邮箱角色需要 Visual C++ Redistributable Packages for Visual Studio 2013。 其他 Exchange 安装(管理工具和 Edge Transport)仅需要 Visual C++ Redistributable Packages for Visual Studio 2012。

e. Microsoft 统一通信托管 API 4.0 核心运行时(64 位)

边缘传输服务器角色要求(可选,本次不部署)

在 Windows PowerShell 中运行以下命令,安装必需的 Windows 组件:

Install-WindowsFeature ADLDS

按顺序安装以下软件:

.NET Framework 4.8 或更高版本

b.Visual C++ Redistributable Package for Visual Studio 2012

开始安装Exchange 2016

将文件拷贝至邮箱服务器,双击打开后,点击Steup进行安装

跳过检测更新

接受许可

不使用推荐设置

选择邮箱角色

安装目录请根据实际情况填写

跳过恶意软件扫描

下面在检测先将条件

先决条件检测通过

进行确认安装

验证是否安装成功

    1. 查看安装是否成功,打开Exchange Management Shell,运行Get-ExchangeServer
Get-ExchangeServer |select name,AdminDisplayVersion

已经可以看到有一台2016服务器了

2.也可查看安装日志  C:\ExchangeSetupLogs\ExchangeSetup.log.

Site2站点部署

安装步骤如上邮箱服务器安装

配置Exchange 2016

浏览器访问 Exchange 2016的owa地址 使用exchange 的管理账号登录owa

登录进来后发现代理到2010的页面,我们只需要在url加上/ecp/?ExchClientVer=15(如:https://contoso.com/ecp/?ExchClientVer=15)

已经进入到2016 管理控制台(EAC),开始配置操作的

激活Exchange 服务器

服务器–>服务器–>选择新增的服务器双击—>常规—>输入产品密钥

或者使用命令

Set-ExchangeServer Ex2016Server -ProductKey XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

激活Exchange后需要重启信息存储服务

导入证书

因原2010是有证书的,我直接从2010服务器导入证书,然后导入到2016服务器就行了 在2010控制台中导出证书

在Exchange 2016中导入证书

输入证书放置的路径和导出时输入的密码

选择一下服务器

分配一下服务

POP IMAP 配置

此配置可以对照原2010进行配置,我的环境2010 POP是基本身份验证,IMAP也对照更改一下就行了

虚拟目录配置

外部url统一更改为 https://mail.contoso.com/owa 内部的URL我还是保持的默认FQDND

更改一下OWA的身份验证。仅用户名

因为我的其他虚拟目录的外部URL是统一的,我直接在使用配置外部访问域这个功能,批量更改掉

外部访问域配置完成,检查其他虚拟目录的外部url是否更改成功

配置 Outlook Anywhere

我的环境是使用了Outlook Anywhere,所以需要设置一下,允许Exchange 2016服务器代理与Exchange 2010服务器的连接,如果你的10环境没有启用此功能,可以跳过此步骤

    • Outlook Anywhere外部URL设置为Exchange 2016服务器的外部主机名。
    • 客户端身份验证设置为,用于允许Outlook 2016等客户端通过Exchange进行身份验证Basic。
    • Internet信息服务(IIS)身份验证(允许Exchange服务器进行通信)设置为NTLM和Basic。exchange 2016的初步配置已经完成,我们现在可以尝试来测试一下,共存是否正常

Outlook Anywhere外部URL设置为Exchange 2016服务器的外部主机名: 这个是官方给的说明,写的比较难懂,其实就是Outlook Anywhere外部URL设置为统一的。2010环境中URL是mail.contoso.com 在2016上也配置相同的就可以了,可以看到我们的身份验证是Basic,所以不需要更改。
因为我们Site2站点中没有之前没有启用Anywhere,现在也需要开启一下。配置相同

更改一下 IIS身份验证

Set-OutlookAnywhere "FQDN\RPC (Default Web Site)" -IISAuthenticationMethods NTLM,Basic

配置SCP

10环境中 AutoDiscoverServiceInternalUri URL 是使用的默认的计算机名的FQDN,在共存环境中需要更改为统一的地址 ,将2010和2016的AutoDiscoverServiceInternalUri 的地址统一更改为https://autodiscover.contoso.com/Autodiscover/Autodiscover.xml
如果不设置会导致加域电脑配置Outlook 时弹密码框问题现象

Set-ClientAccessServer -AutoDiscoverServiceInternalUri https://autodiscover.contoso.com/Autodiscover/Autodiscover.xml

OWA Http重定向到Https

打开IIS管理器,选择Default Web Site –>选择HTTP重定向—>重定向到/OWA目录

选择Default Web Site –>选择SSl设置—>取消勾选

选择OWA目录 –>选择HTTP重定向—>取消勾选

Default Web Site 设置会改变下面的所有项目,所有还需要对其他项目取消重定向和勾选部分SSL设置。对ECP,PowerShell 等取消重定向

开始测试

聊一聊最开始的测试想法吧。因为我们真实环境中用户量比较大,一开始是想不改变客户端访问,准备2010是客户端入口。
在实际测试后发现因为低版本无法代理高版本部分功能无法使用,后来将2016作为客户端访问入口开始测试
修改本机的host文件,将mail.contoso.com&autodiscover.contoso.com 指向到2016的服务器IP
测试账号在2010和2016数据库的用户,在连接到2016服务器时,客户端访问有没有问题.
OWA测试是无问题的 2010的用户可以直接从2016代理到2010
POP模式测试的时候出现报错 无论账号在2010数据库还是2016数据库,都无法配置成功。
排查后发现事件日志上有报错

查看后发现接受连接器 Default Frontend xxxxxx 未勾选Exchange 用户,勾选一下就可以了

 

Exchange模式已经配置好的测试是可以正常使用的

Exchange模式加域电脑自动配置弹框问题

上面已经说过了,不更改SCP会导致弹框,下面说说具体故障现象

客户端访问在2010时,加域电脑配置Outlook 时,默认直接会填写邮箱地址直接配置就可以了,不会弹框要输入账号密码,但是将客户端访问地址指向2016时,在测试过程中,会出现弹框问题。需要重新输入密码,当时排查了很久,也没有看到别人有类似现象。 问题详细现象

原因:我们2010&2016环境中 AutoDiscoverServiceInternalUri URL 是使用的默认的计算机名的FQDN,在共存环境中需要更改为统一的地址 ,将2010和2016的AutoDiscoverServiceInternalUri 的地址统一更改为https://autodiscover.contoso.com/Autodiscover/Autodiscover.xml

Set-ClientAccessServer -AutoDiscoverServiceInternalUri https://autodiscover.contoso.com/Autodiscover/Autodiscover.xml

更改完成后,测试弹框现象消失。

继续添加服务器

整体测试下来。新加的Exchange 2016服务器整体已经配置完成了,现在在Site1和Site2处,添加新Exchange 2016 服务器
安装过程和上面一样的,Site1站点中添加的2016服务器配置如上,因为整体的客户端访问是走Site1站点中的2016服务器,所以Site2 站点中新增的Exchange 2016服务器,未做任何修改。

数据库高可用

现在Site1和Site2站点中都各自部署两台服务器,在Site1中做一下数据库的高可用吧
首先在配置DGA之前我们需要确保DAG成员服务器上磁盘的盘符都是一样的,大小建议最好也相同。
其次我们需要确保有一块网卡用于数据复制使用(PS:单块网卡也可以,单块网卡的话数据复制和访问都走着一块网卡)
复制网络配置,配置完成后确认一下复制网络是否正常通信

见证服务器我在放在一台DC上的,到DC上将Exchange Trusted Subsystem 添加到Administrators组中,已确保见证服务器的基础功能的访问权限,此处不为DAG分配IP

添加成员服务器

勾选手动配置数据库可用性组网络

将生产网络网卡禁止数据复制

Site2操作同上

升级其他问题

  • Outlook 2010&2013 anywhere 配置问题
    在升级测试过程中测试Outlook2010&2013测试配置2016时出现了一些问题。卡了很久,来说说这些问题吧
    此处截图以Outlook2013为例,mail.mydomail.com是我2016 VIP的地址,我使用以下方法配置。账号在2010or2016数据库都无法配置
    在服务器地址处我填写 mail.mydomail.com 是无法配置的。当时就有点懵了,因为在2010环境时,服务器地址我填写2010的NLB地址,检测完姓名后回自动变成RpcClientAccessServer。是可以正常配置的。但是在解析切换到2016就不行(公网内网都一样)

使用微软分析工具发现是RPC服务器不通。那来排查吧,因为内网和公网现象是一样的,我就在内网测试排查了
列一下当时怀疑的是那些问题导致的。

    1. LVS负载问题导致的。
    2. 服务端配置问题
    3. 服务器地址会自动变成RpcClientAccessServer地址。2016是没有站点概念的,感觉可能会是这个问题导致的

一开始我怀疑是我LVS负载有问题。那先填写单台机器配置吧,发现是可以正常配置的。那初步判断是负载问题导致的。然后去排查了一圈,没有发现任何问题。这感觉就有点奇葩了,我直连服务器是可以的,连负载就是不行,认定是负载配置有没有。然后继续查负载,还是没有发现任何问题。那我不用负载,直接DNS解析个域名到2016服务器地址 mail.mydomail.com 解析到单台2016服务器地址。来继续测试。发现也不行,直连服务器FQDN可以,加个DNS直连服务器不行?什么逻辑?难道是服务端配置有问题,这就卡懵了。感谢服务端也没有问题。没办法了。那看看服务端有没有问题吧,看下RpcClientAccessServer这个吧

Get-MailboxDatabase | select name,rpcclientaccessserver

发现我新建的2016数据库上的RpcClientAccessServer 全部是2010的CAS ARRAY地址,感觉有点不对啊,来把这个RpcClientAccessServer 设置删了,找了一圈命令,发现没办法用,2016已经不支持了,又被坑这了。在想办法,然后发现可以通过改ADSI,删除此地址。打开ADSIEdit->Configuration -> Services -> Microsoft Exchange -> Org Name -> Adminstrative group -> Exchange Administrative Group -> Databases
找到我们新建的数据库,右击“属性”,找到legacyExchangeDN属性值并进行修改。将cn=xxxx.xxx.cn替换成cn=“Exchange的计算机名”。

修改好之后发现确实改掉了。变成Exchange的计算机名了,在来测试一下能不能用吧。测试下来,发现还是不行。继续去查文档吧,发现RpcClientAccessServer参数在Exchange 2016不会起作用,所以不会影响用户正常访问邮箱。 参考文档

最近找下来发现是Exchange 2013后就必须填写GUID,但是在我测试下来。服务器处可以填写单台机器的FQDN,代理服务器设置填写VIP地址是可以正常使用的。下面是微软给出的回复
首先,Exchange 2016和Exchange 2010的架构是不同的,在Exchange 2010中,手动配置邮箱的时候,在Server中我们可以填写CAS Array的地址;但是从Exchange 2013开始,手动配置邮箱的时候,我们是必须要填写用户邮箱的ExchangeGuid进行配置的。
微软没有针对Exchange 2016发布在Outlook客户端手动配置邮箱的文档,但是由于Exchange 2016和Office 365机制类似,可以参考针对Office 365配置的文档:参考文档
  • 2016 控制台(EAC)新建账号无法选择OU问题

解决方案:参考文档
确定Exchange Server邮箱服务器上的OU数

(Get-OrganizationalUnit ResultSize unlimited).count

在Exchange Server邮箱服务器上,找到以下文件夹
xx:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\ecp
在web.config文件中添加以下行

<!-- allows the OU picker when placing a new mailbox in its designated organizational unit to retrieve all OUs - default value is 500 -->
<add key="GetListDefaultResultSize" value="500" /> 

客户端访问高可用

Dag 使用 Microsoft 群集服务。 无法与Windows 网络负载平衡(NLB)所在的同一台服务器上启用这些服务。 因此,使用 Dag 时,Windows NLB 是无法使用的。 在这种情况下,只能使用第第三方软件和虚拟设备解决方案。官网介绍从官网介绍中可以发现DAG和NLB在同一台服务器上部署,所以客户端访问的高可用只能找寻其他解决方案。在网上查了部分资料,有使用DAG的VIP做负载地址的,有使用DAG+NLB做负载的此处我也测试过,可能在测试环境,没有发现什么问题,但是咨询过微软,不推荐使用此类方法,可能会导致部分不可预估问题。所以就放弃此类方案了。 负载有几种实现方案

  1. 硬件负载均衡,如:F5\A10\Array等
  2. DNS轮询方式 最简单的解决方案使用DNS就行负载,但是没有故障转移功能,所以暂时不考虑此方案。硬件负载均衡此处也不做考虑了。 网上查了查,有使用LVS做负载方案的,搭建方法此处就不做描述了。看下我们需要在LVS中添加那些端口吧. 官网介绍 下图是官网给出的客户端和服务所需要的端口,在LVS中添加以下端口后,还需要将25端口加入

迁移账号

可以在此处移动用户,也可以使用csv进行迁移
使用csv进行迁移如下例子:
EmailAddress
Ian@contoso.com
John@contoso.com
Cindy@contoso.com

在迁移账号过程中我遇到了以下几个报错

    • Unable to open message store. ‎(hr=0x8004011c, ec=-2147221220)‎
    • 详细报错如下
      错误: MigrationTransientException: MapiExceptionUnconfigured: Unable to open message store. ‎(hr=0x8004011c, ec=-2147221220)‎ Diagnostic context: Lid: 55847 EMSMDBPOOL.EcPoolSessionDoRpc called [length=132] Lid: 43559 EMSMDBPOOL.EcPoolSessionDoRpc returned [ec=0x0][length=328][latency=2] Lid: 52176 ClientVersion: 15.1.1779.2 Lid: 50032 ServerVersion: 14.3.442.0 Lid: 35180 Lid: 23226 — ROP Parse Start — Lid: 27962 ROP: ropLogon [254] Lid: 17082 ROP Error: 0x8004011C Lid: 26937 Lid: 21921 StoreEc: 0x8004011C Lid: 27962 ROP: ropExtendedError [250] Lid: 1494 —- Remote Context Beg —- Lid: 26426 ROP: ropLogon [254] Lid: 22086 Lid: 25876 Lid: 7588 StoreEc: 0x8004010F Lid: 25840 Lid: 6564 StoreEc: 0x8004010F Lid: 22086 Lid: 18684 Lid: 2199 StoreEc: 0x478 Lid: 56415 Lid: 48223 StoreEc: 0x478 Lid: 22957 Error: 0x0 Lid: 19693 Error: 0x0 Lid: 17917 Error: 0x0 Lid: 16893 Error: 0x0 Lid: 28877 Error: 0x0 Lid: 17597 Error: 0x0 Lid: 25805 Error: 0x0 Lid: 15848 StoreEc: 0x8004010F Lid: 8424
      解决方案 参考文档
Set-Mailbox -Identity user -Database db01 -ArchiveDatabase db01
  • Unable to query table rows. ‎(hr=0x80040117, ec=-2147221225)‎
  • 详细报错如下
    错误: MigrationMRSPermanentException: 错误: 无法查询表中的行。 –> MapiExceptionTooComplex: Unable to query table rows. ‎(hr=0x80040117, ec=-2147221225)‎ Diagnostic context: …… Lid: 27962 ROP: ropQueryRows [21] Lid: 17082 ROP Error: 0x80040117 Lid: 17153 Lid: 21921 StoreEc: 0x80040117 Lid: 27962 ROP: ropExtendedError [250] Lid: 1494 —- Remote Context Beg —- Lid: 37736 dwParam: 0x300B0102 Lid: 55288 StoreEc: 0x80040117 Lid: 63016 dwParam: 0x14 Lid: 39640 StoreEc: 0x80040117 Lid: 45434 Guid: 0ef4feeb-81cc-4ec5-a8df-040fb5387466 Lid: 10786 dwParam: 0x0 Msg: 15.01.1779.002:bj-cas03:ae686528-84c6-4204-8228-167a139f2808 Lid: 60464 dwParam: 0x80040117 Lid: 45434 Guid: 0ef4feeb-81cc-4ec5-a8df-040fb5387466 Lid: 10786 dwParam: 0x0 Msg: 15.01.1779.002:bj-cas03:ae686528-84c6-4204-8228-167a139f2808 Lid: 1750 —- Remote Context End —- Lid: 31418 — ROP Parse Done — Lid: 22753 Lid: 21817 ROP Failure: 0x80040117 Lid: 28414 Lid: 32510 StoreEc: 0x80040117
    这个报错是文件夹有限制,我们跳过文件夹限制就可以了 参考文档
    解决方案
New-MoveRequest -Identity alias -TargetDatabase DB01 -SkipMoving FolderRestrictions

总结

Exchange 2010&2016的过程部署就已经完成了,部署完成后已经可以小规模迁移账号,看下客户端是否有问题。 本次对于邮件流,接受连接器,发送连接器没有做过多描述。因为现在的环境可以直接使用2010的发送连接器,其他策略也是可以同步2010的,所以不详细描述。在本文章粗略描述了一下客户端访问的负载(LVS),OWA公网的二次验证也没有做描述。这些后面会重新整理一波,讲一下公网OWA的二次验证和数据监控。