파일 시스템 생성시 큰 파일 기능 및 flac 형식의 파티션에 대한 파일

비디오 및 오디오와 같은 큰 파일 및 flac 형식의 파티션에 대한 파일 시스템을 작성할 때 -T largefile 플래그 를 사용하는 것이 유용 합니까?

플래그가 있고없는 플래그로 동일한 파티션을 테스트했으며 tune2fs -l [partition]을 사용하여 “large_file”이 활성화 된 “파일 시스템 기능”을 확인했습니다. 따라서 -T 플래그 largefile 을 사용할 필요는 없습니까?



답변

-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가 부족할 수 있습니다. untar 할 다른 파티션을 선택하는 것 외에는이 상황에서 수행 할 수있는 작업이 거의 없습니다.

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

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

여기서도 34 천 개의 파일을 만들 수 있습니다.

다음은 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

큰 파일 버전에는 102400 개의 inode가 있고 일반 버전에는 6 개의 553600 개의 inode가 생성되어 프로세스에서 1.5GB가 절약되었습니다.

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


답변

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

large_filedumpe2fs 출력에서 ​​볼 수 있는 기능은이 파일 시스템이 2GiB보다 큰 파일을 보유 할 수 있다는 것을 의미합니다. 현대 커널에서 자동으로 설정 한 것 같습니다. -T옵션 과 관련이 없습니다 mke2fs.


답변