La foret rouge

서버에서 주로 사용되는 파일 시스템 정리

Published on
Published on
Authors
  • avatar
    Name
    신주용

파일 시스템이란

파일 시스템(File system)이란 컴퓨터에서 파일이나 데이터를 효율적으로 접근하고 관리하기 위한 체계를 가리키는 말입니다1. 구체적으로는 데이터 저장 방식, 파일 및 디렉터리의 구조, 접근 권한 및 메타데이터 처리 등을 규정합니다.
이런 정보가 없는 저장 장치는 데이터를 쓸 수도, 읽을 수도 없습니다. 그래서 우리가 USB 플래시 드라이브나 외장 HDD 드라이브를 구매하면 '포맷'을 하며 파일 시스템을 지정해줍니다. (일반 사용자들은 대부분 Windows 운영체제를 사용하기 때문에 FAT32, exFAT, NTFS 같은 파일 시스템으로 기본적으로 포맷이 되어 나옵니다.)

서버에서 주로 사용되는 파일 시스템 비교

모든 곳에서 뛰어난 단 하나의 파일 시스템은 존재하지 않습니다. 그래서 상황에 맞게 다양한 파일 시스템이 개발되었고 여러 개가 섞여서 사용되기도 합니다. 다음은 서버에서 주로 사용되는 파일 시스템을 비교한 표입니다.

파일 시스템ext4BtrfsXFSFATNTFSZFS
주요 사용 OSLinuxLinuxLinux범용Windows, Windows ServerSolaris, FreeBSD, Linux
설계 목적일반적인 용도, 안정성고급 기능(스냅샷, RAID 등) 지원대용량 파일 처리에 최적화호환성 위주Windows 환경용, 안정성 및 보안 강화데이터 무결성 및 관리 용이성
최대 파일 크기16TB16EB8EB4GB(FAT32), 16EB(exFAT)16TB (이론적으로는 16EB)16EB
최대 파일 시스템 크기1EB16EB8EB2TB(FAT32), 128PB(exFAT)256TB2^128바이트 (거의 무제한)
저널링지원(메타데이터, 전체)지원(사진, 메타데이터) (COW)지원(메타데이터)미지원지원(저널링 기능으로 데이터 복구 용이)지원(COW)
스냅샷미지원지원제한적 지원미지원미지원지원
압축미지원지원미지원미지원지원지원
데이터 무결성기본고급기본낮음기본고급
성능(일반)우수양호우수양호우수우수
대용량 파일 처리양호우수우수제한적우수우수
소형 파일 처리우수양호양호우수우수양호
성능 최적화일반적인 성능 최적화고급 성능 최적화 기능매우 높은 성능낮은 성능 (간단한 구조)높은 성능 (다양한 특징으로 인한 오버헤드 존재)높은 성능 (프리미엄 기능으로 인한 최적화)
복구 능력우수우수제한적제한적우수우수
RAID소프트웨어 RAID하드웨어, 소프트웨어 RAID소프트웨어 RAID미지원지원(Dynamic Disk)내장된 RAID 지원(ZFS Pool)
파일 시스템 검사fsck를 통한 수동 검사자동 검사 및 복구 가능xfs_repair를 통한 수동 검사CHKDSK를 통해 검사CHKDSK를 통해 검사자동 검증 기능 내장
보안 기능기본고급기본낮음고급고급
사용 예시데스크톱 및 서버 용도고급 스토리지 솔루션대용량 서버 및 데이터베이스USB 드라이브, 메모리 카드Windows OS, 외부 드라이브에서의 호환성데이터 저장 및 관리 솔루션

부연 설명

  • Journaling
    • 파일 시스템에서 데이터 무결성과 복구 기능을 향상하기 위해 사용되는 기술.
    • 변경 사항을 파일 시스템에 반영하기 전 Journal이라는 특별한 영역에 기록해 시스템 충돌이나 전원 문제 발생 시 빠르게 복구하는 데 활용.
    • 데이터 손상 가능성을 줄이고 파일 시스템의 일관성을 유지하는 데 도움을 줄 수 있으나, 저널링으로 인한 추가적인 I/O 오버헤드가 발생.

Footnotes

  1. 위키백과. "파일 시스템." 위키백과. https://ko.wikipedia.org/wiki/파일_시스템 (accessed Dec. 09, 2024).