ext系统的超级块

什么是超级块

如果说inode块是Linux操作系统中文件的核心,那么超级块就是文件系统的心脏。启动Lnux操作系统后,发现某个文件系统无法使用,很有 可能就是超级块出现了问题。为什么这个超级块有这么大的作用呢?主要是因为在超级块中保存了全局文件信息,如硬盘已用空间、数据块可用空间、inode结 点信息等等。做一个形象的比喻,这个超级块就好像是企业的资产负债表,一个文件系统中有哪些资源都记录在这个表中。超级块保存在第一个块组内,并在其他块组留有备份。

ext系统查看超级块信息

例:

dumpe2fs /dev/sdb1:块分组管理命令,显示

[[email protected] ~]# dumpe2fs  /dev/sdb1
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: fdc4a200-1962-4464-a9dc-c3d5c03bc324
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit 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: 196608
Block count: 786432
Reserved block count: 39321
Free blocks: 755396
Free inodes: 196597
First block: 0
Block size: 4096
Fragment size: 4096
Group descriptor size: 64
Reserved GDT blocks: 383
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Flex block group size: 16
Filesystem created: Mon Dec 4 19:52:27 2017
Last mount time: n/a
Last write time: Mon Dec 4 19:52:27 2017
Mount count: 0
Maximum mount count: -1
Last checked: Mon Dec 4 19:52:27 2017
Check interval: 0 (<none>)
Lifetime writes: 66 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 3c095e2f-ab5b-4be9-9dfc-db9704902af0
Journal backup: inode blocks
Journal features: (none)
日志大小: 64M
Journal length: 16384
Journal sequence: 0x00000001
Journal start: 0

Group 0: (Blocks 0-32767)
Checksum 0x02c2, unused inodes 8181
主 superblock at 0, Group descriptors at 1-1
保留的GDT块位于 2-384
Block bitmap at 385 (+385), Inode bitmap at 401 (+401)
Inode表位于 417-928 (+417)
24153 free blocks, 8181 free inodes, 2 directories, 8181个未使用的inodes
可用块数: 8615-32767
可用inode数: 12-8192
Group 1: (Blocks 32768-65535) [INODE_UNINIT]
Checksum 0xf1a2, unused inodes 8192
备份 superblock at 32768, Group descriptors at 32769-32769
保留的GDT块位于 32770-33152
Block bitmap at 386 (bg #0 + 386), Inode bitmap at 402 (bg #0 + 402)
Inode表位于 929-1440 (bg #0 + 929)
32383 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 33153-65535
可用inode数: 8193-16384
Group 2: (Blocks 65536-98303) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0xa943, unused inodes 8192
Block bitmap at 387 (bg #0 + 387), Inode bitmap at 403 (bg #0 + 403)
Inode表位于 1441-1952 (bg #0 + 1441)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 65536-98303
可用inode数: 16385-24576
Group 3: (Blocks 98304-131071) [INODE_UNINIT]
Checksum 0xa96c, unused inodes 8192
备份 superblock at 98304, Group descriptors at 98305-98305
保留的GDT块位于 98306-98688
Block bitmap at 388 (bg #0 + 388), Inode bitmap at 404 (bg #0 + 404)
Inode表位于 1953-2464 (bg #0 + 1953)
32383 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 98689-131071
可用inode数: 24577-32768
Group 4: (Blocks 131072-163839) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0x4c00, unused inodes 8192
Block bitmap at 389 (bg #0 + 389), Inode bitmap at 405 (bg #0 + 405)
Inode表位于 2465-2976 (bg #0 + 2465)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 131072-163839
可用inode数: 32769-40960
Group 5: (Blocks 163840-196607) [INODE_UNINIT]
Checksum 0x8821, unused inodes 8192
备份 superblock at 163840, Group descriptors at 163841-163841
保留的GDT块位于 163842-164224
Block bitmap at 390 (bg #0 + 390), Inode bitmap at 406 (bg #0 + 406)
Inode表位于 2977-3488 (bg #0 + 2977)
32383 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 164225-196607
可用inode数: 40961-49152
Group 6: (Blocks 196608-229375) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0xd0c0, unused inodes 8192
Block bitmap at 391 (bg #0 + 391), Inode bitmap at 407 (bg #0 + 407)
Inode表位于 3489-4000 (bg #0 + 3489)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 196608-229375
可用inode数: 49153-57344
Group 7: (Blocks 229376-262143) [INODE_UNINIT]
Checksum 0x18f0, unused inodes 8192
备份 superblock at 229376, Group descriptors at 229377-229377
保留的GDT块位于 229378-229760
Block bitmap at 392 (bg #0 + 392), Inode bitmap at 408 (bg #0 + 408)
Inode表位于 4001-4512 (bg #0 + 4001)
32383 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 229761-262143
可用inode数: 57345-65536
Group 8: (Blocks 262144-294911) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0xc685, unused inodes 8192
Block bitmap at 393 (bg #0 + 393), Inode bitmap at 409 (bg #0 + 409)
Inode表位于 4513-5024 (bg #0 + 4513)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 262144-294911
可用inode数: 65537-73728
Group 9: (Blocks 294912-327679) [INODE_UNINIT]
Checksum 0x02a4, unused inodes 8192
备份 superblock at 294912, Group descriptors at 294913-294913
保留的GDT块位于 294914-295296
Block bitmap at 394 (bg #0 + 394), Inode bitmap at 410 (bg #0 + 410)
Inode表位于 5025-5536 (bg #0 + 5025)
32383 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 295297-327679
可用inode数: 73729-81920
Group 10: (Blocks 327680-360447) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0x5a45, unused inodes 8192
Block bitmap at 395 (bg #0 + 395), Inode bitmap at 411 (bg #0 + 411)
Inode表位于 5537-6048 (bg #0 + 5537)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 327680-360447
可用inode数: 81921-90112
Group 11: (Blocks 360448-393215) [INODE_UNINIT]
Checksum 0xcc42, unused inodes 8192
Block bitmap at 396 (bg #0 + 396), Inode bitmap at 412 (bg #0 + 412)
Inode表位于 6049-6560 (bg #0 + 6049)
16384 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 376832-393215
可用inode数: 90113-98304
Group 12: (Blocks 393216-425983) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0xbf06, unused inodes 8192
Block bitmap at 397 (bg #0 + 397), Inode bitmap at 413 (bg #0 + 413)
Inode表位于 6561-7072 (bg #0 + 6561)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 393216-425983
可用inode数: 98305-106496
Group 13: (Blocks 425984-458751) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0x9361, unused inodes 8192
Block bitmap at 398 (bg #0 + 398), Inode bitmap at 414 (bg #0 + 414)
Inode表位于 7073-7584 (bg #0 + 7073)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 425984-458751
可用inode数: 106497-114688
Group 14: (Blocks 458752-491519) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0x23c6, unused inodes 8192
Block bitmap at 399 (bg #0 + 399), Inode bitmap at 415 (bg #0 + 415)
Inode表位于 7585-8096 (bg #0 + 7585)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 458752-491519
可用inode数: 114689-122880
Group 15: (Blocks 491520-524287) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0x53eb, unused inodes 8192
Block bitmap at 400 (bg #0 + 400), Inode bitmap at 416 (bg #0 + 416)
Inode表位于 8097-8608 (bg #0 + 8097)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 491520-524287
可用inode数: 122881-131072
Group 16: (Blocks 524288-557055) [INODE_UNINIT]
Checksum 0x7228, unused inodes 8192
Block bitmap at 524288 (+0), Inode bitmap at 524304 (+16)
Inode表位于 524320-524831 (+32)
28656 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 524296-524303, 524312-524319, 528416-557055
可用inode数: 131073-139264
Group 17: (Blocks 557056-589823) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0x6388, unused inodes 8192
Block bitmap at 524289 (bg #16 + 1), Inode bitmap at 524305 (bg #16 + 17)
Inode表位于 524832-525343 (bg #16 + 544)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 557056-589823
可用inode数: 139265-147456
Group 18: (Blocks 589824-622591) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0xb128, unused inodes 8192
Block bitmap at 524290 (bg #16 + 2), Inode bitmap at 524306 (bg #16 + 18)
Inode表位于 525344-525855 (bg #16 + 1056)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 589824-622591
可用inode数: 147457-155648
Group 19: (Blocks 622592-655359) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0xff48, unused inodes 8192
Block bitmap at 524291 (bg #16 + 3), Inode bitmap at 524307 (bg #16 + 19)
Inode表位于 525856-526367 (bg #16 + 1568)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 622592-655359
可用inode数: 155649-163840
Group 20: (Blocks 655360-688127) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0x546b, unused inodes 8192
Block bitmap at 524292 (bg #16 + 4), Inode bitmap at 524308 (bg #16 + 20)
Inode表位于 526368-526879 (bg #16 + 2080)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 655360-688127
可用inode数: 163841-172032
Group 21: (Blocks 688128-720895) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0x1a0b, unused inodes 8192
Block bitmap at 524293 (bg #16 + 5), Inode bitmap at 524309 (bg #16 + 21)
Inode表位于 526880-527391 (bg #16 + 2592)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 688128-720895
可用inode数: 172033-180224
Group 22: (Blocks 720896-753663) [INODE_UNINIT, BLOCK_UNINIT]
Checksum 0xc8ab, unused inodes 8192
Block bitmap at 524294 (bg #16 + 6), Inode bitmap at 524310 (bg #16 + 22)
Inode表位于 527392-527903 (bg #16 + 3104)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 720896-753663
可用inode数: 180225-188416
Group 23: (Blocks 753664-786431) [INODE_UNINIT]
Checksum 0xe548, unused inodes 8192
Block bitmap at 524295 (bg #16 + 7), Inode bitmap at 524311 (bg #16 + 23)
Inode表位于 527904-528415 (bg #16 + 3616)
32768 free blocks, 8192 free inodes, 0 directories, 8192个未使用的inodes
可用块数: 753664-786431
可用inode数: 188417-196608

dumpe2fs -h /dev/sdb1   查看sdb1的ext系统的超级块信息(-h 查看超级块信息,不显示分组信息)

由以上的信息可以看出,超级块保存在块组0的第一个块内,并在1、3、5、7、9几个块组的第一个块留有备份(如果文件系统的块比较多,后面还会有备份)

注意:在创建文件系统时,也会有超级块存储位置的明确位置的。

直接查看超级块保存的位置: dumpe2fs /dev/sdb1 | grep  -i superblock
[[email protected] ~]# dumpe2fs /dev/sdb1 | grep -i superblock
dumpe2fs 1.42.9 (28-Dec-2013)
主 superblock at 0, Group descriptors at 1-1
备份 superblock at 32768, Group descriptors at 32769-32769
备份 superblock at 98304, Group descriptors at 98305-98305
备份 superblock at 163840, Group descriptors at 163841-163841
备份 superblock at 229376, Group descriptors at 229377-229377
备份 superblock at 294912, Group descriptors at 294913-294913

修复ext系列文件系统

fsck和e2fsck可以修复ext的文件系统

fsck -a /dev/sdb1  如果文件系统有错,则自动修复

原文地址:https://www.cnblogs.com/momenglin/p/8485801.html

时间: 2024-11-03 00:15:00

ext系统的超级块的相关文章

目录、目录项、超级块、索引节点、文件

unix中,文件系统被安装在一个特定的安装节点上,该安装点在全局层次结构中被称为命名空间,所有已安装的文件系统都作为根文件系统树的枝叶出现在系统中.本质讲,文件系统是特殊的数据分层存储结构,包含文件.目录和相关的控制信息. 目录: 1.作用:文件是通过目录组织起来的,目录相当于文件夹,用来容纳对应的文件 2.一个例子: /home/csj/1.c 什么是目录,分析一下上面的例子. 根目录 / 这个名词应该都不陌生,后面的 home表示家目录,csj也表示目录,最后的1.c表示一个程序文件 3.上

linux操作系统故障处理-ext4文件系统超级块损坏修复

背景 前天外面出差大数据测试环境平台有7台服务器挂了,同事重启好了五台服务器,但是还有两台服务器启动不起来,第二天回来后我和同事再次去机房检查,发现两台服务器都显示superblock的报错,经过一番处理后两台服务器都正常进系统了,现决定重现superblock故障并将此类问题故障处理思路写下来方便后面新同事参考. 硬盘的结构 硬盘的物理结构侧视图和俯视图,这两张图传递出来的比较重要的信息如下: 磁盘划分为磁头(Head),柱面(Cylinder),扇区(Sector) 磁头:每个磁片正反两面各

文件系统VFS数据结构(超级块 inode dentry file)(收集整理)

Linux虚拟文件系统四大对象: 1)超级块(super block) 2)索引节点(inode) 3)目录项(dentry) 4)文件对象(file) 一个进程在对一个文件进行操作时各种对象的引用过程如下: 通过task_struct得到files_struct,然后通过文件描述符(int fd)获得相应的文件对象(file **fd),接下来获得目录项对象(dentry),最后得到索引节点对象(inode),该对象就包括具体操作该文件的相关操作,这些操作是从超级对象块中继承而来的.它与具体的

Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块

Linux 文件系统错误的修复方法  ddrescue替代dd的恢复软件  备用超级块 最近处理的一件 linux 服务器断电导致文件系统启动后文件系统不可读写,数据不可用的案例,现总结下 Linux 文件系统错误的修复方法.EXT3-fs error (device hda3) in start_transaction: Journal has abortedIf your system abruptly loses power, or if a RAID card is beginning

超级块的定义

超级块,文件系统的心脏. 如果说inode块是Unix操作系统中文件的核心,那么超级块就是文件系统的心脏.启动Unix操作系统后,发现某个文件系统无法使用,很有 可能就是超级块出现了问题.为什么这个超级块有这么大的作用呢?主要是因为在超级块中保存了全局文件信息,如硬盘已用空间.数据块可用空间.inode结 点信息等等.做一个形象的比喻,这个超级块就好像是企业的资产负债表,一个文件系统中有哪些资源都记录在这个表中. 当操作系统启动后,系统内核会把超级块中的内容复制到内存中,并周期性的利用内存里的最

ext2文件系统中的超级块及对应代码

在进行分区时,每个分区就是一个文件系统,而每个文件系统开始位置的那个块就称为超级块.超级块的作用是存储文件系统的大小.空的和填满的块,以及它们各自的总数和其他诸如此类的信息.这也就是说,要使用这一个分区来进行数据访问时,第一个要经过的就是超级块,所以超级块坏了,这个磁盘也就回天乏术了. super block的中文名称是超级块,它是硬盘分区开头--开头的第一个byte是byte 0,从 byte 1024开始往后的1024 bytes. 超级块中的数据其实就是文件卷的控制信息部分,也可以说它是卷

以下模块打印出超级块中某些字段的内容

以下模块打印出超级块中某些字段的内容. #include <linux/module.h> #include <linux/fs.h> #include <linux/init.h> #include <linux/list.h> #include <linux/spinlock.h> #include <linux/kdev_t.h> #define SUPER_BLOCKS_ADDRESS 0xc048db0c // from /

[IO系统]13 通用块层-向通用块层提交IO

前面介绍了块设备的相关概念. buffer_head和bio结构体.接下来主要分析如何向通用块层提交IO. 1.1   分配bio 当向通用块层提交一个IO操作请求的时候,假设被请求的数据块在磁盘上是相邻的,并且内核要已经知道了他们的物理位置.那么首先第一步就是执行bio_alloc()函数        分配一个新的bio描述符,然后内核通过设置一些字段的值来初始化bio描述符.该函数主要做的工作如下: .将bi_sector字段设置为数据的起始扇区号(如果块设备被分成了几个分区,那么扇区号是

超级块坏了的修复——实际上是坏了重做

今天给虚拟机上的/sirsi文件系统扩容,看下所在的vg是有空余pp(300G以上)的 但是: unicorn:/ #chfs -a size=+300G /sirsi                               chfs: 0506-945 The /dev/fslv00 JFS2 filesystem superblock is corrupted.unicorn:/ #fsck -p /sirsi The current volume is: /dev/fslv00File