【问题现象】

      主服务器断电后,重启后客户机不能启动。客户机可以正常获取DHCP的所有信息后,黑屏不启动。如下图:

     


【原因说明】

      排查问题原因是由于ClientConfig.xml损坏导致ControlServer.exe进程崩溃,客户机获取到IP后无法正常启动。

      ClientConfig.xml内储存的是客户机使用的镜像信息、IP信息、MAC等。


【解决方案

      如有多台服务器可停止主服务器服务,将副服务器内的ClientConfig.xml复制到主服务器上开启服务即可。

      副服务器上的ClientConfig.xml与主服务器是同步的,ControlServer.exe负责与其他副服务器通讯同步ClientConfig.xml等配置文件信息,但因为主服务器这个文件损坏导致ControlServer.exe不断崩溃,这些文件无法同步到副服务器,所以副服务器上的文件可确保是完整的。


【问题分析】

      客户机启动时需要根据服务端的ClientConfig.xml内的信息获取IP、子网掩码、网关等信息,获取到以后还需根据ClientConfig.xml内的信息获取镜像信息,通过截图中的现象查看IP、子网等信息都已经获取到无法继续往下一步启动,很可能是镜像文件出问题了又或者没有配置镜像等信息。

      但经过排查镜像、配置等都没有问题。不过我们可以通过与客户机通讯的ControlServer.exe日志分析问题。打开日志发现出现如下错误:

     

      错误内容解释为:[ClientConfig信息管理]ClientConfig信息管理中,读取Name信息错误。由此可以看出是在读取ClientConfig.xml信息时出现错误,当打开ClientConfig.xml时发现里面有一些乱码信息。如下图:

     

      由此问题基本确定为断电以后导致ClientConfig.xml损坏进而导致ControlServer进程启动时无法读取无限崩溃重启,客户机无法启动。