Exchange Server灾难恢复的真实记录(2)

12/3/2006来源:Exchange Server人气:5926

[3] 使用一致性调整程序

Exchange 2000 中,Mbconn.exe 实用工具提供了相同的功能。有关更多信息,请参阅“Mailbox Reconnect Help”(邮箱重新连接帮助)文件 (Mbconn.chm),该文件位于驱动器>\ExchSrvr\Server\Support\Utils\i386 文件夹中。您可以与 /G 开关一起使用 Eseutil 来验证信息存储的完整性。

[4] 使用Exchange 2000目录服务完整性检查程序(E2kdsinteg)

E2kdsinteg 实用工具最初包括在Exchange 2000 SP2中。在安装并运行 Exchange 2000Exchange 2000 Active Directory连接器(ADC)后,此实用工具将报告Active Directory的运行状态。E2kdsinteg实用工具以文本文件的格式生成简单的报告,该报告记录异常或可疑的对象。E2kdsinteg不会更改Active Directory 中的任何对象。根据Active Directory中支持邮件的对象和配置对象的数量,处理支持邮件的对象可能需要相当长的时间。

我们的例子中,由于Active Directory中的Exchange Server信息没有损坏,所以略过这一步。

3、修复IISOWA

[1] 修复DCOM错误

用户的要求总是千奇百怪的。幸运的是Exchange Server给我们提供了多种多样的邮件访问方式。

我们可以使用Exchange客户端,也可以使用Office里面的Outlook通过RPC连接来收发邮件;可以使用诸如Outlook ExPRess之类的邮件客户端通过POP3/SMTP/IMAP协议收发邮件;还可以干脆就使用任何支持SSLWeb客户端比如Internet Explorer通过OWA来收发邮件。

在这个例子里,我们应用了OWA来为不能使用Outlook客户端或者POP3/SMTP客户端的客户服务。我们重新安装了OWA,但是它不能正常工作:根本就不能打开任何非静态的页面。经查,每次我们要求访问需要执行脚本的目录,就会在系统日志中留下如下日志:

Event ID: 10004

Source: DCOM

DCOM got error "Logon failure: unknown user name or bad passWord. " and was unable to logon .\IWAM_MYSERVER in order to run the server:{3D14228D-FBE1-11D0-995D-00C04FD919C1}

Event ID: 36

Source: W3SVC

The server failed to load application '/LM/W3SVC/1/Root/Conferencing'. The error was 'The server process could not be started because the configured identity is incorrect. Check the username and password'.

For additional information specific to this message please visit the Microsoft Online Support site located at:
http://www.microsoft.com/contentredirect.asp.

这可能有两种原因:

(a) 组件服务

COM+账号信息存储在IIS metabase中,由Active Directory来同步,但是COM+不会自动更新。Windows 2000组件服务和Internet Information Services (IIS) 进程不同步的话,IWAM_账号和IIS metabase就不同步而出现上述日志。

IIS提供synciwam.vbs脚本来同步IWAM_ 账号和IIS metabase。该脚本位于Inetpub\AdminScripts下面。可以使用CscriptWscript来运行该脚本。

使用Cscript运行Synciwam.vbs:

c:\Inetpub\AdminScripts>cscript synciwam.vbs -v

可以看到该脚本成功执行。

使用Wscript运行Synciwam.vbs:

c:\Inetpub\AdminScripts>wscript c:\Inetpub\AdminScripts\synciwam.vbs -v

可以看到图形的界面下该脚本成功执行。

(b) 账号的密码

IWAM_IIS用于执行脚本的账号,虽然我们从来没有为它设过密码,但是它的确使用了密码。虽然这个账号是本地的,但是却会保存在Active Directory中。如果存储在Active Directory中的密码与IIS metabase中的不一致,该账号将无法启动IIS的脚本进程。我们遇到的就是这种情况了。

可以使用adsutil脚本来修复该问题。

c:\Inetpub\AdminScripts>adsutil GET w3svc/WAMUserName
WAMUserName: (String) "IWAM_name"

这里的name通常就是服务器的机器名。

打开组件服务的MMC控制台,展开“Component Services”文件夹,展开“My Computer”文件夹,找到“COM+ Applications”文件夹,右键单击,选择“IIS Out-of-Process Applications”,确认“Advanced”页面里的“Disable changes”选择框被清除,这可以确保IWAM_账号的改动会保存在Active Directory里。

如果IIS运行于域控制器,打开“Active Directory用户和计算机的MMC管理控制台snap-in。如果IIS运行于成员服务器,则右键单击“我的电脑”,选择“管理”,展开“系统工具”,展开“本地用户和组”,选择“用户”文件夹。

在右边找到我们刚才通过adsutil脚本查询到的IWAM账号名,更改该账号的密码。然后通过脚本来修改IIS metabase里的IWAM账号密码:

c:\Inetpub\AdminScripts>adsutil SET w3svc/WAMUserPass Password
WAMUserPass: (String) "Password"

可以看到提示修改成功,接着通过刚才的管理控制台,找到“服务”,停止、然后启动“IIS Admin”服务。也可以使用命令行:

c:\>net stop iisadmin /y

c:\>net start w3svc

[2] 证书服务

使用OWA的更改密码功能时,由于密码使用明文传送,非常危险。为了保证账号的安全,我们必须为该功能启用SSL(安全套接字层)加密。为了实现SSL,需要使用证书来验证IIS服务。

前面我们安装了证书服务,为的就是给IIS和域内账号提供证书。如果您有商业公司发布的证书(如VeriSign等),当然也可以直接使用他们的。为该IIS服务生成一张服务器证书,并导出。将其安装至“受信任的企业根证书”,这样该证书可以被与用户信任。

打开“Internet信息服务”的管理控制台Snap-in,右键单击“默认Web站点”(这里我们假设IIS上面只有一个站点并且该站点准备用来使用OWA,如果情况不同,请自行修改),在“默认站点属性”中选择“目录安全性”,在其下方的“安全通信”中单击“服务器证书”,使用其向导安装我们刚才导出的服务器证书。

为了通过OWA可以修改用户的密码,需要在默认站点下,建立“IISADMPWD”的虚拟文件夹。该目录只允许读取。“应用程序设置”那里的“应用程序名”填入IISADMPWD,执行许可为纯脚本。

打开Internet Explorer,输入“http:///exchange”,看看是否可以正常OWA。

4、修复网络服务

在前面我们已将在另外的服务器上安装了WINS,现在可以在新安装的服务器上安装WINS来实现“推/拉”复制。也可以安装DNS实现区域复制。而DHCP,我们可以将区域的地址范围划分为原有区域剩下的80%(吻合前面的20%,当然可以根据需要改变)。

这样,WINS/DNS/DHCP可以继续提供服务了。

接下来,按照原有的共享内容,提供打印机和文件共享的服务。不要忘记补丁和防病毒程序!剩下的该装的软件比如备份、UPS之类我就不再废话了。

三、Mission, accomplished.

总算完工了,向用户们确认一下所有的服务是否都正常吧。在得到他们的感谢的同时,不要忘记做一次系统的完整备份!

最后啰嗦一句,所有的知识和信息,都可以在KB中找到。如果可能的话,平时我们可以收集一些灾难恢复的资料准备,在不影响业务的前提下,我们可以进行假想的演习。养兵终须千日,才能用在一时。

我在微软新闻组(news.microsoft.com)和微软社区(www.mscommunity.com)还有我们的技术社区(forum.diyinside.com)的ID: Hao Hu 。我的Blog地址:http://blog.mvpcn.net/haohu 欢迎大家一起讨论,共同分享技术的快乐!

, , ,