在正式开始部署 Exchange Server 积累更新之前,首先需要注意:
- 只通过微软官方网站下载积累更新程序,而不要从任何第三方站点进行下载。在部署时只需安装最新版本的 CU,不必依次安装当前版本到最新 CU 之前的所有积累更新。 https://docs.microsoft.com/zh-cn/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019
- 确认已对 Active Directory 进行了备份。
- 确认已经备份了 Exchange 2016/2019 服务器和数据库。
- 确保对自定义设置如:OWA 登录界面、web.config 配置文件、注册表及第三方加载项等配置进行了记录。
升级 Exchange Server 2016 /2019积累更新的架构扩张过程与全新部署 Exchange 2016 时类似,步骤如下:
E:\setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms
E:\setup.exe /PrepareAD /IAcceptExchangeServerLicenseTerms
E:\ setup.exe /PrepareDomain /IAcceptExchangeServerLicenseTerms
安装Exchange 2016/2019累积更新,依次在每台服务器:
对于 Exchange 2016/2019 Mailbox Server 和 Edge Transport Server,无论其是否独立运行或是负载均衡、DAG 成员,都请使用如下步骤安装积累更新。
将 HubTransport 的队列重定向到另一台服务器上,如果你只有一台 Exchange 服务器,可以跳过重定向操作。
Set-ServerComponentState B-EX02 -Component HubTransport -State Draining -Requester Maintenance
Redirect-Message -Server B-EX02 -Target B-EX01.beiou.biz [这里必须是目标服务器FQDN]
服务器B-EX02 版本升级到Exchange 2019 CU9
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;
Get-ExchangeServer | select Name,AdminDisplayVersion
\
1.将EX02上 HubTransport 的队列重定向到另一台服务器EX01,
Set-ServerComponentState B-EX02 -Component HubTransport -State Draining -Requester Maintenance
Redirect-Message -Server B-EX02 -Target B-EX01.beiou.biz
如果服务器是 DAG 成员,请执行如下命令:
Suspend-ClusterNode -Name B-EX02
禁用数据库副本自动激活,将活动数据库复制到其它健康的 DAG 成员:该操作需要等待几分钟生效
Set-MailboxServer B-EX02 -DatabaseCopyActivationDisabledAndMoveNow $true
Get-MailboxServer B-EX02 | Select DatabaseCopyAutoActivationPolicy
记下服务器上的数据库副本自动激活策略,这样你就可以在维护结束后设置回该值。
以上策略尚未设置为「Blocked」,而是Unrestricted 所以要将这个策略设置成:Blocked
Set-MailboxServer B-EX02 -DatabaseCopyAutoActivationPolicy Blocked
检查服务器上所挂载的所有数据库副本,如果仍有活动数据库,请手动将其切换到其它 DAG 成员:
Get-MailboxDatabaseCopyStatus -Server B-EX02 | Where {$_.Status -eq "Mounted"}
2.将服务器置于维护模式:
Set-ServerComponentState B-EX02 -Component ServerWideOffline -State InActive -Requester Maintenance
对于负载均衡池中的 Exchange 2016/2019:
验证负载均衡器的健康状态或将其标记为脱机/无效。
若负载平衡器不能自动执行此操作,请手动标记服务器为脱机/无效。
对于采用 DNS 轮循的 Exchange 2016/19 在更新前请删除其对应的 DNS 记录。
重启 Exchange 服务器,已清除任何需要重启的挂起操作。
Restart-Computer
3.在重启完成后,在 CMD 中执行如下命令开始积累更新的正式安装:
E:\setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms
升级完成,再次查看版本确认:
Get-ExchangeServer | select Name,AdminDisplayVersion
在积累更新安装完成并再次重启服务器,
Restart-Computer
请管理员执行基本的健康检查:
查看 Eventlog 中的错误和警告信息
检查服务器上的 Exchange 相关服务是否已经正常启动
Get-Services
4.在确认无误之后,便可以将更新好的 Exchange Server 2016/19 从维护模式中恢复过来。
将服务器退出维护模式:
Set-ServerComponentState B-EX02 -Component ServerWideOffline -State Active -Requester Maintenance
Resume-ClusterNode -Name B-EX02
Set-MailboxServer B-EX02 -DatabaseCopyAutoActivationPolicy Unrestricted
Get-MailboxServer B-EX02 | Select DatabaseCopyAutoActivationPolicy
Set-MailboxServer B-EX02 -DatabaseCopyActivationDisabledAndMoveNow $false
Set-ServerComponentState B-EX02 -Component HubTransport -State Active -Requester Maintenance
更新后任务
在部署 Exchange Server 2016 积累更新(CU)后还有一些更新后任务需要执行。
重新平衡DAG
在整个 Exchange 组织的更新过程中,DAG 数据库副本可能在各成员之间被多次移动和切换,如果你希望主动数据库副本回到最佳的 DAG 成员(又称再平衡 DAG),可以使用微软提供的脚本:
cd $exscripts
.\RedistributeActiveDatabases.ps1 -DagName EX2016DAG01 -BalanceDbsByActivationPreference
还原自定义设置
之前已经让大家对 OWA 登录界面、web.config 配置文件、注册表及第三方加载项等进行过自定义配置进行了记录,此时大家可以按原来的配置进行还原。
执行服务器健康检查
下面是整个组织的 Exchange 2016 都更新完 CU 之后的一些健康检查建议:
- 检查所有群集节点:可在 DAG 成员之一使用 Get-ClusterNode cmdlet
- 测试服务健康:在所有服务器上使用 Test-ServiceHealth cmdlet
- 测试所有数据库的 MAPI 连接:在所有数据库服务器上会用 Test-MAPIConnectivity cmdlet
- 检查 DAG 数据库副本状态:使用 Get-MailboxDatabaseCopyStatus cmdlet 验证所有数据库副本、复制/重播队列和索引健康
- 测试 DAG 复制状态:在每个 DAG 成员使用 Test-ReplicationHealth cmdlet 验证复制运行状态
- 检查服务器组件状态:使用 Get-ServerComponent 验证没有服务器还处于维护模式