Linux inode 之我见
Linux硬盘组织方式为:引导区、超级块(superblock),索引结点(inode),数据块(datablock),目录块(diredtory block).其中超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面的数据结构是索引结点,它包含了针对某一个具体文件的几乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置.但是索引结点中不包括文件的名字,文件名是放在目录块里的.目录块里包含有文件的名字以及此文件的索引结点编号
硬盘盘片为圆形,每个硬盘盘片都有一个可以读写的磁头(Head),将这个磁头固定,使硬盘盘片旋转一周,所走轨迹就是磁道(Track)。硬盘内所有盘片的相同磁道号的集合成为磁柱(Cylinder)。每一磁道被划分成许多区域,每个区域叫一个扇区(Sector)硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。
硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。block的大小在格式化分区的时候就确定了。
硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。每个inode节点的大小,一般是128字节或256字节。此时, inode 与 block 规划好了,除非重新格式化(或者利用 resize2fs 等命令变更文件系统大小),否则 inode 与 block 固定后就不再变动。
关于block
• SuperBlock:如前所述, Superblock 是记录整个 filesystem 相关信息的地方, 没有 Superblock ,就没有这个 filesystem 了。他记录的信息主要有:
o block 与 inode 的总量;
o 未使用与已使用的 inode / block 数量;
o 一个 block 与一个 inode 的大小;
o filesystem 的挂载时间、最近一次写入数据的时间、最近一次检验磁盘 (fsck) 的时间等档案系统的相关信息;
o 一个 valid bit 数值,若此档案系统已被挂载,则 valid bit 为 0 ,若未被挂载,则 valid bit 为 1 。
• Group Description:纪录此 block 由由何处开始记录;
• Block bitmap:此处记录那个 block 有没有被使用;
• Inode bitmap:此处记录那个 inode 有没有被使用;
• Inode table:为每个 inode 数据存放区;
• Data Blocks:为每个 block 数据存放区。
inode包含文件的元信息,具体来说有以下内容:
* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
* 链接数,即有多少文件名指向这个inode
* 文件数据block的位置
eg:
6816307 -rw-r--r-- 1 workherd root 1073741824 Sep 10 11:22 test1126
File: `test1126'
Size: 1073741824 Blocks: 2097160 IO Block: 4096 regular file
Device: 802h/2050d Inode: 6816307 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 502/ workherd) Gid: ( 0/ root)
Access: 2017-09-10 11:22:08.607120512 +0800
Modify: 2017-09-10 11:22:19.665120370 +0800
Change: 2017-09-10 11:28:02.053153370 +0800
inode 要记录的数据非常多,但偏偏又只有 128bytes 而已, 而 inode 记录一个 block 号码要花掉 4byte。 inode 记录 block 号码的区域定义为12个直接,一个间接, 一个双间接与一个三间接记录区。 12 个直接指向 block 号码的对照,这 12 笔记录就能够直接取得 block 号码啦! 至于所谓的间接就是再拿一个 block 来当作记录 block 号码的记录区,如果文件太大时, 就会使用间接的 block 来记录编号。如果文件持续长大,那么就会利用所谓的双间接,第一个 block 仅再指出下一个记录编号的 block 在哪里, 实际记录的在第二个 block 当中。依此类推,三间接就是利用第三层 block 来记录编号。
inode 本身并不纪录文件名,而是记录档案的相关属性,至于文件名则是记录在目录所属的 block 区域。所以当我们要读取一个档案的内容时,我们的 Linux 会先由根目录 / 取得该档案的上层目录所在 inode , 再由该目录所记录的档案关连性 (在该目录所属的 block 区域) 取得该档案的 inode , 最后在经由 inode 内提供的 block 指向,而取得最终的档案内容。读取 /etc/crontab 的流程为:
1. 操作系统根据根目录( / )的相关资料可取得 /etc 这个目录所在的 inode ,并前往读取 /etc 这个目录的所有相关属性;
2. 根据 /etc 的 inode 的资料,可以取得 /etc 这个目录底下所有档案的关连数据是放置在哪一个 Block 当中,并前往该 block 读取档案的关连性内容;
3. 由上个步骤的 Block 当中,可以知道 crontab 这个档案的 inode 所在地,并前往该 inode ;
4. 由上个步骤的 inode 当中,可以取得 crontab 这个档案的所有属性,并且可前往由 inode 所指向的 Block 区域,顺利的取得 crontab 的档案内容。
Linux通过文件元信息中的Blocks和Size参数就能定位文件在磁盘的位置了
可使用命令dumpe2fs /dev/sda1 查看分析信息
- Filesystem volume name: <none>
- Last mounted on: /
- Filesystem UUID: 66b58b73-59ce-41ba-af77-5de77824f4bf
- Filesystem magic number: 0xEF53
- Filesystem revision #: (dynamic)
- Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
- Filesystem flags: signed_directory_hash
- Default mount options: user_xattr acl
- Filesystem state: clean
- Errors behavior: Continue
- Filesystem OS type: Linux
- Inode count:
- Block count:
- Reserved block count:
- Free blocks:
- Free inodes:
- First block:
- Block size:
- Fragment size:
- Reserved GDT blocks:
- Blocks per group:
- Fragments per group:
- Inodes per group:
- Inode blocks per group:
- Flex block group size:
- Filesystem created: Wed Jun ::
- Last mount time: Sun Aug ::
- Last write time: Wed Jun ::
- Mount count:
- Maximum mount count: -
- Last checked: Wed Jun ::
- Check interval: (<none>)
- Lifetime writes: GB
- Reserved blocks uid: (user root)
- Reserved blocks gid: (group root)
- First inode:
- Inode size:
- Required extra isize:
- Desired extra isize:
- Journal inode:
- First orphan inode:
- Default directory hash: half_md4
- Directory Hash Seed: fc4e3a8c-8a9a---10a6d880e11d
- Journal backup: inode blocks
- Journal features: journal_incompat_revoke
- Journal size: 128M
- Journal length:
- Journal sequence: 0x0047b425
- Journal start:
- Group : (Blocks -) [ITABLE_ZEROED]
- Checksum 0x8cdb, unused inodes
- Primary superblock at , Group descriptors at -
- Reserved GDT blocks at -
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories
- Free blocks: , -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x8896, unused inodes
- Backup superblock at , Group descriptors at -
- Reserved GDT blocks at -
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x450c, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: , -, -, -, -, -, -, -, -, -, -, -, -, -, -, , -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x90df, unused inodes
- Backup superblock at , Group descriptors at -
- Reserved GDT blocks at -
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -, -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x33a6, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -, -, -, , -,
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xb3de, unused inodes
- Backup superblock at , Group descriptors at -
- Reserved GDT blocks at -
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x7131, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x139f, unused inodes
- Backup superblock at , Group descriptors at -
- Reserved GDT blocks at -
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x0705, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x7e07, unused inodes
- Backup superblock at , Group descriptors at -
- Reserved GDT blocks at -
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x488e, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xd5a7, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xbd33, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xf752, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x50b0, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xef1f, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xa577, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xf9f3, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x589d, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xf846, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x5a42, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xfa99, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xa520, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x134d, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xb79d, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xc3b6, unused inodes
- Backup superblock at , Group descriptors at -
- Reserved GDT blocks at -
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xa39a, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xc203, unused inodes
- Backup superblock at , Group descriptors at -
- Reserved GDT blocks at -
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xb4f7, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x142c, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xb542, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x1599, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x304d, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x84a8, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x25c6, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x90af, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x2719, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x87c2, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x26ac, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xe290, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xcac6, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x6a1d, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xcb73, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x6ba8, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xc9ac, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x6977, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xc819, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x68c2, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x435b, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x3aec, unused inodes
- Backup superblock at , Group descriptors at -
- Reserved GDT blocks at -
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xbeb1, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x1e6a, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xbc6e, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x1cb5, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xbddb, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x3637, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x4ed4, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x190b, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xb865, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x283f, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x5ecb, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x1a61, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xbb0f, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x1bd4, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x5a3a, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x06be, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x90d2, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x070b, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xa50f, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x05d4, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xa4ba, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x0461, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xa0b1, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x006a, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xa104, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x01df, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xa3db, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x0300, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xa26e, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x02b5, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x292c, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x509b, unused inodes
- Backup superblock at , Group descriptors at -
- Reserved GDT blocks at -
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xd4c6, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x741d, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xd619, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x76c2, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xd7ac, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x7777, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xd3a7, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x737c, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xd212, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x72c9, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xd0cd, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x7016, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xd178, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x71a3, unused inodes
- Block bitmap at (+), Inode bitm
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [ITABLE_ZEROED]
- Checksum 0x792e, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x35a2, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: , -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x41fc, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xe127, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x4323, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xe3f8, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x4296, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xe24d, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x469d, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xe646, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x4728, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xe7f3, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x45f7, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xe52c, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Checksum 0x799d, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xb86a, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xbdc9, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x952e, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -, -, -, -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xd6b8, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x231a, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks: -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0x0e65, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at - (+)
- free blocks, free inodes, directories, unused inodes
- Free blocks:
- Free inodes: -
- Group : (Blocks -) [INODE_UNINIT, ITABLE_ZEROED]
- Checksum 0xaebe, unused inodes
- Block bitmap at (+), Inode bitmap at (+)
- Inode table at -
透过这些记录,我们可以很轻易的就知道哪些 inode 没有被使用,哪些 block 还可以记录
Linux inode 之我见的更多相关文章
- Linux inode && Fast Directory Travel Method(undone)
目录 . Linux inode简介 . Fast Directory Travel Method 1. Linux inode简介 0x1: 磁盘分割原理 字节 -> 扇区(sector)(每 ...
- Linux inode空间占满 “no space left on device”
Linux inode空间占满 提示 “no space left on device” 中文环境:“无法创建XXX目录,设备没有空间” Linux系统iNode耗尽硬盘无法写入文件怎么办?df -h ...
- linux ----Inode的结构图
http://www.ruanyifeng.com/blog/2011/12/inode.html 先看看Inode的结构图 再来了解一下文件系统如何存取文件的 1.根据文件名 ...
- linux inode已满解决方法
今天login server的一个网站,发现login后没有生成session.根据以往经验,一般是空间已满导致session文件生成失败. df -h Filesystem Size Used Av ...
- Linux inode与文件系统关系
inode只有在linux文件系统的概念(ext3,ext4) .inode节点数量与文件存储的关系. 二.在文件系统初始化时设置合适的节点数量. linux服务器在存储文件小而数量多的情况下,需要考 ...
- linux inode 详解 / 线上inode爆满解决方案
本文大量参考阮一峰大神博客,整理笔记 之所以写inode文章是由于一次线上问题,引发对inode深入的思考. 磁盘的inode监控与磁盘空间的监控同等重要,线上服务器一定要做好磁盘inode与磁盘空间 ...
- 深入浅出理解linux inode结构
一.inode是什么? 参考文档:http://tech.diannaodian.com/dw/lin/2012/0112/154629.html 做Android底层驱动或者嵌入式Linux的程序猿 ...
- 深入浅出理解linux inode结构【转】
本文转载自:https://blog.csdn.net/fantasyhujian/article/details/9151615 一.inode是什么? 参考文档:http://tech.diann ...
- Linux inode 详解
操作系统的文件数据除了实际内容之外,通常含有非常多的属性,例如Linux操作系统的文件权限与文件属性.文件系统通常会将这两部分内容分别存放在inode和block中. inode 和 block 概述 ...
随机推荐
- 洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here
你的飞碟在这儿 难度:☆ Code: #include<iostream> #include<cstring> #include<cstdio> using nam ...
- Beginning Python Chapter 1 Notes
James Payne(American)编写的<Beginning Python>中文译作<Python入门经典>,堪称是Python的经典著作. 当然安装Python是很简 ...
- Linux上通过MySQL命令访问MySQL数据库时常见问题汇总
Linux上通过mysql命令访问MySQL数据库时常见问题汇总 1)创建登录账号 #创建用户并授权 #允许本地访问 create user 'test'@'localhost' identified ...
- HDU 4352 XHXJ's LIS (数位DP,状压)
题意: 前面3/4的英文都是废话.将一个正整数看成字符串,给定一个k,问区间[L,R]中严格的LIS=k的数有多少个? 思路: 实在没有想到字符0~9最多才10种,况且也符合O(nlogn)求LIS的 ...
- netbackup如何手动获取主机ID证书。
如何手动获取主机ID证书. 文章:100039650 最后发布:2017-09-21 评分: 20 11 产品:NetBackup 问题 从NetBackup V8.1开始,管理员需要在证书颁发 ...
- 激光推送报错:APNs is not available,please check your provisioning profile and certification 和 设置别名问题 app not registed, give up set tag:
前几天,项目中用到了推送功能,就集成了激光,遇到了2个问题,就给大家分享一下, 第一个问题: 在集成的过程是按照激光的文档做的,但是最后配置完了,一运行,就打印出这么一句话, APNs is not ...
- python 搜集参数
def print_params(*params): print(params) print_params('Testing')print_params(1,2,3) #参数前的星号将所有值放置在同一 ...
- 实验1 c语言最基本内容
part 1 验证性内容 总结:经受了数组和结构体的双重折磨后,发现这部分好简单...现在没啥问题了... part 2 补全程序 1.判断奇偶 // 程序功能: // 要求用户从键盘输入一个整数 ...
- mysql如何让自增id从1开始设置方法
有两种方式 第一种: 如果表中数据没有用.如果直接删除数据,自动增长ID还是不会从1开始的,可以利用“清空数据表”.这样自动增长ID也将会从1开始. 清空表的sql如下 truncate table ...
- 在ubuntu中用命令安装iperf
Iperf的安装要换成阿里的源 sudo add-apt-repository "ppa:patrickdk/general-lucid" sudo apt-get update ...