7.3. 파일 시스템
7.3.1. Ext4 파일 시스템
참고
대형 파일 시스템에서 mkfs.ext4
프로세스는 파일 시스템에 있는 모든 inode 테이블을 초기화하는데 시간이 오래 걸릴 수 있습니다. 이 프로세스는 -E lazy_itable_init=1
옵션으로 미룰 수 있습니다. 이 옵션을 사용하면 커널 프로세스는 파일 시스템을 마운트한 후 초기화를 계속 진행하게 됩니다. 이러한 초기화 발생 비율은 mount
명령의 -o init_itable=n
옵션으로 제어할 수 있습니다. 여기서 백그라운드 초기화 실행에 소요되는 시간은 약 1/n입니다. n
의 기본값은 10
입니다.
일부 애플리케이션은 기존 파일 이름을 바꾸거나 잘라내기 및 재작성 후 fsync()
가 항상 제대로 작동한다고 할 수 없기 때문에 이름 바꾸기 (rename)를 통한 재배치 (replace) 작업 및 잘라내기 (truncate)를 통한 재배치 (replace) 작업 이후에 ext4는 파일의 자동 동기화를 기본값으로 설정합니다. 이 동작은 이전의 ext3 파일 시스템 동작과 일치합니다. 하지만 fsync()
작업은 시간이 걸리는 작업이므로 자동 동작이 필요없는 경우 mount
명령과 함께 -o noauto_da_alloc
옵션을 사용하여 이를 비활성화합니다. 즉 애플리케이션은 명시적으로 fsync()
를 사용하여 데이터 일관성을 유지해야 합니다.
기본값으로 저널 커밋 I/O는 일반적인 I/O 보다 약간 더 높은 우선 순위가 부여되어 있습니다. 이러한 우선 순위는 mount
명령의 journal_ioprio=n
옵션을 사용하여 제어할 수 있습니다. 기본값은 3
입니다. 유효한 값의 범위는 0에서 7이며 0은 가장 높은 I/O 우선 순위입니다.
mkfs
및 튜닝 옵션의 경우 mkfs.ext4(8)
및 mount(8)
man 페이지 그리고 kernel-doc 패키지에 있는 Documentation/filesystems/ext4.txt
파일을 참조하십시오.