周四下午的时候,某政府信息中心领导打电话告诉我,ISA Server服务器不能开机了。随后公司的技术员到达现场,经过检查,发现服务器显卡损坏。在更换显卡后,服务器可以开机,但却不能进入系统—-服务器在经过BIOS加电自检、进入硬盘启动后一直处于“黑屏”死机的状态,同时可以听到硬盘发出的“克拉”、“克拉”的声音,就感到硬盘也出问题了。
由于该单位采用了Windows Server 2003“域”管理方式,单位所有计算机都加入到域(另有两台AD的域服务器),ISA Server(安装的Windows 2003企业版)也加入域作为“成员”服务器,所有工作站通过ISA Server以防火墙客户端的方式代理上网,ISA Server中的策略众多,并且是几年以来陆续修改完善的。以前一直没有考虑ISA Server出问题,所以也没有对ISA Server的策略进行过保存。该ISA Server是一台高档的PC机,并不是专用的服务器,这台计算机只有一块SATA 250GB的硬盘,没有采用RAID 1或RAID 5进行磁盘冗余,所以,一般情况下,首先要考虑恢复ISA Server、尤其是ISA Server的策略
我听到这些消息后,马上赶往现场。在路途中,现场的技术人员打电话告诉我,他尝试用Windows Server 2003“修复”安装的方式,想让Windows Server 2003“启动”起来,但用Windows 2003安装光盘启动后,也是停留在“黑屏”的现象。我让技术员把服务器上的硬盘拆下来,装到其他计算机上做从盘,用其他计算机(操作系统是Windows XP或Windows Server 2003都可)进入系统后,使用chkdsk命令检查并修复ISA Server硬盘的错误。
我到达现场后,技术员已经用chkdsk命令修复完毕,并将硬盘装回到ISA Server服务器上,但仍然不能启动,用Windows Server 2003安装光盘启动计算机,也不能进入安装与修复界面。而技术员告诉我,在将这块硬盘装到另一台计算机上,用chkdsk检查的时候,是可以看到硬盘上的数据的,并且硬盘有三个分区。我经过分析、判断:
(1)硬盘已经出现问题,必须更换。
(2)硬盘上的数据仍在,只是系统盘有错误或问题,不能启动。
所以,我决定先把服务器硬盘数据“备份”到新硬盘,然后看情况决定下一步的行动。随后,找来一块新硬盘(SATA 500GB,现在很少有250G以下的硬盘了),将其安装在服务器上,使用Windows PE的光盘启动计算机,进入Windows PE系统后,使用ghost,将原ISA Server服务器硬盘(250GB)采用“全盘克隆”的方式,克隆到新硬盘上。
经过一个多小时的等待,克隆完成,关机并拆下原来的硬盘,用新硬盘启动,进入了Windows Server 2003,并且用管理员密码登录进入“域”,进入系统,看来一切正常。
但将服务器装到机架、接上内外网网线后,发现工作站不能上网。进入ISA Server服务器后,发现ISA Server管理控制台程序不能使用,如果运行ISA Server管理控制台程序,会出现程序安装的界面,但不能进入ISA Server的控制台界面,如图1所示。
图1 ISA Server出现安装界面
经过检查发现,在使用ghost克隆硬盘后,启动分区与系统分区的盘符对调,这导致ISA Server不能启动。在原来的ISA Server服务器中,Windows Server 2003与ISA Server 2006安装在D分区(系统分区),C分区原来有一个Windows Server 2003但已经不用,这进C分区是“启动分区”,分区表结构如图2所示。
C 启动分区 | D 系统分区 | E 保存其他数据 |
图2
而在克隆后的新硬盘上,分区结构如图3所示。
D 启动分区 | C 系统分区 | E 保存其他数据 |
图3
由于ISA Server 2006是安装在D分区的program files文件夹下,而现在这个分区已经改为“C”分区,而现在的D分区是原来的C分区,这个分区没有安装有ISA Server(即使有,也不是正确的数据),这就导致ISA Server不能运行。
碰到这种情况还是第一次。考虑了一会之后,我想,即然现在D盘(启动分区,原来的C盘)上的Windows 2003已经不能用了,干脆删除;而现在ISA Server“需要”在D盘上找,那么,把现在C盘上的ISA Server安装后的文件夹拷贝到现在的D盘上,ISA Server应该能用了。
于是,重新启动服务器,并用Windows PE工具光盘启动,先将第1分区中的Windows、program files、Documents and Settings这三个文件删除,然后将第2分区中的Windows、program files、Documents and Settings这三个文件夹复制到第1分区(切记,不要复制错。为了避免出现复制错误的情况,事先已经为每个分区设置了不同的卷标。盘符可以随系统而变,但卷标是固定的,不会变)。复制完成后,取出Windows PE光盘,重新启动进入系统,再次检查,可以进入ISA Server管理控制台,但ISA Server服务仍然不能启动。如图4所示。即使在“管理工具→服务”中启动Microsoft Firewall服务,也是不能启动。
图4 可以进入ISA Server控制台,但出现错误
进入ISA Server管理控制台后,发现ISA Server的策略都在,我心中大定,先把ISA Server的配置备份(图4左侧),然后再导出防火墙策略(实际上,在导出ISA Server配置的时候,已经同时备份了防火墙的策略),这样即使重装系统也简单了。
进入控制面板→添加/删除程序,卸载ISA Server 2006,然后运行ISA Server 2006安装程序,重新安装ISA Server,这样,ISA Server的服务就可以启动。然后恢复备份的ISA Server配置,ISA Server恢复了正常,客户端也能上网,整个恢复过程结束。
经验总结:
(1)服务器最好有磁盘冗余,这样当一块硬盘出问题时不至于“瘫痪”。同时,服务器重要设置与数据要备份到其他位置(如另外一台服务器或工作站)。
(2)此次事件,服务器硬盘已经濒临损坏,但数据可以读出,这是系统最终得以顺利恢复的前提。
(3)出现问题后,不要着急。解决问题的方法无一定之规,只要小心假设,大胆求证,问题总会解决。
(4)即要学以致用,又要灵活应用。复制、粘贴、替换,谁都会,本例就是将已经安装好的ISA Server复制到新目录,得以恢复ISA Server的配置。
(5)另外,Windows Server 2003的“修复”安装,是在有备份的前提下才可以使用的,在没有备份的情况下,越修复会越坏,甚至到不能使用的地步。所以,在能读取硬盘数据的前提下,先用ghost的方法将所有数据“克隆”下来恢复为好,这样,即使恢复出错,还能再次用原来的磁盘、再次备份并再次恢复,直到恢复成功。