实战服务器磁盘异常排查

今天同事发现一问题,所有文件夹大小加起来和磁盘空间不一样

[root@10-10-49-150 data]# df -lh
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  8.3G   11G  45% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
/dev/vdb        197G   189G  0G  100% /data

逐个文件夹du -sh *排查了一会。也没有找出问题所在,查看了一下linux文件系统。

inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份: 一部份是inode, 另一部份是 Block, 
Block是用来存储数据用的。 
而inode呢,就是用来存储这些数据的信息, 
这些信息包括文件大小、属主、归属的用户组、读写权限等。 inode为每个文件进行信息索引,所以就有了inode的数值。 
操作系统根据指令,能通过inode值最快的找到相对应的文件

原理分析:

1. 当前access.log日志正在被tomcat进程占用。
2. 通过rm命令删除access.log,实际只删除了文件名(该日志文件应用记数不为0,因此空间不会被释放)。
3. 通过rm命令删除了access.log后,tomcat依然写日志到access.log中,当开启tomcat进程时,已经通过access.log定位到该文件的inode了,就是说再写日志是不通过access.log,因此即使删除了access.log,tomcat依然写日志到access.log所在的inode节点,所以导致硬盘空间增加。
4. 因为删除了access.log,所以我们就找不到该文件了,du也查不到,就会出现硬盘满了但看不到究竟是哪些文件占用的。

最后重启tomcat得已解决
[root@10-10-49-150 data]# df -lh
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  8.3G   11G  45% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
/dev/vdb        197G   89G   99G  48% /data



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值