파일 시스템 생성 시 대용량 파일 기능

파일 시스템 생성 시 대용량 파일 기능

매우 유용하게 사용 가능-T 대용량 파일flac 형식의 비디오, 오디오 등 대용량 파일이 포함된 파티션에 대한 파일 시스템을 생성할 때 마킹이 필요합니까?

나는 플래그가 있거나 없는 동일한 파티션을 테스트하고 다음을 사용했습니다.une2fs -l [파티션], "파일 시스템 기능"을 확인했고 "large_file"이 둘 다 활성화되어 있습니다. 따라서 사용할 필요가 없습니다.-T 대용량 파일의 경우 플래그?

답변1

-T largefile플래그는 파일 시스템이 생성될 때 할당되는 inode 수를 조정합니다. 일단 할당되면 해당 번호를 조정할 수 없습니다(적어도 ext2/3의 경우, ext4의 경우 완전히 확실하지는 않음). 기본적으로 디스크 공간 16K당 하나의 inode가 있습니다. -T largefile메가바이트당 하나의 inode를 갖도록 합니다.

각 파일에는 inode가 필요합니다. 남은 inode가 없으면 새 파일을 만들 수 없습니다. 그러나 이러한 정적으로 할당된 inode도 공간을 차지합니다. 기대할 수 있는 것100GB 디스크당 약 1.5GB 절약기본값이 아닌 설정에 따라 -T largefile. -T largefile4(4MB당 하나의 inode)는 그렇게 극적인 효과를 갖지 않습니다.

장치에 저장된 파일의 평균 크기가 1MB를 초과한다고 확신한다면 반드시 설정하십시오 -T largefile. 내 스토리지 파티션에서 사용하는 것이 좋으며 너무 공격적인 설정이라고 생각하지 않습니다. .

그러나 많은 파일(예: 수십만 개)이 포함된 매우 큰 소스 타르볼을 이 파티션에 압축 해제하면 파티션의 inode가 고갈될 위험이 있습니다. 이 경우 추출할 다른 파티션을 선택하는 것 외에는 할 수 있는 일이 없습니다.

다음 명령을 사용하여 라이브 파일 시스템에서 사용 가능한 inode 수를 확인할 수 있습니다 dumpe2fs.

# dumpe2fs /dev/hda5
[...]
Inode count:              98784
Block count:              1574362
Reserved block count:     78718
Free blocks:              395001
Free inodes:              34750

여기서는 여전히 34000개의 파일을 생성할 수 있습니다.

mkfs.ext3 -T largefile -m 0100GB 파티션에서 작업을 실행한 후 얻은 결과는 다음과 같습니다 .

Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/loop1              102369       188    102181   1% /mnt/largefile
/dev/loop2              100794       188    100606   1% /mnt/normal

대용량 파일 버전에는 102,400개의 inode가 있는 반면 일반 버전은 6,553,600개의 inode를 생성하고 프로세스에서 1.5GB를 절약합니다.

파일 시스템에 넣으려는 파일 크기를 잘 알고 있다면 스위치를 직접 사용하여 inode 수를 미세 조정할 수 있습니다 -i. inode당 바이트 비율을 설정합니다. -i 65536백만 개 이상의 파일을 생성할 수 있으면서도 이를 사용하면 75%의 공간을 절약할 수 있습니다. 나는 일반적으로 최소 100,000개의 inode를 예비용으로 유지하는 것으로 계산합니다.

답변2

나는 당신이 완전히 다르고 독립적인 두 가지 개념을 혼동하고 있다고 생각합니다.

dumpe2fs의 출력에서 ​​볼 수 있는 기능은 large_file파일 시스템이 2GiB보다 큰 파일을 수용할 수 있음을 의미하며, 이는 최신 커널에 의해 자동으로 설정된다고 가정합니다. -T옵션 과는 아무런 관련이 없습니다 mke2fs.

관련 정보