大早上的就被电话叫醒了,服务器挂了,原以为是这台服务器的问题,开机一试才知道所有的服务器都无法连接,首先怀疑TMG。联系在公司的同事重启了下,无效,只能屁颠屁颠的到公司来了。

   到公司后发现,D盘空间为0,查找原因,被日志写满了,日志没有自动清除!导致防火墙服务也无法启动,手动删吧,删除半天看着删除成功了,但居然空间不变,再次重启,再次删除,有了可用空间服务也终于起来了。

   TMG监视中有一个日志清除失败的事件:   
警报信息
描述: 至少一个日志在执行自动日志维护时删除失败。错误代码: 0x80040e14。请确保仍有足够的磁盘空间可用于记录。

    事件查看器中也可以看到:

日志名称:          Application
来源:            Microsoft Forefront TMG Control
日期:            2012/5/19 10:54:45
事件 ID:         21248
任务类别:          无
级别:            错误
关键字:           经典
用户:            暂缺
计算机:           tmg.domain.local
描述:
至少一个日志在执行自动日志维护时删除失败。错误代码: 0x80040e14。请确保仍有足够的磁盘空间可用于记录。

    查找原因,日志设置本是存在SQL Express里的,但总会生成很多W3C格式的日志,正是这些日志太多导致磁盘满的,之前也有所疑问为何不在SQL里,但没太多在意,现在想来问题很可能在这里。删除的时候有一个W3C日志无法删除,提示TMG控制服务正在占用,而日志的生成日期正是上次TMG升级的时候。于是,停用TMG控制服务,将该文件彻底删除,重启相关服务,W3C的日志没了,新的日志也记录到SQL里了,至此原因算是找到了。

    原来当时升级配置的时候,不知什么原因肯在配置日志的时候将日志文件设为了W3C(鄙视下微软,从控制台查看过很多次没有发现设置的是W3C格式),但保存位置在SQL,于是SQL会按照设置定期删除日志,但SQL里根本没写入日志,所以会有日志删除失败的警告日志。但W3C没有配置日志自动删除,所以就一直写啊写啊把硬盘写爆为止。这算不算一个Bug?

    问题解决,回家喽。。。