开发发现某个云服务器无法启动进程,提示“No space left on device”,但是使用#df -h查看容量的时候,明明还有很多的空间。于是使用#df -i,发现inode节点已经全部用光了,所以现在不能建立任何新的文件。

既然如此就要查出来是哪个文件夹里会有如此多的文件来占用这些inode,使用一个小脚本:#for i in /*; do echo $i; find $i | wc -l; done,获取到/mnt下有一个文件占用了绝大多数的inode,如图:

于是就进入到mnt这个文件夹里,慢慢找寻到底是哪个文件夹,用上面那个语句一点一点缩小范围,最后确定文件夹原来就是data文件夹,如图:

现在如果要#rm -rf data/*的话,是没有效果的,有效果的话也很慢。而且很有可能报“-bash: /bin/rm: Argument list too long”的错,因为这个文件夹里面的小文件实在太多了,有足足两百五十多万个,那么怎么样处理这样的情况?

用find搭配-type f -exec rm {} \;可能会引起内存溢出,用文件夹重置命令搭配"--reference" 也没什么效果。

这时最好的方法就是使用rsync!

#yum install rsync,当然了现在inode是饱和的状态,yum install是会报错的:

那么就需要手动删除一些文件,腾出来一部分inode供yum使用,安装完毕rsync之后,找到一个空文件夹,如果没有空文件夹,就手动建立一个。

使用命令:#rsync --delete-before -a -H -v --progress --stats /空文件夹的路径/ /海量小文件的路径/

–delete-before 接收者在传输之前进行删除操作

–progress 在传输时显示传输过程

-a 归档模式,表示以递归方式传输文件,并保持所有文件属性

-H 保持硬连接的文件

-v 详细输出模式

-stats 给出某些文件的传输状态

如果你开了这个服务器的两个窗口,一个是执行上面的命令,另一个是在海量文件夹里执行#ls,这个时候ls命令是卡死的,过了大约2分钟,就会看到ls展示的文件喷涌而出,整个电脑屏幕好比***帝国一样,异常壮观。

静等大约20分钟,整个文件夹删除干净,inode也释放了97%,世界恢复了清静。

最后的最后,如果您觉得本文对您升职加薪有帮助,那么请不吝赞助之手,刷一下下面的二维码,赞助本人继续写更多的博文!

转载于:https://blog.51cto.com/chenx1242/1978429

从“No space left on device”到删除海量文件相关推荐

  1. Linux下使用rsync最快速删除海量文件的方法

    遇到了要在Linux下删除海量文件的情况,需要删除数十万个文件.这个是之前的程序写的日志,增长很快,而且没什么用.这个时候,我们常用的删除命令rm -fr * 就不好用了,因为要等待的时间太长.所以必 ...

  2. Linux下使用rsync最快速删除海量文件的方法分享

    点评:昨天遇到了要在Linux下删除海量文件的情况,需要删除数十万个文件.这个是之前的程序写的日志,增长很快,而且没什么用 这个时候,我们常用的删除命令rm -fr * 就不好用了,因为要等待的时间太 ...

  3. Ubuntu: No space left on device,无法创建新文件夹,无法创建新文件,无法存储文件

    去看看去吧,磁盘空间不够啦,去删掉一些不用的文件吧 df -h # 查看磁盘使用情况 df -i # 查看inode使用情况

  4. linux快速删除海量文件

    首先创建一个临时目录: /rubbish rsync --delete-before -a -H -v --progress --stats /rubbish /111 /111为目的目录 选项说明: ...

  5. linux rsync删文件速度,Linux下使用rsync最快速删除大量文件的方法

    要在Linux下删除海量文件的情况,需要删除三层哈希目录下的几十万个文件.这个时候,删除命令rm -rf * 就不好用了,因为要等待的时间太长.所以必须要采取一些非常手段.我们可以使用rsync来实现 ...

  6. [ZZ] 使用rsync来实现快速删除大量文件

    昨天遇到了要在Linux下删除海量文件的情况,需要删除数十万个文件.这个是之前的程序写的日志,增长很快,而且没什么用.这个时候,我们常用的删除命令rm -fr * 就不好用了,因为要等待的时间太长.所 ...

  7. Linux下使用rsync最快速删除大量文件的方法

    要在Linux下删除海量文件的情况,需要删除三层哈希目录下的几十万个文件.这个时候,删除命令rm -rf * 就不好用了,因为要等待的时间太长.所以必须要采取一些非常手段.我们可以使用rsync来实现 ...

  8. ceph osd 由于“No space left on device” 异常down,通过扩容文件系统或者显式运行osd进程解决

    文章目录 ceph版本: 环境配置: 异常问题: 问题解决: 总结 ceph版本: ceph 12.2.1 环境配置: tier_pool 16个分区大小800G 的osd容量 3副本 data_po ...

  9. 宝塔面板遇到No space left on device错误的解决方法

    问题描述 说明:今天登陆阿里云服务器的宝塔面板,遇到了磁盘爆满的情况,登陆的时候提示IOError: [Errno 28] No space left on device等错误信息,导致登录面板不显示 ...

最新文章

  1. opencv判断 线夹角_opencv计算直线的斜率、截距,与水平线弧度值、角度值
  2. NLP - 15 分钟搭建中文文本分类模型
  3. SharePoint数据表组件错误
  4. c语言放空一个数组,C++语言
  5. Linux大作业任务书,《Linux系统管理》期末大作业任务书(2014.12)(1).doc
  6. python服务器搭建qt搭建客户端_利用PythonQT,定制服务器启动工具
  7. 怎样让jquery mobile 的footer/header 固定?
  8. 成功解决./nvidia-installer: invalid option: “‐‐no‐opengl‐files“ ERROR: Invalid commandline, please run `
  9. matlab绘图坐标显示不全的解决方法
  10. centeros安装mySQL
  11. 11gR2数据库RMAN完全恢复数据库
  12. Word排版(小计)
  13. 大数据时代最全的医学公共数据库合集整理
  14. STM32HAL库驱动DHT11和BH1750
  15. mmap()、munmap()的用法、例子
  16. 攻防世界MISC刷题1-50
  17. Spring详解(超全面)
  18. SOAP协议规范介绍
  19. 确保精确度的五轴机床、类型与行业发展的新曙光
  20. 益聚星荣:“真实和虚拟的融合是腾讯未来方向”马化腾要进军元宇宙?

热门文章

  1. 【CLR】解析AppDomain
  2. 进阶第十一课 Python模块之random
  3. 回复《论WEB标准专家》。
  4. GraphX实现N度关系
  5. webpack异步加载业务模块
  6. 阿发你好java_191122_01 纯前端JS实现的文字验证码
  7. Java list.remove( )方法需要注意的地方
  8. Tomcat服务与搭建(一)
  9. 《解读NoSQL》——2.6 通过数据库分片获得水平扩展能力
  10. BZOJ 3679 数位DP