JFS(Journaled File System)는 IBM이 개발한 저널링 파일 시스템이다. 최초 버전은 1990년대 초반 IBM AIX 운영체제용으로 도입되었으며, 이후 Linux 커널에도 포팅되어 사용된다. JFS는 파일 시스템 메타데이터와 데이터 변경 사항을 로그(저널)에 기록함으로써 시스템 장애 시 일관성을 빠르게 복구할 수 있도록 설계되었다.
주요 특징
- 저널링: 메타데이터와 선택적으로 데이터 블록을 저널에 기록해 비정상 종료 후 신속한 복구를 지원한다.
- 확장성: 64비트 주소 공간을 활용해 파일 및 파일 시스템 크기를 최대 1 EB(Exabyte)까지 지원한다(실제 구현 한계는 운영체제와 하드웨어에 따라 다름).
- 성능: 저널링 오버헤드를 최소화하기 위해 순차적인 로그 기록 방식을 채택했으며, 대용량 파일 처리와 다중 스레드 환경에서 안정적인 성능을 제공한다.
- 다중 플랫폼 지원: IBM AIX, Linux(커널 2.4 이후), OS/2 Warp 등에서 사용 가능했다. 현재 Linux에서는 ext4, XFS 등과 함께 선택 옵션으로 유지되고 있다.
- 오픈 소스: Linux용 JFS는 GPL 라이선스로 배포되며, 소스 코드는 커널 트리 내
fs/jfs디렉터리에서 확인할 수 있다.
역사
- JFS 1: IBM AIX 5L 3.2(1995)부터 적용. 1999년 Linux 2.4 커널에 초기 포팅이 이루어졌다.
- JFS2: IBM이 AIX 6.1에 도입한 확장 버전으로 64비트 인덱스와 향상된 저널링을 제공한다. Linux에도 JFS2가 포팅되어 현재도 유지보수되고 있다.
채택 및 사용 사례
- 서버 환경: 대용량 데이터를 안정적으로 저장해야 하는 엔터프라이즈 서버에서 JFS/JFS2가 사용됨.
- 임베디드 시스템: 저전력·저자원 환경에서도 안정적인 파일 시스템이 필요할 경우 선택된다.
- 리눅스 배포판: 일부 배포판(예: openSUSE, Debian)에서 JFS 지원 패키지를 기본 제공한다.
현재 상황
Linux 커널에서 JFS는 지속적으로 유지보수되고 있으나, ext4와 XFS가 널리 채택된 현재 시장 점유율은 상대적으로 낮다. JFS에 대한 업데이트는 주로 보안 패치와 호환성 개선에 초점을 맞추고 있다.
위 내용은 공개된 기술 문서와 운영체제 릴리즈 노트를 기반으로 작성되었으며, 확인되지 않은 정보는 포함하지 않았다.