No space left on device

默北 Linux 运维案例1 27,9715字数 587阅读1分57秒阅读模式

一. 收到报警

线上有一台服务器磁盘检测告警了,提示空间不足。爬到服务器查看相关信息:文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

inode文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

/data分区只使用了71%,创建文件却提示磁盘空间不足,按理说不会出现这种情况的。难道inode耗尽?文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

二. 分析原因文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

查看/data分区inode使用情况相关信息如下:文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

inode文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

果不其然,IUse%=100%,导致无法创建文件。文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

在linux系统下,硬盘被分区格式化后,包含inode和block,inode是用来记录文件的大小,物理地址,属主,属组,读写权限,时间戳,被硬链接的次数等等元数据的。block是用来存储数据的。正因为这种文件系统结构,在linux下,除了剩余磁盘空间之外,还要剩余inode才行,两者缺一不可的。可通过dumpe2fs -h /dev/sdb1或tune2fs -l /dev/sdb1 来查看最大inode数和inode大小。一旦文件系统创建后,每个分区的可用inode数无法动态的进行调整,除非重新格式化。文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

三. 查找原因并解决文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

/data是线上业务数据目录,各种站点、日志、临时文件存放目录。其中有个程序产生大量的小文件造成的。可通过下面的命令找出占用空间最多的文件或目录:文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

# du -cks * | sort -nr | head -n 20

删除部分文件,释放inode。文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

如需转载请注明出处:No space left on device https://www.ttlsa.com/html/2066.html文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/

文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/文章源自运维生存时间-https://www.ttlsa.com/linux/no-space-left-on-device/
weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北
  • 本文由 发表于 02/08/2013 10:37:50
  • 转载请务必保留本文链接:https://www.ttlsa.com/linux/no-space-left-on-device/
评论  1  访客  0

    来自外部的引用

评论已关闭!