分类

链接

2024 年 8 月
 1234
567891011
12131415161718
19202122232425
262728293031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > DevOps, Docker, LINUX, 系统架构 > 正文
共享办公室出租
解决Linux实例磁盘空间满问题
DevOps, Docker, LINUX, 系统架构 暂无评论 阅读(66)

Linux系统的云服务器ECS实例内创建文件或者应用时出现No space left on device报错提示,即表示您的磁盘空间不足。如果磁盘满不符合您的预期使用,可根据本文判断磁盘满的原因并相应解决。

可能原因

磁盘空间不足的问题通常有以下几类原因:

  1. 磁盘分区空间使用率达到100%。

  2. 磁盘分区Inode使用率达到100%。

  3. 磁盘存在已删除未释放的僵尸文件。

    说明

    已删除文件可能因删除时文件句柄被打开,导致文件删除时文件空间未能被释放。

  4. 挂载点覆盖。

    说明

    在原有文件系统的目录下已经存在大量文件,挂载新磁盘后挂载点(目录)被覆盖。但您系统内的应用可能仍会继续读写原有文件系统空间,这时就有可能出现您的应用报空间不足,但您使用dfdu命令查看磁盘文件目录的容量使用情况时却无法统计到,原因是dfdu命令统计的是当前挂载点对应的分区使用情况。

  5. inotify watches达到上限。

    inotify是Linux系统的一种监控文件系统事件的机制,被广泛用于实时监控文件系统中的文件变化。该错误实际上和磁盘空间没有关联,不表示磁盘存储空间已满。本文档中对这一报错进行补充说明,以便帮助您做正确的排查。

排查方法和解决方案

请根据不同的问题原因,通过以下方式进行处理。

一、磁盘分区空间使用率达到100%

您可以通过清理占用磁盘空间较大的文件或目录、扩容或新购磁盘等方式来解决磁盘分区空间使用率达到100%的问题。

  1. 查看磁盘当前使用率,并定位高占用文件。

    1. 远程连接ECS实例。

      具体操作,请参见通过密码或密钥认证登录Linux实例

    2. 执行以下命令,查看磁盘使用率。

       
      df -h

      系统显示类似如下信息。例如,分区/dev/xvda1的使用率为15%。

      image

    3. 执行以下命令,进入根目录,查看哪个目录占用磁盘空间较大。

       
      cd /
      du -sh *

      系统显示类似如下信息。图示例可以看出/usr目录占用空间最大,则需要继续查看/usr目录下哪个文件或目录占用空间较大。请您根据实际环境进行操作。image

    4. 执行以下命令,逐级查看哪个目录占用磁盘空间较大。

      例如本例中进入较大的 /usr目录,继续查看/usr目录下哪个文件或目录较大。

       
      cd /usr
      du -sh *

      系统显示类似如下信息。图示例可以看出local目录占用空间最大,则需要查看local目录下哪个文件或目录占用空间较大,以此类推。image

  2. 结合业务情况判断,进行以下处理。

    • 清理占用空间较大且不再需要的文件或目录:结合业务情况判断,删除不再使用的文件或目录。

    • 扩容或新购云盘:如果业务不允许删除磁盘中的文件或通过清理文件也无法释放更多空间,您可以根据实际业务场景和需求扩容磁盘或者新购磁盘。具体操作,请参见云盘扩容指引创建云盘挂载数据盘

二、磁盘分区Inode使用率达到100%

磁盘分区Inode是文件系统中的一个重要概念,文件系统内每个文件和目录都由一个唯一的Inode标识。每个磁盘分区在格式化时会预分配一定数量的Inodes,但是如果文件系统中存在大量小文件或目录,Inode资源也可能成为系统资源的瓶颈。当所有Inodes都被分配完毕,即使磁盘还有剩余空间,也无法再创建新的文件或目录,这就是Inode使用率达到100%现象。此时,需要清理不必要的文件以释放Inode,或者增加Inode数量来解决磁盘分区Inode使用率达到100%的问题。

  1. 查询Inode使用率。

    1. 远程连接ECS实例。

      具体操作,请参见通过密码或密钥认证登录Linux实例

    2. 执行以下命令,查询Inode使用率。

       
      df -i

      image

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:解决Linux实例磁盘空间满问题 | Bruce's Blog

发表评论

留言无头像?