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

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

유용하게 사용하고 있습니다-T 대용량 파일비디오와 같은 큰 파일과 flac 형식의 오디오가 있는 파티션에 대한 파일 시스템을 생성할 때 플래그를 지정합니까?

나는 해당 플래그를 사용하거나 사용하지 않고 동일한 파티션을 테스트했으며tune2fs -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

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

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.

관련 정보