【inode】Linux服务器inode索引节点用满原因以及解决方法

简介: 系统出现异常我们团队的阿里云服务器在前几天运行过程中,服务器CPU负载长时间达到100%,并且不能通过ssh连接服务器。 经过重启服务器后对服务器进行连接,发现服务器上的crontab不能正常运行php-fpm服务不能正常开启crontab的报错提示为 ...

系统出现异常

我们团队的阿里云服务器在前几天运行过程中,服务器CPU负载长时间达到100%,并且不能通过ssh连接服务器。
经过重启服务器后对服务器进行连接,发现

  • 服务器上的crontab不能正常运行
  • php-fpm服务不能正常开启

crontab的报错提示为

正在启动 crond:crond: can’t open or create /var/run/crond.pid: 设备上没有空间

php-fpm的报错提示为

Fatal Error Unable to create lock file: Bad file descriptor (9)

问题排查

磁盘空间

由于crontab的反馈是没有空间,于是开始对服务器的磁盘空间进行检查

[root@********** ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       20G   13G  6.5G  66% /
tmpfs           1.9G     0  1.9G   0% /dev/shm  

发现磁盘空间是够用的。

inode


[root@****** ~]# df -i
Filesystem      Inodes   IUsed  IFree IUse% Mounted on
/dev/xvda1     1310720 1306882   3838  100% /
tmpfs           490143       1 490142    1% /dev/shm

发现磁盘上的inode空间被全部耗尽

分析问题

出现inode被耗尽的原因主要是大量的碎片文件和小文件占用的inode的使用。

Linux上的inode的原理文章很多,不再赘述。

解决方法

根据和阿里云售后工程师的沟通,解决inode用满的方式有下面几种

  1. 排查清理服务器内无效文件、碎片文件,垃圾文件。
  2. 转移非在用的数据到数据盘或本地存档。
  3. 考虑通过自定义镜像来更换系统时扩容来增加iNode容量。

解决实践

这里采用了第三种方式

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

经过系统盘的扩容,系统盘从原来的20G扩充为40G,同时inode的容量也变成了原来的两倍。


[root@********** ~]# df -i
Filesystem      Inodes   IUsed   IFree IUse% Mounted on
/dev/xvda1     2621440 1311396 1310044   51% /
tmpfs           490143       1  490142    1% /dev/shm
[root@********* ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       40G   13G   25G  33% /
tmpfs           1.9G     0  1.9G   0% /dev/shm

参考资料

  • http://www.ruanyifeng.com/blog/2011/12/inode.html
  • 后记

    技术人员的需要经历一款产品的调研、开发、部署、迭代,这样才能够得到全面的成长。

    目录
    相关文章
    |
    14天前
    |
    消息中间件 Java Kafka
    【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
    本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
    【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
    |
    2月前
    |
    缓存 Ubuntu Linux
    Linux环境下测试服务器的DDR5内存性能
    通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
    50 4
    |
    2月前
    |
    NoSQL Linux PHP
    如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
    本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
    80 4
    |
    2月前
    |
    运维 监控 安全
    盘点Linux服务器运维管理面板
    随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
    |
    2月前
    |
    运维 监控 Linux
    服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
    在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
    |
    1月前
    |
    存储 Oracle 安全
    服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
    Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
    |
    2月前
    |
    缓存 Unix Linux
    服务器linux!!!
    本文介绍了计算机的演变历史、硬件基础知识及服务器相关知识。从电子管时代的ENIAC到冯-诺伊曼架构,再到现代计算机系统组成,详细讲解了计算机的发展历程。此外,文章还介绍了服务器的分类、品牌、硬件组成以及IDC机房的上架流程,为读者提供了全面的技术背景知识。
    62 0
    服务器linux!!!
    |
    2月前
    |
    人工智能 安全 Linux
    |
    2月前
    |
    Linux 数据库
    Linux服务如何实现服务器重启后的服务延迟自启动?
    【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
    364 3
    |
    2月前
    |
    存储 安全 关系型数据库
    Linux系统在服务器领域的应用与优势###
    本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###

    热门文章

    最新文章