文件系统-inode-block
▶ inode区、block区域、super block
硬盘格式化后,操作系统会将硬盘分成两块区域,block区域【数据区】 和 inode区域。
同时文件系统还有一个用于记录文件系统的整体信息包含inode与block区域总量、使用量、剩余量的区域,该区域称为 super blcok。
▷ inode号码
系统通过不同的inode号码来区分不同的文件,每个文件都会占据一个 inode值,inode内存放 block 文件的号码。
- 系统找到文件名对应的inode号码
- 通过 inode 号码来,获取 inode 的信息
- 根据 inode 的信息,找到文件数据所在的 block 读取数据。
▷▷ 查看文件 inode 的值
- 通过
ll -i。
[root@server ~]# ll -i
total 4
34275168 -rw-------. 1 root root 895 Aug 15 09:20 anaconda-ks.cfg
17278417 drwxrwxrwt. 2 root root 6 Aug 26 10:56 testdir
34275168 和 17278417 就是对应文件 anaconda-ks.cfg文件 和 testdir目录文件对应的 inode 值。
- 通过
stat
[root@server ~]# stat testdir/
File: testdir/
Size: 6 Blocks: 0 IO Block: 4096 directory
Device: fd00h/64768d Inode: 17278417 Links: 2
Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2024-08-26 10:57:10.947291268 +0800
Modify: 2024-08-26 10:56:14.201166928 +0800
Change: 2024-08-26 10:56:58.172985796 +0800
Birth: 2024-08-26 10:56:14.201166928 +0800
Inode 部分就是 testdir/ 对应的 inode 值。
▶ block
操作系统读取硬盘的时候,不会以扇区为单位进行读取,而是一次性读取多个单位的删除,这些多个单位就被称为 block 。
也就是说 block 就是 多个扇区的总和。block 就是文件读取的最小单位,是真正存储数据的地方。
在 Linux 中是 block,而在 Windows 中是 簇。
▷ block 大小与速度
在 格式化 后,block 指定的大小就已经确定了,现在一般是 4KB 也就是物理磁盘上的 8 个扇区。
将block区域的调大可以加快系统询址的速度,但是也会照成有些空间的浪费,而将 block 区域调小不会有前者的空间浪费但是寻址的速度对比前者就会下降。
▷ 查看分区 block 的信息
由于 block 与文件系统有关,所以在查看blcok的时候就需要知道当前分区的文件系统是什么。
在 redhat7 和之后,用的就是 xfs 文件系统,所以使用查看 xfs 文件系统的命令是 xfs_info,而 6 版本 的则是 ext4,使用的是 dump2fs 。
▷▷ xfs文件系统-红帽7后的默认文件系统
[root@server ~]# cat /etc/redhat-release
Rocky Linux release 9.4 (Blue Onyx)
[root@server ~]# xfs_info /dev/mapper/rl_192-root
meta-data=/dev/mapper/rl_192-root isize=512 agcount=4, agsize=1113856 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=1 inobtcount=1 nrext64=0
data = bsize=4096 blocks=4455424, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=16384, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
| 英文 | 内容 |
|---|---|
| isize | 每个inode 的容量大小 |
| agcount | 存储群组 |
| agsize | 存储群组占用的块的个数 |
| sectsz | 扇区 |
| bsize | 块的大小 |
| blocks | 总过块的大小 |
| internal bsize | 操作系统的登陆区块 |
| internal blocks | 操作系统的负责登陆区块的大小 |
▷▷ ext4文件系统-红帽6的默认文件系统
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@localhost ~]# dumpe2fs /dev/sda1
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: <none>
Last mounted on: /boot
Filesystem UUID: 4aecf15c-017a-4715-840e-4a6cae9fcf95
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_ineeds_recovery extent flex_bg sparse_super huge_file uninit_bg dir_ize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 128016
Block count: 512000
Reserved block count: 25600
Free blocks: 463185
Free inodes: 127978
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2032
Inode blocks per group: 254
Flex block group size: 16
Filesystem created: Wed Aug 21 17:48:59 2024
Last mount time: Thu Aug 29 12:39:27 2024
Last write time: Thu Aug 29 12:39:27 2024
Mount count: 4
Maximum mount count: -1
Last checked: Wed Aug 21 17:48:59 2024
Check interval: 0 (<none>)
Lifetime writes: 46 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 7660af06-244f-4408-8bb7-aa5ee96b2183
Journal backup: inode blocks
Journal features: (none)
Journal size: 8M
Journal length: 8192
Journal sequence: 0x0000000d
Journal start: 0
Group 0: (Blocks 1-8192) [ITABLE_ZEROED]
Checksum 0x408b, unused inodes 2015
Primary superblock at 1, Group descriptors at 2-3
Reserved GDT blocks at 4-259
Block bitmap at 260 (+259), Inode bitmap at 276 (+275)
Inode table at 292-545 (+291)
3820 free blocks, 2015 free inodes, 2 directories, 2015 unused i
Free blocks: 4373-8192
Free inodes: 18-2032
--snip--

浙公网安备 33010602011771号