背景:linux系统磁盘使用分为inode和block两部分,inode是存放文件索引节点,block存文件数据。
问题:启动银企平台服务器报错:no space left on device
报该错的原因可能两个:
1、inode用光了:文件数量太多导致
2、block用光了:文件数据将磁盘空间占满了
排查思路:
1、执行命令:df -h 查看对应磁盘block使用率
2、如果磁盘空间确实用光了就要删除一些大文件或扩容磁盘
3、一般情况为第二种,执行df -i 查看对应磁盘inode使用率,比如:
Filesystem Inodes IUsed IFree IUse% Mountedon
/dev/sdc 16 16 0 100% /app/logs
可知/dev/sdc 该磁盘inode用光了,需要删除大量的小文件了。
银企平台的日志文件根据客户的业务请求量且随着时间积累确实会产生大量的小日志文件。
解决:
1、找到银企平台安装路径下(/ebservice705/ebservice/logs)
2、对bank_message和mbts_invoke下的日志可进行按日期来删除一些历史日志(里面都是以日期命名)
3、删除一些之后,再执行df -i 查看磁盘inode使用率,有一定可用空间后再重启银企平台服务和客户端tomcat即可。
4、登录到银企平台web端-系统管理-日志备份- 可将定时清理日志最小时间段改为30天(每天凌晨2点删除30天以前的日志文件)
5、如果已经是30天了,那么就需要考虑修改业务系统(星空/EAS/KIS等)后台事务(星空叫执行计划)中同步银行状态,查交易明细定时任务调度频率,调度时间间隔改大一些,这样产生的日志就会少很多。
推荐阅读