月度存档: 八月 2017

IPFW日志竟然把服务器硬盘给撑爆了!!!

前些日子在公司的仿真系统的内网搭了一台FreeBSD的服务器,用来做业务系统的状态监测,由于需要使用到nat服务,所以把IPFW也配置上了,为了调试方便,日志最大记录数习惯性的设置了不做限制。

服务器正式上线以后,一直运行稳定,昨天突然就远程连接不上服务器了,于是进机房接上显示器一看,乖乖,1T的硬盘硬生生就撑爆了,可用空间为0了。要知道这台服务器上几乎没有任何会使用大量磁盘空间的应用,只跑了个状态监测系统,看应用目录使用了还不到100M的空间。完全有点匪夷所思啊,排查了一下各个目录,发现问题出在log文件夹下的ipfw的日志文件,一个文件就上百G啊。。。这才意识到自己挖了多大的一个坑啊。

赶紧把日志最大记录数设置上,然后删日志,重启IPFW。然后查看了一下新生成的日志文件,终于找到原因了。

出于安全考虑,我的IPFW设置的是最大安全策略,也就是只开放了几个需要使用的端口跟协议,其他的一率deny掉,为了知道都deny掉了哪些数据,自然就要把deny规则上加上日志记录。这样的设置在互联网的环境上是完全没有问题的,我以前为很多客户的web服务器都是这样做的策略。记录到的都是一些非法扫描之类的异常信息,每天的日志一般也不会超过10M。

可偏偏我们业务系统内部通讯大量使用了组播通讯,这就导致了所有的组播包都被IPFW认真的在log里给记录了下来。目测了一下,每秒能收到几千个组播包,这硬盘不爆才见鬼了呢。