슈퍼블록 데이터 파티션 및 df 사용 가능한 크기

슈퍼블록 데이터 파티션 및 df 사용 가능한 크기

저는 Linux를 처음 사용하는데 특정 파티션에서 사용 가능한 데이터 크기를 알고 싶습니다. 그러나 다른 프로그램을 실행하면 사용 가능한 크기가 달라집니다.

파일 시스템에 대해 내가 아는 것:

  • 파일 및 하위 디렉터리의 이름은 상위 디렉터리 파일에 저장됩니다.
  • 파일의 메타데이터(예: 액세스 권한)는 inode 데이터(inode 데이터 테이블)에 저장됩니다.
  • 각 파티션에는 로깅 시스템이 있을 수 있습니다.

나는 파일 시스템 EXT4를 사용하여 /dev/sdb3에 완전히 새로운 데이터 없는 파티션을 만들었습니다. Lost+Found라는 폴더 하나만이 있습니다. 이 폴더는 자동으로 생성되어 1024바이트의 16개 블록을 사용했습니다. 휴지통용인 것 같습니다.

그리고: sudo dumpe2fs -h /dev/sdb3


나는 얻다:

Filesystem UUID:          38747522-7dbd-45f7-8bc3-a18cf4376b1d
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              13107200
Block count:              52428544
Reserved block count:     2621427
Free blocks:              51328243
Free inodes:              13107189
First block:              0
Block size:               4096
Fragment size:            4096
Group descriptor size:    64
Reserved GDT blocks:      1024
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 15:57:13 2023
Last mount time:          Mon Dec  4 15:59:30 2023
Last write time:          Mon Dec  4 16:16:29 2023
Mount count:              2
Maximum mount count:      -1
Last checked:             Mon Dec  4 15:57:13 2023
Check interval:           0 (<none>)
Lifetime writes:          231 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           256
Required extra isize:     32
Desired extra isize:      32
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      8c75ef2f-d7d6-440b-8ae4-3459397d6a35
Journal backup:           inode blocks
Checksum type:            crc32c
Checksum:                 0xef4a6bbd
Journal features:         journal_incompat_revoke journal_64bit journal_checksum_v3
Journal size:             1024M
Journal length:           262144
Journal sequence:         0x0000000c
Journal start:            1
Journal checksum type:    crc32c
Journal checksum:         0x46b9de63

블록 수: 52428544, 블록 크기: 4096
Inode 수: 13107200, Inode 크기: 256
로그 길이: 262144 블록

그래서 나는 inode 테이블 13107200 * 256/4096 = 819200 블록
(52428544-819200-262144) * 4 = 205388800 1k 블록의 파일 데이터를 계산합니다.

내가 전화할 때: df /dev/sdb3
내가 받는 내용:

Filesystem     1K-blocks  Used Available Use%
/dev/sdb3      205374440 61468 194810880   1%

205388800으로 계산했는데 파일 데이터 블록 크기가 205374440으로
14360 1k 블록의 차이가 남네요. 제가 뭘 잘못하고 있는 걸까요?

다음 질문:
==============
dumpe2fs는 4096바이트의 사용 가능한 블록이 51328243개 있다고 말합니다
. 이는 51328243*4= 205312972 1k 블록입니다.
61468개의 사용된 블록을 추가하면 205374440 1k - 청크를 얻습니다. df에서 그렇습니다.

그러나 사용 가능한 블록에서 예약된 블록을 빼면:
사용 가능한 블록: 51328243
예약된 블록 수: 2621427
(내가 아는 한 이는 루트에 대해 예약된 블록입니다.)

나는 (51328243-2621427)*4 = 194827264 1k 블록의 사용 가능한 크기를 얻었지만 df는 194810880 1k 블록을 사용할 수 있다고 알려 주는데 이는 16384 1k 블록의 차이입니다. 제가 뭔가 잘못하고 있는 것입니까?

마지막 질문:
===================
파티션은 완전 무료입니다. 파티션에는 분실 + 발견 폴더만 있으며 크기는 16 1k블록입니다.
61468 1k 블록을 사용하는 이유 - Inode 테이블, 로그 크기, 61MB의 공간이 필요한 또 무엇에 대해 생각해 보았습니까?

시간을 내주셔서 감사합니다.

관련 정보