inode节点

inode(index node):索引节点

作用:用于存贮文件和目录基本信息

理解inode,要从文件储存说起。
文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。

inode存贮方法:inode table索引节点表,存储若干文件的元数据

inode number:每个文件都有一个唯一的编号,唯一界限在同一个分区

在inode table 表中:数据字段记录文件的数据内容,记录文件的子目录和子目录节点号

inode节点大小:

inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。
每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。
 由于每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况。这时,就无法在硬盘上创建新文件。

操作系统如何读取文件:

文件名只是便于人查找文件,实际上操作系统内部不使用文件名,而真正使用的是inode的节点,通过文件名,在inode节点表中找到文件相应的节点,在通过节点找到文件的元数据,最后根据元数据来找到文件实际存储的数据。

inode节点包括文件的元信息包括:

  * 文件的字节数
  * 文件拥有者的User ID
  * 文件的Group ID
  * 文件的读、写、执行权限
  * 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
  * 链接数,即有多少文件名指向这个inode

  * 文件数据block的位置

查看inode信息方法:

stat 文件

查看每个硬盘分区的inode总数和已经使用的数量,可以使用df命令。没增加一个文件inode used就会增加1,inodes 是总共可以创建多少个文件

查看每个文件的节点号ls -i ,ll=ls -l

inode 节点表如何存贮数据

指向数据块的指针类型:直接指针数量1-12个

一个数据块最多4k,所以直接指针最多能指向的数据只有48K,大于48K的数据要使用间接指针

间接直接:将指针限制向一个指针块(1024个块)共计能存1024*4k=4M 大于48k  小于4M用

此指针

三重间接指针:从间接指针以此退最多存4G文件

inode节点实际应用

在一台配置较低的Linux服务器(内存、硬盘比较小)的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命令查看了一下磁盘使用情况,发现/data分区只使用了66%,还有12G的剩余空间,按理说不会出现这种问题。 后来用df -i查看了一下/data分区的索引节点(inode),发现已经用满(IUsed=100%),导致系统无法创建新目录和文件。

时间: 2024-11-08 17:26:36

inode节点的相关文章

linux中的inode节点

一.背景 传统的磁盘与文件系统的应用中,一个分区就只能够被格式化成一个文件系统,所以我们可以说一个文件系统就是一个分区.但是由于新技术的利用,例如我们常听到的LVM与软磁盘阵列(software raid),这些技术可以将一个分区格式化为多个文件系统(例如LVM),也能够将多个分区合成一个文件系统(LVM,RAID),通常我们可以称呼一个可被挂载的数据为一个文件系统而不是一个分区. 那么文件系统是怎么运行的呢?这与操作系统的数据有关.较新的操作系统的文件数据除了文件实际内容外,通常含有非常多的属

inode节点与硬链接概念详解

一.inode节点理解 inode(索引节点):存储文件元信息的区域 扇区:在linux系统中,最小的存储单位,通常为512字节(0.5kb) block:linux系统中文件最小的存取区域(操作系统读取硬盘时,一次性连续读取多个扇区,即一次性读取一个块),每个块中通常包含8个扇区,大小为4k 1.看完上面三个名词的解释后,再来看看inode的作用: 1.1.文件数据在块中(一次性可占用多个扇区,且最小占用一个块),那么文件的元信息(创建者.创建日期.大小等)需要找一个地方来储存,这个储存区域就

Linux文件系统中的inode节点详细介绍

这篇文章主要介绍了Linux文件系统中的inode节点,详细讲解了inode是什么.inode包含的信息.inode号码的相关资料等. 一.inode是什么? 理解inode,要从文件储存说起.文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block).这种由多个扇区组成的"块&q

linux服务器inode节点满了

今天linux服务器上有个网站又登录不上去了,还有一个网站一直提示验证码错误, 之前出现后类似的问题,原因是因为服务器inode节点满了,上次是把/tmp文件删除了,搞定 rm -rf /tmp/ 所以这次毫不犹豫地再执行这个命令,执行完了,还是不行,郁闷了. 用df -i 查看inode节点,发现inode节点还是满了, 使用for i in /home/wwwroot/*; do echo $i; find $i | wc -l; done 命令查看发现taoxuexiao这个站点inode

磁盘inode节点被占满的解决方法

Linux服务器,查看日志发现程序无法继续写文件,但是用df -h查看磁盘容量还有剩余. 排查思路:怀疑是机器的inode节点被占满,使用df -i查看磁盘inode节点使用情况,果然是inode节点满了. 进行如下步骤进行排查: 1,df -i查看磁盘节点使用情况,查看到inode节点已满. [[email protected] aig_sg_automation_test]$ df -iFilesystem Inodes IUsed IFree IUse% Mounted on/dev/ma

Linux Centos7 网络扫描nmap和inode节点

一.网络扫描--NMAP NMAP 是一个强大的端口扫描类安全评测工具.设计为检测众多主机数量的巨大网络,支持 ping 扫描.多端口检测.OS 识别等多种技术.使用 NMAP 定期扫描内部网络,可以找出网络中不可控的应用服务,及时关闭不安全的服务,减小安全风险 ? -sS,TCP SYN 扫描(半开扫描):只向目标发出 SYN 数据包,如果收到 SYN/ACK 响应包就认为目标端口正在监听,并立即断开连接:否则认为目标端口并未开放.? -sT,TCP 连接扫描:这是完整的 TCP 扫描方式,用

文件描述符、文件表项指针、inode节点的关系

内核使用3种数据结构表示打开的文件,他们之间的关系决定了在文件共享方面一个进程对另一个进程的影响. (1) 每个进程在进程表中都有一个纪录项,纪录项中包含一张打开文件描述符表,每个文件描述符各占一项,与每个文件描述符相关的是 a. 文件描述符标志 b. 指向一个文件表项的指针 (2) 内核为所有打开文件维护一张文件表项,每个文件表项包含: a. 文件状态(读 写 同步 非阻塞等) b. 当前文件偏移量 c. 指向改文件V节点(i节点)的指针 (3) 没打开一个文件或设备,都有一个V节点结构,V节

一个由INode节点爆满引起的业务故障

http://2358205.blog.51cto.com/2348205/1747951 好久没有写博文了,今天周六,分享一下刚刚处理完的一个小故障 现象描述: 运营妹纸那边反应运营后台报错,具体如下: 一开始以为是tmp的目录没有权限写入,查看目录权限,777,不是这个问题: 查看nginx的错误日志,部分错误信息如下,500错误: 113.xx.xx.48 - - [05/Mar/2016:19:33:09 +0800] "POST /index.php?r=site/login HTTP

inode节点与文件恢复

一.inode和block 1.块→block 硬盘划分为磁头(Heads).柱面(Cylinder).扇区(Sector). 磁头(Heads):每张磁片的正反两面各有一个磁头,一个磁头对应一张磁片的一个面.因此,用第几磁头就可以 表示数据在哪个磁面. 柱面(Cylinder):所有磁片中半径相同的同心磁道构成"柱面",意思是这一系列的磁道垂直叠在一起,就形成一 个柱面的形状.简单地理解,柱面就是磁道. 扇区(Sector):将磁道划分为若干个小的区段,就是扇区.虽然很小,但实际是一