有一客户的Exchange Server出问题了,Outlook客户端突然无法收发邮件,而且连OWA都无法登录,管理员想登录管理后台的时候才发现,输入管理员账号和密码后,ECP管理界面直接崩溃了,只显示500意外错误,一时无从查起。
虽然是2020年10月份部署的邮件服务器,但是客户的环境,我大致还是记得的,两台Vmware的虚拟服务器都是传输角色,并且配置DAG|高可用集群)和NLB(网络负载平衡),以实现邮件服务器双活,至于边缘传输角色,当时是部署了专业的邮件网关来替代。
由于是同行的客户,当时我们部署完成后,就没参与过运维了,当我远程登录的时候发现,服务器已经不是当初的Vmware的虚拟服务器了,而是被迁移到的华为云端,好吧,看来这个客户中了一次勒索病毒就吓坏了,还是交给华为公有云了。
无论如何,先排查问题吧,先来个最简单的方法: 重启IIS服务器,无效,好吧,意料之中。
打开Windows Server的系统日志,查看Exchange相关日志,发现错误代码: 0x80004005;
打开Exchange Management Shell,输入命令:Get-ServerComponentState ServerName,结果居然查询不到服务器任何状态,全都是红字警告信息,当时是晚上加班远程,客户也在远程看着呢,时间紧就没来得及截图了。
由于查询不到服务器,怀疑DNS服务器故障,nslookup查询的时候发现,MX记录居然错误,我汗,他们是怎么迁移到华为云端的啊?
问了一下,DNS服务器竟然禁止连接互联网?!那还DNS转发器还怎么正常工作呢?登录DNS服务器一查,果然如此。DNS服务器都没正常工作,还怎么发邮件啊?真是服了,先在防火墙上把DNS开放了。
回头再来看Exchange Server本身的问题,直觉上来说,还是IIS的问题,于是又检查了该服务器的IIS安全设置、重定向设置、SSL设置等等,依然没有发现异常;IIS服务已经重启过了,又把Exchange相关服务都重启了一下,故障依旧。
准备移除 OWA 虚拟目录,再重新创建试试,打开Exchange Management Shell,输入命令:Remove-OwaVirtualDirectory 'ServerName\owa (Default Web Site)' //‘ServerNameE’为 exchange 主机名称;然而,移除失败了;
创建 OWA 虚拟目录的命令:New-OwaVirtualDirectory -WebSiteName 'Default Web Site' 完全没用上,尴尬啊。
又打算清空msExchCanaryData 属性值来尝试解决这个问题:
1、打开ADSI编辑器,连接到“配置”,然后找到“CN=Services”》“CN=Microsoft Exchange” 》“CN=<Exchange组织名称>”》“CN=Client Access”
2、右键点击选择“属性”,打开属性编辑器窗口,在“属性编辑器”选项卡中找到"msExchCanaryData",可能会有0-n多项,也有的服务器只有一项,我这台Exchange Server有0-2三项;
3、新建一个记事本,将三个msExchCanaryDataX 属性值逐一复制到记事本中,保存备用;然后清除这三个属性值,注意:是清除里面的内容,不是删除!千万别搞错了,不然Exchange Server启动不了别怪我;
4、打开IIS,找到“应用程序池”,再找到“MSExchangeOWAAppPool”,点击“回收”; 还有“MSExchangeECPAppPool”,同样也要点击“回收”,然后再次重启IIS。
再试试吧,浏览器中输入mail.domain.com/ecp,输入账号密码,熟悉的管理页面总算是回来了。
经客户测试确认,Exchange Server没问题了,邮件收发也恢复了。这不,几天过去了,没再出问题,应该是彻底解决了。