저널링 파일 시스템(Journaling File System)은 데이터의 무결성을 보장하기 위해 로그나 저널을 사용하여 파일 시스템의 변경 사항을 기록하는 파일 시스템의 한 형태이다. 이 시스템은 전원 장애, 시스템 충돌 또는 기타 예기치 않은 상황에서 데이터 손실을 방지하도록 설계되었다.
저널링 파일 시스템의 핵심 개념은 파일 시스템의 메타데이터와 데이터 변경 사항을 기록하는 저널을 유지하는 것이다. 일반적으로 파일 시스템에서 파일을 생성, 수정 또는 삭제할 때, 이러한 작업이 바로 수행되는 대신 먼저 저널에 이 변경 사항이 기록된다. 이후 파일 시스템이 안정적일 때 저널에 기록된 내용을 실제 파일 시스템에 반영하게 된다. 이 과정은 파일 시스템이 예기치 않은 상황에 직면했을 때 복구할 수 있는 가능성을 높인다.
저널링 파일 시스템은 크게 세 가지 유형으로 나뉜다. 첫째, 메타데이터 저널링(Metadata Journaling)은 파일 시스템의 메타데이터만 기록하여 로그를 유지하며 데이터 블록 변경 사항은 별도로 처리한다. 둘째, 내용 저널링(Data Journaling)은 메타데이터와 데이터 블록 모두를 저널에 기록한다. 셋째, 혼합 저널링(Hybrid Journaling)은 두 가지 방식을 조합하여 사용한다. 메타데이터에 대한 변경이나 데이터 쓰기 작업을 효율적으로 처리하고, 데이터 안정성을 높인다.
저널링 파일 시스템의 이점에는 시스템 충돌 후 빠른 재시작 시간이 포함된다. 시스템이 예기치 않게 종료되면 저널에 기록된 데이터를 기반으로 이전 상태로 복구할 수 있기 때문이다. 반면, 저널링 파일 시스템은 일반적으로 비저널링 파일 시스템보다 성능이 다소 낮을 수 있으며, 저널 공간을 관리하는 추가 오버헤드가 발생한다.
대표적인 저널링 파일 시스템으로는 NTFS(Windows NT File System), ext3와 ext4(Linux에서 널리 사용됨), HFS+ (Mac OS에서 사용) 등이 있다. 이러한 시스템들은 안정성, 성능, 호환성 측면에서 각기 다른 특징을 가지고 있다.