파일 시스템 개요
파일 시스템이란, 저장 장치에 데이터를 파일 단위로 저장하고
디렉토리 구조로 관리하는 시스템입니다
운영체제는 이 파일 시스템을 통해 파일과 디렉토리를 인식하고,
사용자와 애플리케이션이 데이터를 읽고 쓸 수 있도록 합니다
파일 시스템 구성 과정
파일 시스템 구성은 운영체제 설치 시에 일어납니다
구성 순서는 다음과 같습니다
파티션 분할
- 전체 디스크 공간을 논리적 단위인 파티션으로 나눕니다
- 하나의 물리 디스크에 여러 개의 운영체제를 설치하거나, 데이터를 분리 및 관리할 수 있습니다
- 일반적으로 최소 1개 이상의 파티션이 필요하며 아래와 같이 구분됩니다:
- / (루트 파티션): 운영체제 파일 위치
- /boot: 부팅 관련 파일
- swap: 가상 메모리 역할
- /home, /var 등: 데이터 또는 로그 저장용
포맷
포맷은 파일을 저장하기 위해 디스크를 일정한 크기로 분할하고 주소를 설정하는 작업입니다
- 각 파티션에 파일 시스템을 설정합니다 ex): ext4, XFS, Btrfs 등
- 저장 장치는 블록 단위로 초기화되며, 디렉토리 구조와 메타데이터 영역 등이 구성됩니다
파일 시스템의 복구 기능
파일 시스템은 예기치 못한 장애로부터 데이터를 보호하거나 복구할 수 있습니다
- 저널링: 변경 사항을 로그에 먼저 기록하여, 시스템이 중단돼도 복구 가능합니다
- fsck(File System Check): 파일 시스템 손상 여부를 점검하고 오류를 복구합니다
- 스냅샷: 특정 시점의 파일 시스템 상태를 저장해 되돌릴 수 있습니다
파일 시스템의 주요 기능
파일 및 디렉토리 관리
- 이름, 경로, 확장자 기반 접근할 수 있습니다
- 트리 구조로 디렉토리가 계층화 되어있습니다
저장 공간 관리
- 디스크를 블록 단위로 나누어 할당 및 해제할 수 있습니다
- 블록 크기와 정렬을 통해 성능 최적화합니다
접근 제어 및 보안
- 소유자, 그룹, 기타 사용자에 대한 rwx 권한을 부여할 수 있습니다
파일 공유 기능
- 여러 시스템 간에 하나의 파일 시스템을 마운트하여 공동 작업 환경을 구성할 수 있습니다
암호화 기능
- 파일 단위 또는 파티션 단위의 데이터 암호화를 지원합니다
장치 독립성
- 상위 애플리케이션은 파일 시스템이 어떤 디스크에 있는지 알 필요가 없습니다
단순히 경로에 대한 정보를 알고 있으면 접근할 수 있습니다
- 또한
mount
명령어를 통해 다른 디바이스의 파일 시스템을 동일한 방식으로 접근가능합니다
참고
- CentOS 7로 이해하는 리눅스 관리 및 시스템 보안 - 도서