서버에서 주로 사용되는 파일 시스템 정리
- Published on
- Published on
- Authors
- Name
- 신주용
파일 시스템이란
파일 시스템(File system)이란 컴퓨터에서 파일이나 데이터를 효율적으로 접근하고 관리하기 위한 체계를 가리키는 말입니다1. 구체적으로는 데이터 저장 방식, 파일 및 디렉터리의 구조, 접근 권한 및 메타데이터 처리 등을 규정합니다.
이런 정보가 없는 저장 장치는 데이터를 쓸 수도, 읽을 수도 없습니다. 그래서 우리가 USB 플래시 드라이브나 외장 HDD 드라이브를 구매하면 '포맷'을 하며 파일 시스템을 지정해줍니다. (일반 사용자들은 대부분 Windows 운영체제를 사용하기 때문에 FAT32, exFAT, NTFS 같은 파일 시스템으로 기본적으로 포맷이 되어 나옵니다.)
서버에서 주로 사용되는 파일 시스템 비교
모든 곳에서 뛰어난 단 하나의 파일 시스템은 존재하지 않습니다. 그래서 상황에 맞게 다양한 파일 시스템이 개발되었고 여러 개가 섞여서 사용되기도 합니다. 다음은 서버에서 주로 사용되는 파일 시스템을 비교한 표입니다.
파일 시스템 | ext4 | Btrfs | XFS | FAT | NTFS | ZFS |
---|---|---|---|---|---|---|
주요 사용 OS | Linux | Linux | Linux | 범용 | Windows, Windows Server | Solaris, FreeBSD, Linux |
설계 목적 | 일반적인 용도, 안정성 | 고급 기능(스냅샷, RAID 등) 지원 | 대용량 파일 처리에 최적화 | 호환성 위주 | Windows 환경용, 안정성 및 보안 강화 | 데이터 무결성 및 관리 용이성 |
최대 파일 크기 | 16TB | 16EB | 8EB | 4GB(FAT32), 16EB(exFAT) | 16TB (이론적으로는 16EB) | 16EB |
최대 파일 시스템 크기 | 1EB | 16EB | 8EB | 2TB(FAT32), 128PB(exFAT) | 256TB | 2^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
위키백과. "파일 시스템." 위키백과. https://ko.wikipedia.org/wiki/파일_시스템 (accessed Dec. 09, 2024). ↩