文章内容只是记录了公司的邮件升级的过程,写的不是很规范,就当做是一个参考,望见谅。。。

在这个安装过程中我们遇到了一些问题,事后感觉问题很好解决,但是在没有找到解决方法之前却花费了好多的时间,导致整个进程比较缓慢,因为之前在虚拟机里面操作虽然和真实环境的机器名称及ip地址、域名都一样,但是却是全新的安装,而且也没有模拟出来生产环境中的大数据,接下来我们就回顾一下安装前准备、操作过程以及过程中遇到的问题及解决方法。

 

 

 

安装前的环境,我们的现实环境是一台DC(DC1),一台Exchange2003sp2,系统都是windows server2003 sp2,所以我们在实验环境里面搭建了一模一样的,搭建过程如下:

1.先在真实环境中,安装一台辅助DC,安装dns,然后创建主要区域,AD信息和DNS信息复制完成之后将这台辅助DC从真实环境中脱离出来,放到另外一个私有的环境(与公司生产环境和外网相隔离)然后通过抢占操作主机的方式将这台原本是辅助DC升级为主DC,然后安装window support tools (adsiedit.exe)工具,删除老的exchange信息,具体路径是,CN=Configuration,DC=Domain_  Name,DC=com

CN=Services

CN=Microsoft Exchange

CN=hangxun(这里代表我们安装exchange组织名称的占位符)

在CN=hangxun这项上面右键删除

 

2.删除完毕之后就可以在域环境中安装和真实环境同名的exchangeserver2003服务器exchange2003安装前准备

ASP.NET(Windows 2003)

Internet信息服务(IIS)

WWW服务

Smtp服务

nntp服务

安装windows支持工具”X:\SUPPORT\TOOLS\SUPPORTS.MSI”

安装exchange完成后,并打exchange 2003sp2补丁(过程略)

2>安装好exchange03之后,默认是有一个公用文件夹存储和一个邮箱存储的,我们在创建两个邮箱存储一个infowarelab,一个cybernaut,存储的文件名称分别是priv2.edb和priv3.edb,然后将真实环境中的右键数据备份拷贝到虚拟环境做还原,第一次我们还原之后对数据进行修复,但是数据库无法装载,后来看事件查看器里面的错误,是说路径不一致问题,通过查找原因找到真实环境和实验环境有一个地方命名不一样,一个为英文一个是中文,我们通过adsiedti工具将其改为英文之后再作还原,数据修复后成功装载,修改的地方和修改的方法如图所示

这里实验环境安装好之后本来是中文的“第一个存储组”要改为英文的“first administrative group”

 

使用adsiedit工具进行修改,标记的地方改为英文之后,刷新一下exchange系统管理器,ok

  

上面的操作完成之后就可以成功装载数据库,但是我们还发现了另外一个问题,装载好之后cybernaut和infowarelab上面存储的用户数据库的存储路径都指到了默认的数据库exchange上面了,后来也用工具(ADModify2.1)进行了批量修改,但是会有问题,为了保险起见还是手工修改数据库路径为好,虽然慢但是安全,手工修改时还是利用adsiedit工具进行修改,如图所示

 

所有的错误的存储路径修改完成之后,邮箱就可以正常的访问了,下面我们来安装exchange2010,在安装之前先把预控升级为08r2

 

3.在现有域中安装08r2辅助DC,安装完毕之后升级为主DC,操作步骤如下

1>ntbackup备份2003DC的活动目录信息,以防不测(过程略);

2>升级2003DCschema林架构,adpre32.exe /forestprep

把windows server 2008 r2光盘放入到windows server2003域控制器光驱中,进入到D:\support\adprep运行命令adprep32.exe /forestprep,显示E文的大概意思就是:

adperp 警告

在运行adprep之前,林中所有的windows 2000 Active Directory 域控制器都应升级到windows 2000 Service Pack 4 或更高版本。

[用户操作]

如果所有的现有Windows 2000 Active Directory域控制器均满足此要求,则键入C,后按Enter继续。否则,键入任何其他键并按Enter推出,键入C并回车

  

升级林架构完成

3>升级2003DCschema域架构,adpre32.exe /domainprep(要将域升级为03模式,exchange为村模式)

 

4>更新组策略对象权限,adpre32.exe /domainprep /gpprep

 

5>更新AD对PODC只读域控制器的支持,adpre32.exe /rodcprep

 

6>把2008r2升级为辅助DC

先将08r2DC加入到域, windows Server 2008 R2使用一个基于角色的模型。所以,要使一个Windows 2008 服务器成为一个域控制器,需要先添加Active Directory Domain Services角色。打开【服务器管理器】,选择【角色】节点,点击【添加角色】,

选中【Active Directory域服务】,在弹出的向导中,点击【添加必需的功能】,添加.NET Framwork 3.5.1功能,完成。

在运行dcpromo命令,安装活动目录,安装hangxun域的额外域控制器。

 

 

 

 

 

7>把fsmo五种操作主机转移给08r2DC

登录到08R2DC,将五种操作主机转移到它,不能忘记将DC1的全局编录角色去掉

先转移架构主机,打开“开始菜单”“运行”输入regsvr32 schmmgmt.dll并回车

 

注册成功

 

在“开始----运行”里面输入“mmc”打开微软管理控制台“文件---添加或删除管理单元”,找到“Active Directory架构”并添加到管理控制台

 

右键“Active Directory架构----操作主机”

 

再出现的对话框中可以看到当前dc1为架构主机,选择更改

 

在弹出的对话框中选择“是”

 

转移操作主机成功,dc2已是当前的架构主机

 

转移域命名主机

右键AD域和信任关系----操作主机

 

 

域命名主机转移完成

 

接下来是转移RID主机、PDC主机和基础结构主机

 

点击更改

转移完成

 

同样的方式,来转移PDC主机和基础结构主机

 

 

五种操作主机已经转移完毕,这是在DC1是活动状态,如果承担五种操作主机的DC1和DC2失去了通信,那么就要在DC2上面在命令提示符下,利用抢占来使DC2获得五种操作主机角色了

然后还要让DC2成为全局编录服务器,去掉DC1的全局编录服务器角色

 

  

将08r2DC(DC02)的首选dns服务器指向自己,下面域中的机器的dns都指向DC02,做完DC02的升级之后我们将DC1降级为普通的域成员服务器,只保留DC02.

4. 在DC02上面setup /xx命令进行权限、架构等setup /pl(若是全新安装不需要输入此条命令)、setup /ps setup /p setup /pad setup/pd,做完之后再在info.com域控上运行 setup /pd,如果提示如下错误(ps、p、pad、pd)

 

那就需要将ex03的模式改一下,默认是混合模式

 

5. 安装cas1(和cas2),系统安装略,加入域

1>安装必备组建

在cashub1上安装exchange2010sp1客户端访问服务器和集线器传输角色。

安装前的角色及功能准备,Exchange2010服务器安装时需要有相应的操作系统组件支持,这些操作系统组件在2008 R2中就是角色和功能。

安装Exchange2010所需的组件最好使用Powershell,只需几条语句就可以轻松搞定。

打开提升的命令提示符,导航到 Exchange 2010 安装媒体上的 Scripts 文件夹,并使用以下命令安装必需的操作系统组件:

安装不同的Exchange2010角色需要不同的Powershell语句,安装CAS角色和hub角色

Sc config NetTcpPortSharing start= auto

ServerManagerCmd –ip Exchange- Typical.xml –Restart

在powreshell里面,切换到安装文件所在的目录,输入命令Import-Module ServerManager,再输入以下命令

Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy,nlb -Restart

2>安装FilterPack64bit过滤包

3>开始安装

 

 

 

 

 

 

 

 

 

 

Cas1安装完成,打开管理控制台出现如下错误,解放方法

 

把域管理员添加到林根域的如下组里面

 

Cas1和cas2安装完毕,安装好配置

1>启用winrm winrm quickconfig

 

2>防火墙,在高级防火墙中,启用“ 在高级防火墙中,启用“ 在高级防火墙中,启用“ WindowsWindows 远程管理 —兼容模式( 兼容模式( HTTP HTTP-In )”规则,允 )”规则,允 )”规则,允 )”规则,允 许 Winrm

3>powershell访问目录权限,启用windows身份验证,禁用匿名身份验证。

6.接下来配置cashub的NLB群集(过程略)

 

NLB群集做好之后,在DNS里面做域名和IP的解析,然后创建CAS阵列

 

 

[PS] C:\Windows\system32>New-ClientAccessArray -fqdn mail.hangxun.com.cn -name CASarray.hangxun.com.cn -site Default-First-Site-Name

 

Name                Site                 Fqdn                           Members

----                ----                 ----                           -------

CASarray.hangxun... Default-First-Sit... mail.hangxun.com.cn            {CAS1, CAS2}

内部的outlook配置不改变要将mail.hangxun.com.cn改为exchange.hangxun.com.cn

 

通过https://mail.hangxun.com.cn/owa可以访问我们的cas服务器,但是在访问的过程中,服务器会根据自己判断来将你的请求指定到cas1还是cas2的,并不一定你第一台服务器访问casarray会指向第一台,在有第二个机器访问就会一定指向第二台cas

 

7. 安装mailboxserver,mail1和mail2

必备组件

Import-Module ServerManager

Add-WindowsFeature

NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Desktop-Experience -Restart

安装FilterPack64bit过滤包

 

完成安装

8.配置DAG,cas2做的见证服务器,配置命令如下

 

[PS] C:\Windows\system32>New-DatabaseAvailabilityGroup -Name DAG1 -WitnessServer cas2 -WitnessDirectory d:\dag1 -DatabaseAvailabilityGroupIpAddresses 192.168.0.39

 

Name             Member Servers                                      Operational Servers

----             --------------                                      -------------------

DAG1             {}

 

 

 

 

 

注意,在配置的时候,共享文件夹高级共享里面添加cas2本地管理员的权限,要不共享文件夹会消失

分别为各个数据库添加邮箱数据库副本,操作截图如下

 

9.在DC上面安装证书服务并分别为exchange服务器各个角色颁发证书

服务器管理器—角色—AD证书服务

 

选取组件

 

颁发证书参见链接http://shubao.blog.51cto.com/401818/788562  http://yejunsheng.blog.51cto.com/793131/353026  

10.找个别用户测试一下,配置outlook客户端,pop模式没问题,就是在配置exchange模式的时候用户名、密码总是通不过,后来在outlook客户端改一个地方就好了,修改地方为

 

11.邮件迁移,从03迁移到10上面,从03迁移到10的哪个数据库上面,就要登陆到这个数据库所在的服务器上面进行操作,这样成功会更大

 

 

 

这里选择第二项,数值填写50,要不会出现数据库迁移失败

 

完成迁移,迁移的状态可以到控制台里面去查看

 

注释,在进行Exchange Server用户邮箱移动的时候,默认每个客户端访问角色并发数2个。而我们在进行大规模用户迁移的时候,比如升级Exchange服务器,2个并发数往往是不够的。下面我们可以通过修改邮箱复制的配置文件来实现增加并发数的目的。

 

用管理权限打开\Program Files\Microsoft\Exchange Server\V14\Bin中的MSExchangeMailboxReplication.exe.config 这个文件

 

 

 

保存并重启Exchange服务

 

然后在进行迁移就能同时迁移多个,不过这个也要看服务器性能,迁移过程特别对磁盘的读写要求很高。

……

12.邮件数据迁移完毕之后还有做一些别的操作,

1.升级默认地址簿及地址策略

由于2003 的地址策略及地址簿的 语法使用的是LDAP筛选,而Exchange 2010 中使用的Opath筛选,为了能够在EX2010实现编辑的功能,我们必须升级到EX2010:

2.基于相应的需求,我们必须对相应的地址列表升级,因此我们执行以下命令对默认地址列表升级:

升级全部用户

Set-AddressList "All Users" -IncludedRecipients MailboxUsers

 

升级所有组的默认地址列表。

Set-AddressList "All Groups" -IncludedRecipients MailGroups

 

升级所有联系人的默认地址列表。

Set-AddressList "All Contacts" -IncludedRecipients MailContacts

 

升级公用文件夹的默认地址列表。

Set-AddressList "Public Folders" -RecipientFilter { RecipientType -eq 'PublicFolder' }

 

升级默认全局地址列表。

Set-GlobalAddressList "Default Global Address List" -RecipientFilter {(Alias -ne $null -and (ObjectClass -eq 'user' -or ObjectClass -eq 'contact' -or ObjectClass -eq 'msExchSystemMailbox' -or ObjectClass -eq 'msExchDynamicDistributionList' -or ObjectClass -eq 'group' -or ObjectClass -eq 'publicFolder'))}

 

3.升级完成后,我们可以发现可以进行编辑了,升级生效了

 

4.接下来我们升级默认的地址策略,我们对比下升级前后:

 

[PS] C:\Windows\system32>set-EmailAddressPolicy "Default Policy" -IncludedRecipients allrecipients

 

确认

要保存对象"Default Policy"的更改,必须将此对象升级到当前版本的 Exchange。完成升级后,将无法通过此前版本的 Exchange

管理工具来管理此对象。您要继续升级并保存此对象吗?

[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [?] 帮助 (默认值为“Y”): a

[PS] C:\Windows\system32>set-EmailAddressPolicy "cybernaut" -IncludedRecipients allrecipients

 

确认

要保存对象"cybernaut"的更改,必须将此对象升级到当前版本的 Exchange。完成升级后,将无法通过此前版本的 Exchange

管理工具来管理此对象。您要继续升级并保存此对象吗?

[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [?] 帮助 (默认值为“Y”): a

[PS] C:\Windows\system32>set-EmailAddressPolicy "zii-china" -IncludedRecipients allrecipients

 

确认

要保存对象"zii-china"的更改,必须将此对象升级到当前版本的 Exchange。完成升级后,将无法通过此前版本的 Exchange

管理工具来管理此对象。您要继续升级并保存此对象吗?

[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [?] 帮助 (默认值为“Y”): a

[PS] C:\Windows\system32>set-EmailAddressPolicy "cybernautvc.com" -IncludedRecipients allrecipients

 

确认

要保存对象"cybernautvc.com"的更改,必须将此对象升级到当前版本的 Exchange。完成升级后,将无法通过此前版本的 Exchange

管理工具来管理此对象。您要继续升级并保存此对象吗?

[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [?] 帮助 (默认值为“Y”): a

[PS] C:\Windows\system32>set-EmailAddressPolicy "meineke.com.cn" -IncludedRecipients allrecipients

 

确认

要保存对象"meineke.com.cn"的更改,必须将此对象升级到当前版本的 Exchange。完成升级后,将无法通过此前版本的 Exchange

管理工具来管理此对象。您要继续升级并保存此对象吗?

[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [?] 帮助 (默认值为“Y”): a

[PS] C:\Windows\system32>set-EmailAddressPolicy "chinawebedu.com" -IncludedRecipients allrecipients

 

确认

要保存对象"chinawebedu.com"的更改,必须将此对象升级到当前版本的 Exchange。完成升级后,将无法通过此前版本的 Exchange

管理工具来管理此对象。您要继续升级并保存此对象吗?

[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [?] 帮助 (默认值为“Y”): a

[PS] C:\Windows\system32>

5.升级完成后,可以进行编辑:

 

5. 迁移脱机地址簿

由于脱机地址簿是在2003的邮件服务器,EX2003只能通过脱机地址簿发布,为了保证脱机地址簿能够支持2010 的http 发布方式,我们必须对OAB升级来支持。我们在Exchange 2010点开组织配置-邮箱-脱机地址簿,在脱机地址簿点击移动,我们把他从EX03升级到Exchange 2010:

 

提示正在移动过程中:

 

我们必须修改Exchange OAB的发布机制,包括公用文件夹、http发布:

 

 

我们需要在新的服务器中查看相关的脱机地址簿是否已经生成,这个在MAILBOX角色中的ExchOab 目录下:

 

我们必须将脱机地址簿复制到CAS服务器中,我们登陆EX2010服务器,点开Powershell 命令行,执行如下命令

 

执行完毕后我们查看exchange 安装目录下,Client access 目录下得oab 目录存在相关的OAB文件

 

 

到此为止,升级和迁移OAB的脱机地址簿整个过程结束,必须要注意的是我们迁移必须在Exchange 2010 执行。