Linux inode耗尽故障处理

Linux系统中一切皆是文件,系统内部不使用文件名,而使用inode号码来识别文件,一个文件必须占有一个inode,由于每个文件都必须有一个inode, 因此有可能发生inode已经用光,但是硬盘还没有满的情况,这样会导致无法在硬盘上创建新文件。
首先准备实验环境,新建一个硬盘,用fdisk工具创建一个内存约5M的分区/dev/sdb1,再格式化,并将其挂载到/data目录下,使用带“-i”选项的df命令确认该分区中节点的使用情况。


接着编写一个测试程序,运行该程序可以耗尽/dev/sdb1分区中所有可用的i节点。



然后当i节点耗尽后,在/dev/sdb1分区中创建新的文件时,出现“设备上没有空间”的错误提示。通过df命令可以查看到/dev/sdb1分区中实际上还有可用的剩余空间,但是由于节点已经用完,所以不能创建新文件。

最后修复i节点耗尽故障,删除占用大量i节点的小文件。

原文地址:http://blog.51cto.com/11134648/2110769

时间: 2024-08-30 10:03:15

Linux inode耗尽故障处理的相关文章

Linux Inode 耗尽 no space

关于Inode一个应用的案例就是创建文件的时候发现没有足够的空间,通过df查看呢发现实际上Used只有20%,这里也是为什么du和df查看同样一个磁盘的时候发现大小不一致(自己可以试一下肯定不一致) 首先inode耗尽差生肯定是inode表没有空闲了,怎么解决??? find ./ -name "*.log*" |xargs -L rm可以删除,如果小文件太多可能会报错arglist too long find ./ -name "*.log*" -exec rm

Linux inode满导致创建文件报磁盘空间不足

客户报不能挂载存储,系统异常.登陆系统,尝试手动mount分区,报失败.进入挂载点,尝试写入一个文件,报磁盘空间不足,首先怀疑是系统磁盘空间满: $ df Filesystem           1K-blocks      Used Available Use% Mounted on /dev/xvda 33030016 10407780 22622236 32% / tmpfs 368748 0 368748 0% /lib/init/rw varrun 368748 56 368692

ufs文件系统下inode耗尽导致业务进程重启失败

一次业务升级后,发现生产系统上的业务进程UPRG无法启动,日志里面报错:can not create UPRG.log,但是观察/logs目录剩余空间还有很多.尝试直接在/logs下touch文件也失败,也是报can not create file. 第一反应是/logs目录的权限是否被人误改了?但很快便发现目录权限正常. 第二反应是磁盘坏了,但想想磁盘是RAID1,不可能两个盘都坏了,而且系统日志里面没有任何磁盘报错. 第三反应是分区表坏了,但如果分区表坏了,应该cd都不能进去. ... 最后

Linux inode && Fast Directory Travel Method(undone)

目录 1. Linux inode简介 2. Fast Directory Travel Method 1. Linux inode简介 0x1: 磁盘分割原理 字节 -> 扇区(sector)(每个扇区存储512字节) -> 块(block)(最常见的是4KB,即8个连续的sector组成一个block) 1. 磁盘的最小存储单位是"扇区" 2. 文件存储的最小单位是"块" 0x2: Linux EX2 filesystem 当一个partition(

理解linux inode

理解linux inode ? ? 1. inode的由来和作用 2. inode表中包含什么内容 3. 文件系统如何通过inode读取文件 4. 一个特殊的存在类型:硬链接 5. 目录文件的结构 ? ?1.inode的由来和作用??硬盘创建文件系统时,会把物理磁盘的扇区(512字节)创建为由多个扇区组成的"块"(目前常用的为4KB,即8个扇区).当操作系统从磁盘读取数据时,磁头从"块"上读取数据.为了快速查找数据,必须在磁盘上专门划分出一个专门的区域存储数据的&q

linux inode, 符号链接,物理链接

inode是linux中的保存文件属性的结构,文件的实际内容存放在block中.文件的block的地址信息存储在inode中. 可以使用命令ll -di file_path查看文件/目录的inode.(操作系统查找文件时,也是根据文件的目录一级一级查找inode得到的.当前目录的子目录信息所在的block信息也在当前目录的inode中) 文件的inode中存放文件的block信息,block信息是文件的实际block地址还是另一个inode的block信息决定了该文件是对文件的一个物理链接还是符

Linux inode的理解

描述:     一:inode是什么? 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(即0.5KB). 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block).这种由多个扇区组成的"块",是文件存取的最小单位."块"的大小,最常见的是4KB,即连续八个 sector组成一个 block. 文件数据都储存在"

linux inode 删除文件

find . -inum 918557 -exec rm -i {} \; 查看linux中文件的inode信息 2011-03-14 21:26:25 分类: Linux 大致四个方法: 直接执行stat命令,以文件名称为参数. 在debugfs中执行stat命令,以文件名称为参数. 在debugfs中执行mi命令,以inode编号为参数,注意执行debugfs时,要附加-w选项. 定位inode所在位置,然后以dd命令导出. 后面两种方法会得到完整的inode信息,而前面两种不完整. 查找目

linux inode已满解决方法

今天login server的一个网站,发现login后没有生成session.根据以往经验,一般是空间已满导致session文件生成失败. df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/dev01-root 75G 58G 14G 82% / udev 2.0G 4.0K 2.0G 1% /dev tmpfs 396M 292K 396M 1% /run none 5.0M 0 5.0M 0% /run/lock no