2. 파일 시스템 유형

Linux 는 광범위한 파일 시스템 구현을 지원합니다. 일부는 속도에 최적화되어 있고, 일부는 대용량 저장 용량에 최적화되어 있으며, 일부는 소형 장치용으로 설계되었습니다. 이러한 다양한 파일 시스템 유형 각각은 데이터를 구성하는 고유한 방식을 가지고 있습니다.

가상 파일 시스템 (VFS) 의 역할

너무나 많은 다양한 구현이 존재하기 때문에 애플리케이션은 이들과 상호 작용할 수 있는 일관된 방법이 필요합니다. 이때 가상 파일 시스템 (VFS) 이 등장합니다. VFS 는 리눅스 커널 내의 추상화 계층으로, 애플리케이션과 다양한 파일 시스템 사이에 위치합니다. 이는 단일하고 통일된 인터페이스를 제공하여, 기본 파일 시스템 유형에 관계없이 애플리케이션이 원활하게 작동하도록 보장합니다. 이 유연성 덕분에 디스크에 여러 파일 시스템을 가질 수 있으며, 이는 종종 파티션을 통해 구성되는데, 이는 다음 강의에서 다룰 예정입니다.

데이터 무결성을 위한 저널링

대부분의 최신 파일 시스템 유형은 기본적으로 저널링이라는 기능을 포함합니다. 그 중요성을 이해하기 위해, 컴퓨터의 전원이 갑자기 끊겼을 때 대용량 파일을 복사하는 상황을 상상해 보십시오. 저널링되지 않은 파일 시스템에서는 이러한 중단이 파일 손상과 일관성 없는 파일 시스템 상태를 초래할 수 있습니다. 재부팅 시 시스템은 전체 파일 시스템 검사 (fsck) 를 수행해야 할 수 있으며, 이는 대용량 디스크에서 시간이 오래 걸릴 수 있습니다.

A 저널링 파일 시스템은 이러한 문제를 방지합니다. 쓰기 작업을 수행하기 전에, 의도된 변경 사항을 먼저 특수 로그 파일, 즉 "저널"에 기록합니다. 작업이 성공적으로 완료되면, 저널이 업데이트되어 해당 작업이 완료되었음을 표시합니다. 충돌이 발생하면, 시스템은 재부팅 시 저널을 간단히 읽어 어떤 작업이 진행 중이었는지 확인하고 파일 시스템을 신속하게 일관된 상태로 복구할 수 있습니다. 이는 복구 시간을 획기적으로 단축하고 데이터 손상으로부터 보호합니다.

일반적인 리눅스 파일 시스템 유형

다음은 접하게 될 가장 일반적인 리눅스 파일 시스템 유형 중 일부입니다.

  • ext4 - 리눅스 확장 파일 시스템 (Extended Filesystem) 의 최신 버전으로, 많은 배포판의 기본값입니다. 이전 버전 (ext2/ext3) 과 하위 호환되며 매우 큰 디스크 볼륨 (최대 1 엑사바이트) 과 파일 크기 (최대 16 테라바이트) 를 지원합니다. 대부분의 사용 사례에 대해 안정적이고 표준적인 선택입니다.
  • Btrfs - 종종 "B-tree FS"라고 불리며, 내장 스냅샷, 증분 백업 및 향상된 성능과 같은 고급 기능을 갖춘 최신 파일 시스템입니다. 현재 안정적인 것으로 간주되어 일부 배포판에서는 기본값이지만, 여전히 활발하게 개발 중입니다.
  • XFS - 대용량 파일 및 병렬 I/O 작업을 처리하는 데 탁월한 고성능 저널링 파일 시스템입니다. 이는 대량의 데이터를 관리하는 시스템 (예: 미디어 서버) 에 탁월한 선택입니다.
  • NTFS 및 FAT - 이들은 표준 Windows 파일 시스템 유형입니다. 리눅스는 이들에 대한 읽기 및 쓰기를 완벽하게 지원하므로 듀얼 부팅 시스템에 유용합니다.
  • HFS+ - macOS 에서 사용하는 기본 파일 시스템입니다. 리눅스는 기본적으로 읽기 전용 지원을 제공하며, 추가 도구를 통해 쓰기 지원을 사용할 수 있습니다.

df 명령을 사용하여 시스템에서 사용 중인 파일 시스템을 확인할 수 있습니다.

pete@icebox:~$ df -T
Filesystem     Type     1K-blocks    Used Available Use% Mounted on
/dev/sda1      ext4       6461592 2402708   3707604  40% /
udev           devtmpfs    501356       4    501352   1% /dev
tmpfs          tmpfs       102544    1068    101476   2% /run
/dev/sda6      xfs       13752320  460112  13292208   4% /home

df 명령은 파일 시스템 디스크 공간 사용량을 보고합니다. -T 플래그는 파일 시스템 유형을 구체적으로 표시합니다. 이 도구에 대해서는 나중에 더 자세히 살펴보겠습니다.

로그인하여 학습 진행 상황을 저장하세요

로그인

연습 문제

지식을 실제로 적용하기 위해 다음 실습 랩을 완료하십시오. 이는 리눅스 파일 시스템 및 파티션에 대한 이해를 강화하는 데 도움이 될 것입니다.

  1. 리눅스 파티션 및 파일 시스템 관리 - 이 랩에서는 새 파티션을 생성하고, 특정 파일 시스템 유형으로 포맷하고, 마운트하고, 영구 마운트를 위해 구성하는 연습을 하게 됩니다. 이는 리눅스에서 스토리지를 관리하는 기본적인 기술입니다.

이 랩을 통해 이러한 개념을 실제 시나리오에 적용하고 디스크 관리에 대한 자신감을 쌓을 수 있습니다.

퀴즈

많은 리눅스 배포판에서 가장 일반적이고 기본 파일 시스템 유형은 무엇입니까? (대소문자를 구분하여 영어로 답하십시오)