충돌 후 내 Ext4 파일 시스템(LVM LV)을 실행할 때 다음 오류가 발생했습니다 fsck.ext4 -nf
.
e2fsck 1.42.12 (29-Aug-2014)
Corruption found in superblock. (blocks_count = 0).
The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
or
e2fsck -b 32768 <device>
나는 슈퍼블록의 다른 복사본을 찾아 돌아다녔지 dumpe2fs
만 fsck.ext4
s -b
옵션 뒤에 어떤 복사본을 추가하든 정확히 동일한 결과를 얻습니다.
또한 올바른 블록 수( 16TB 파일 시스템) dumpe2fs
를 확인할 수 있습니다 . Block count: 4294967296
다음은 (잘린) 출력입니다.
Filesystem volume name: <none>
Last mounted on: /storage
Filesystem UUID: fef00ffc-5341-4158-9279-88cad6cc211f
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: 268435456
Block count: 4294967296
Reserved block count: 42949672
Free blocks: 534754162
Free inodes: 268391425
First block: 0
Block size: 4096
Fragment size: 4096
Group descriptor size: 64
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 2048
Inode blocks per group: 128
Flex block group size: 16
Filesystem created: Wed Jan 16 11:07:07 2013
Last mount time: Sun Feb 1 21:21:31 2015
Last write time: Sun Feb 1 21:21:45 2015
Mount count: 18
Maximum mount count: -1
Last checked: Wed Jan 16 11:07:07 2013
Check interval: 0 (<none>)
Lifetime writes: 14 TB
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: c7ec9ee0-002b-431d-a37c-33db922c6057
Journal backup: inode blocks
Journal features: journal_incompat_revoke journal_64bit
Journal size: 128M
Journal length: 32768
Journal sequence: 0x0000e3fe
Journal start: 0
Group 0: (Blocks 0-32767) [ITABLE_ZEROED]
Checksum 0x4623, unused inodes 2034
Primary superblock at 0, Group descriptors at 1-2048
Block bitmap at 2049 (+2049), Inode bitmap at 2065 (+2065)
Inode table at 2081-2208 (+2081)
28637 free blocks, 2036 free inodes, 1 directories, 2034 unused inodes
Free blocks: 4130-4133, 4135-32767
Free inodes: 11, 14-2048
Group 1: (Blocks 32768-65535) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xfd95, unused inodes 2048
Backup superblock at 32768, Group descriptors at 32769-34816
Block bitmap at 2050 (bg #0 + 2050), Inode bitmap at 2066 (bg #0 + 2066)
Inode table at 2209-2336 (bg #0 + 2209)
1522 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
Free blocks: 34817, 35343-36863
Free inodes: 2049-4096
Group 2: (Blocks 65536-98303) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x95d0, unused inodes 2048
Block bitmap at 2051 (bg #0 + 2051), Inode bitmap at 2067 (bg #0 + 2067)
Inode table at 2337-2464 (bg #0 + 2337)
115 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
Free blocks: 85901-86015
Free inodes: 4097-6144
Group 3: (Blocks 98304-131071) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x6e40, unused inodes 2048
Backup superblock at 98304, Group descriptors at 98305-100352
Block bitmap at 2052 (bg #0 + 2052), Inode bitmap at 2068 (bg #0 + 2068)
Inode table at 2465-2592 (bg #0 + 2465)
1505 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
Free blocks: 100895-102399
Free inodes: 6145-8192
Group 4: (Blocks 131072-163839) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x4788, unused inodes 2048
Block bitmap at 2053 (bg #0 + 2053), Inode bitmap at 2069 (bg #0 + 2069)
Inode table at 2593-2720 (bg #0 + 2593)
1808 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
Free blocks: 141552-143359
Free inodes: 8193-10240
Group 5: (Blocks 163840-196607) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0d39, unused inodes 2048
Backup superblock at 163840, Group descriptors at 163841-165888
Block bitmap at 2054 (bg #0 + 2054), Inode bitmap at 2070 (bg #0 + 2070)
Inode table at 2721-2848 (bg #0 + 2721)
2023 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
Free blocks: 165913-167935
Free inodes: 10241-12288
Group 6: (Blocks 196608-229375) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xc119, unused inodes 2048
Block bitmap at 2055 (bg #0 + 2055), Inode bitmap at 2071 (bg #0 + 2071)
Inode table at 2849-2976 (bg #0 + 2849)
1755 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
Free blocks: 198541-198655, 223640-225279
Free inodes: 12289-14336
Group 7: (Blocks 229376-262143) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0xf858, unused inodes 2048
Backup superblock at 229376, Group descriptors at 229377-231424
Block bitmap at 2056 (bg #0 + 2056), Inode bitmap at 2072 (bg #0 + 2072)
Inode table at 2977-3104 (bg #0 + 2977)
1796 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
Free blocks: 231676-233471
Free inodes: 14337-16384
Group 8: (Blocks 262144-294911) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x6a75, unused inodes 2048
Block bitmap at 2057 (bg #0 + 2057), Inode bitmap at 2073 (bg #0 + 2073)
Inode table at 3105-3232 (bg #0 + 3105)
1700 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
Free blocks: 278876-280575
Free inodes: 16385-18432
Group 9: (Blocks 294912-327679) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x3840, unused inodes 2048
Backup superblock at 294912, Group descriptors at 294913-296960
Block bitmap at 2058 (bg #0 + 2058), Inode bitmap at 2074 (bg #0 + 2074)
Inode table at 3233-3360 (bg #0 + 3233)
1986 free blocks, 2048 free inodes, 0 directories, 2048 unused inodes
Free blocks: 297022-299007
Free inodes: 18433-20480
... truncated ...
이상하게도 나는 어떤 (분명한) 문제 없이 파일 시스템을 마운트할 수 있습니다(아직 감히 쓸 수는 없지만).
fsck를 완료할 수 있는 솔루션에 대한 제안/포인터/아이디어가 있습니까?
답변1
장치에 정확히 4294967296개의 블록(2 32 ) 이 있으므로 크기가 다양한 문제인 것 같습니다. 32비트 e2fsck를 실행하는 경우 표시되는 오류 메시지는 다음과 같습니다 e2fsck/super.c
.
check_super_value(ctx, "blocks_count", ext2fs_blocks_count(sb),
MIN_CHECK, 1, 0);
이는 check_super_value()
다음과 같이 정의됩니다.
static void check_super_value(e2fsck_t ctx, const char *descr,
unsigned long value, int flags,
unsigned long min_val, unsigned long max_val)
unsigned long
따라서 4바이트 32비트 시스템에서는 blocks_count
파일 시스템의 실제 문제를 나타내지 않고 0이 되어 최소 검사에 실패하게 됩니다.
충돌 후에만 이 메시지가 표시되는 이유는 fsck
충돌 후에만 실행되거나 파일 시스템이 너무 오랫동안 확인되지 않은 경우에만 실행되기 때문입니다.
귀하의 질문에 대한 대답은 다음과 같습니다.예32비트를 실행 중이라면 e2fsck
64비트 버전을 사용해 보세요...
답변2
새로운 3TB 드라이브에 새 볼륨을 생성하려고 할 때 이 문제가 발생했습니다. 대답은 2개의 파티션을 만들고 좋은 슈퍼블록을 구축한 다음 크기를 조정하여 단일 파티션의 최대 크기를 얻는 것입니다. 광선