你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux系统inode占满故障解决方法

[日期:2017-08-23] 来源:Linux社区  作者:Linux [字体: ]

众所周知,Linux文件系统中inode编码是指向磁盘block的唯一编号,若服务器遭入侵或日志文件将磁盘inode资源编号耗尽,新数据无法获取inode编号导致无法存储。举例说明:在磁盘中/boot独立分区中查看现有inode资源并通过for循环创建大量文件占用耗尽inode编号,导致磁盘无法写入内容,最后进行处理故障。

[root@CentOS7 ~]#  df -i /boot/                                #查看inode编号
Filesystem    Inodes IUsed IFree IUse% Mounted on
/dev/sda1      1024064  38 1024026  1%  /boot
[root@centos7 ~] for i in {358..1024500}; do touch  file$i;done
[root@centos7 ~]# df -i /boot                                #发现inode占满
Filesystem      Inodes  IUsed IFree IUse%  Mounted on
/dev/sda1      1024064 1024064    0  100% /boot
[root@centos7 ~]#  cd /boot                                       
[root@centos7  boot]# touch 123.txt                            #创建文件无法成功
touch: cannot  touch ‘123.txt’: No space left on device

 方法一:通过传统方式利用for循环删除文件,但是比较缓慢
[root@centos7 ~] for i in {950000..1024500}; do rm -rf  file$i;done #一点的删除

 方法二:利用传参数的方法快速有效的删除文件
[root@centos7 boot]# ls file{400000..500000}|xargs rm 最为有效的方法,传参数
[root@centos7 boot]# ll file{600000..700000}|xargs rm ll列出的参数过多,传给rm
ls: cannot access file600000: No such file or directory 时,rm不识别,因此通过
rm: invalid option -- 'w'                                ls显示出独立的文件名进
Try 'rm --help' for more information.                    行传递。
rm: invalid option -- 'w'

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-08/146458.htm

linux
相关资讯       Linux系统inode占满 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款