luks의 ext4: 최소 "외부 파티션" 크기를 계산하는 방법

luks의 ext4: 최소 "외부 파티션" 크기를 계산하는 방법

Loop0p2에는 ext4를 포함하는 luks2가 포함되어 있습니다. 문제는 내부 파티션을 수용하기 위해 외부 파티션에 필요한 최소 크기를 계산하는 방법입니다. 내부 파티션의 크기가 주어집니다(예: 25614K).

Device       Start   End Sectors  Size Type
/dev/loop0p1  2048  4095    2048    1M Microsoft basic data
/dev/loop0p2  4096 87273   83178 40,6M unknown                      

83178 섹터 (a 512 B) = 42587136 B

cryptsetup luksDump /dev/loop0p2

Metadata area:  16384 [bytes]
Keyslots area:  16744448 [bytes]

42587136 B - 16760832 B (luks2 오버헤드) = 25826304 B

25826304 B == 50442 섹터 == 25221 KiB

dumpe2fs -h /dev/mapper/test| grep -iE '^(block|inode) (count|size)' 
dumpe2fs 1.45.6 (20-Mar-2020)
Inode count:              5232
Block count:              24567
Block size:               1024
Inode size:               128

내부 칸막이: 1285232+245671024 = 25156608 B = 24567KiB

resize2fs /dev/mapper/test 25614K
resize2fs 1.45.6 (20-Mar-2020)
The containing partition (or device) is only 25205 (1k) blocks.

You requested a new size of 25614 blocks.

25221KiB - 25205KiB = 16KiB

따라서 외부 파티션은 41589 KiB를 보유하고 luks 오버헤드는 16368 KiB입니다. 내부 파티션: 25221 KiB 내부 파티션의 실제 크기는 24567 KiB인 것 같습니다. 내부 파티션에 따르면 25205KiB 이상 증가할 수 없습니다.

16KiB에는 무엇이 저장되나요? LUKS 비용을 잘못 계산했나요? ext4와 관련이 있나요?

답변1

"추가" 16KiB는 보조 LUKS2 헤더입니다. "메타데이터 영역: 16384[바이트]"는 헤더의 크기인데 디스크에는 2개가 있습니다. 바라보다LUKS2 디스크 포맷 사양자세한 내용은.

관련 정보