日志记录写入导致断网

2017-11-23 05:13
网络安全和信息化 2017年5期
关键词:断网日志硬盘

故障现象

最近笔者所在学校出现上网时断时续,故障时间不定的情况,即设备内网用户出现不定时断网情况,断网一段时间后恢复。

我校采购的是一台锐捷RG-EG1000m的出口设备,主要采用了路由模式,使用了内容和流量审计功能,对学生访问网站做了些限制,还使用了流控功能,对网速进行了合理分配。

故障排查

笔者对接入交换机和汇聚交换机进行连接性检查,未发现问题。继续检查网关设备,Web界 面 查看后发现设备提示内存不足(如图 1)。

设备开机时内存使用率在60%左右,但当天下午18点后,查看内存使用率,达到98%以上。设备出现内存持续升高无法下降,最终导致转发中断。重启后可恢复,一段时间后会再次出现故障(如图2 )。

采用telnet方式,进入管理模式,使用show memory命令,查看设备内存达到98%(如图3)。设备性能有回收机制,一旦出现内存占满,会回收一部分内存,回收时,设备配置的上网用户将会被重置。硬盘驱动写不下去,流量审计不断的产生数据往数据库写,然后数据库就不断的膨胀,之后导致的内存占满。内存回调就会让内部网络暂时无法通过,内部用户无法上网。

图1 设备提示内存不足

图2 出现不定时断网现象

图3 设备内存达到98%

故障解决

经过和厂家沟通,故障根本原因是硬盘出现故障,无法写。由于打开了流量审计功能,该功需要会按周、月汇总呈现流量数据,所以需要将数据记录在硬盘内,才能整理出周报和月报。

当硬盘出现故障,无法写的时候,该功能错误地将数据写到内存,从而导致内存会持续消耗且无法释放,最终导致内存完全消耗,转发中断。

在EG系统中,硬盘文件系统采用日志模式,文件系统所有数据和元数据的改变都被记入日志。这种模式减少了丢失每个文件的机会,但需要很多额外的磁盘访问。例如,当一个新文件被创建时,它的所有数据块都必须复制一份作为日志记录。这是最安全但最慢的日志模式。

当设备由于配置变动或者其他原因导致一些模块频繁修改硬盘文件(例如打开文件并写入业务数据)过程中,如果使用TRUNC参数打开,则会保持被截断的文件的内容日志,这会带来对应的缓存上升。当修改文件的模块比较多(我们的系统中使用TRUNC参数的模块比较多,这也是大家习惯的一种操作方式),或者修改比较频繁的时候,文件系统缓存就会逐渐上升。

Linux系统回收内存的水线设置在min_free_kbytes中,当剩余内存小于这个文件中的数值时,kswapd线程开始自动释放内存。这个水线值正常情况下设置比较高(值比较小),为的是有足够的缓存,不去释放掉可以维持IO性能,因此在设备界面上看到的内存利用率会很高,实际上大部分是缓存。

经验总结

以往遇到此类问题重启就可以解决,但是此次故障重启不会解决根本的问题,根本的问题是硬盘驱动写入出现问题。设备运行产生的数据不断的写入数据库,导致内存增高,转发中断。

类比PC机的硬盘,内部坏块和小文件多了会导致硬盘变慢。硬盘变慢到一定的阈值,会出现数据无法写入,但还有新的数据累计增大,硬盘无法放入,会向内存中存放,不修理的话,断网的问题无法根治。建议设备常做健康检查,出现问题可以及时送修。

猜你喜欢
断网日志硬盘
一名老党员的工作日志
扶贫日志
HiFi级4K硬盘播放机 亿格瑞A15
Egreat(亿格瑞)A10二代 4K硬盘播放机
雅皮的心情日志
游学日志
医药电商“断网”困局
我区电视台对硬盘播出系统的应用
上课“断网”几多无奈