我的环境里有四台Exchange 2010 服务器,其中两台安装CAS/HUB,并组成NLB阵列,别外两台安装邮箱服务器,组成DAG,它们的补丁都是SP1,现再要将它们都更新到SP2,在更新的过程中出现了一些错误,排错过程颇费了一番周折,下面写出这个升级的全部详细过程,供大家参考
注意各角色升级步骤为:
(1).客户端访问
(2).集线器传输
(3).统一消息
(4).邮箱
(5).边缘
从微软官方下载Exchange SP2补丁,下载地址:
http://download.microsoft.com/download/F/5/F/F5FADCEF-D96B-48C4-ADD9-067FDB1AEDB6/Exchange2010-SP2-x64.exe
在Exchange中可以看到现再的版本为14.1,也就是SP1
1.升级CAS/HUB服务器
首先来升级第一台CAS/HUB服务器cqexcashub01.contoso.net,将SP2补丁解压缩到一个文件夹中
运行setup.exe,开始升级向导
在检查先决条件的时候,出现了一个错误提示,要求我们安装【IIS 6 WMI Compatibility】组件,这个好办
打开服务器管理器,如图在【Web 服务器(IIS)】上添加角色
勾选【IIS 6 WMI 兼容性】
单击【安装】开始安装这个组件
安装完毕后再次进行先决条件的检查,这次顺利通过,单击【升级】
经过一段时间的等待,第一台CAS/HUB服务器就升级成功了
如法炮制升级第二台CAS/HUB服务器cqexcashub02.contoso.net,注意这次先安装【IIS 6 WMI 兼容性】角色
2.升级邮箱服务器
升级邮箱服务器相对于CAS/HUB服务器来说,相对麻烦一点,在升级前首先来验证DAG的运行状态,将下面的代码复制到文本文档中,然后保存为PowerShell脚本文件d:\dag.ps1
(Get-DatabaseAvailabilityGroup -Identity (Get-MailboxServer -Identity $env:computername).DatabaseAvailabilityGroup).Servers |
Test-MapiConnectivity | Sort Database | Format-Table -AutoSize | Format-Table -AutoSize
Get-MailboxDatabase | Sort Name | Get-MailboxDatabaseCopyStatus
function CopyCount
{
$DatabaseList = Get-MailboxDatabase | Sort Name
$DatabaseList | % {
$Results = $_ | Get-MailboxDatabaseCopyStatus
$Good = $Results | where { ($_.Status -eq "Mounted") -or ($_.Status -eq "Healthy") }
$_ | add-member NoteProperty "CopiesTotal" $Results.Count
$_ | add-member NoteProperty "CopiesFailed" ($Results.Count-$Good.Count)
}
$DatabaseList | sort copiesfailed -Descending | ft name,copiesTotal,copiesFailed -AutoSize
}
CopyCount
|
在cqexdag01.contoso.net上的EMS中运行这个脚本,可以看到复制队列此时都为【0】
运行Get-DatabaseAvailabilityGroup cqdag -Status | Format-List PrimaryActiveManager命令查看主活动管理器
运行Get-MailboxDatabaseCopyStatus -Identity db01 | Format-List ActiveDatabaseCopy命令查看活动数据库副本
可以看到它们都在cqexdag01服务器上,现再要将它们都转移到cqexdag02服务器上
先来转移主活动管理器,其实就是转移群集的组
通过Cluster group命令获取到群集组名称
再通过Cluster group "群集组" /move命令转移组
再来转移活动数据库副本,如图在EMC中展开【组织配置】-【邮箱】,在【数据库管理】卡片中,可以看出当前活动数据库副本db01中在cqexdag01上装入,在数据库db01上右键选择【移动活动邮箱数据库】
选择转移的目标服务器为cqexdag02
完成后再来看一下,现再可以看到活动数据库副本db01已经在cqexdag02上装入了
也可以在EMC中通过开始的两个命令来查看,运行命令后看到现再是不是已经都转移到cqexdag02了
阻止cqexdag01为故障转移目标
运行命令Set-MailboxServer -identity cqexdag01 -DatabaseCopyAutoActivationPolicy:Blocked
先期工作做完了,同样将SP2补丁解压缩后开始升级,在先决条件全部通过后,单击【升级】
很不走运,在更新到邮箱服务器一项时报错了,在网上根据错误提示【"UserMailbox 必须强制使用 Database。 属性名称: Database"。】狂搜,搜到一个微软给出的解决方法,就是
删除并重建【FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042】这个联盟邮箱,重新升级还是报同样错误
然后查看安装日志,在最后面找到如下图信息,这里看到一个警告,说是【DiscoverySearchMailbox {D919BA05-46A6-415f-80AD-7E09334BB852}】这个发现搜索邮箱损坏了
于是删除这个邮箱
再次升级就成功了
升级完成后,恢复已升级服务器为故障故障转移目标
运行命令Set-MailboxServer -identity cqexdag01 -DatabaseCopyAutoActivationPolicy:Unrestricted
接下来升级第二台邮箱服务器cqexdag02.contoso.net,升级之前还是先转移主活动管理器和活动数据库副本
阻止cqexdag02为故障转移目标
运行命令Set-MailboxServer -identity cqexdag02 -DatabaseCopyAutoActivationPolicy:Blocked
然后开始升级,升级完成后恢复cqexdag02 为故障转移目标
Set-MailboxServer -identity cqexdag02 -DatabaseCopyAutoActivationPolicy:Unrestricted
最后打开EMC可以看到现再所有Exchange服务器的版本都变更为了14.2,也就是SP2了
由于开始升级的时候删除了发现搜索邮箱,这可能会带来一些问题,这里我要重新创建这个邮箱
运行命令New-Mailbox SearchResults -Discovery �CUserPrincipalNameSearch DiscoverySearchMailbox{D919BA05-46A6-415f-80AD-7E09334BB852}@contoso.net
至此,全部升级工作完成