Linux Server에서 File System은 모든 데이터와 Application 파일을 저장하고 관리하는 핵심 구조입니다.
Operating System, Log, Configuration, Database Data, User File 등 Server에서 사용하는 모든 데이터는 File System 위에서 관리됩니다.
기본 구조:
Application↓Linux File System↓Storage Device↓Disk
Linux File System 구조를 이해하면 Disk 부족, inode 문제, Permission 오류, Storage 장애 분석에 활용할 수 있습니다.
| 구성 요소 | 역할 |
|---|---|
| File System | 파일 저장 및 관리 구조 |
| Directory | 파일 위치 관리 |
| inode | 파일 정보 관리 |
| Mount | Storage 연결 |
| Partition | Disk 영역 분할 |
Linux File System이란?
File System은 Storage 장치에 데이터를 저장하고 관리하기 위한 규칙과 구조입니다.
Computer는 Disk에 데이터를 저장하지만 파일 이름, 위치, 권한 등의 정보를 관리하기 위해 File System을 사용합니다.
구조:
File Name↓Directory↓inode↓Data Block↓Storage
Linux Directory Structure
Linux는 표준화된 Directory 구조를 사용합니다.
대표 구조:
/├── bin├── boot├── dev├── etc├── home├── root├── usr├── var└── tmp
최상위 Directory는 Root Directory(/)입니다.
Root Directory(/)란?
Linux File System의 가장 최상위 위치입니다.
모든 Directory는 Root Directory 아래에 존재합니다.
구조:
/↓etc↓var↓home↓usr
/etc Directory
/etc는 Linux System 설정 파일이 저장되는 공간입니다.
주요 파일:
| 파일 | 역할 |
|---|---|
| passwd | 사용자 정보 |
| hosts | Host 설정 |
| fstab | Mount 설정 |
| ssh | SSH 설정 |
Server 운영에서 가장 자주 확인하는 Directory 중 하나입니다.
/var Directory
/var는 변경되는 데이터가 저장되는 공간입니다.
대표:
- Log File
- Cache
- Queue
- Application Data
예:
/var/log
Server 장애 분석 시 Log 확인을 위해 가장 많이 접근합니다.
/home Directory
일반 User의 Home Directory입니다.
구조:
/home↓user1↓Document
사용자별 파일이 저장됩니다.
/root Directory
Root 사용자의 Home Directory입니다.
일반 User:
/home/user
Root User:
/root
/usr Directory
System Application과 Library가 저장됩니다.
대표:
- Binary File
- Library
- Program
예:
/usr/bin
/tmp Directory
임시 파일 저장 공간입니다.
특징:
- 임시 데이터 저장
- 재부팅 후 삭제 가능
Linux File System 종류
Linux에서는 다양한 File System을 사용할 수 있습니다.
| File System | 특징 |
|---|---|
| ext4 | Linux 기본 사용 |
| XFS | 대용량 Storage 적합 |
| Btrfs | Snapshot 지원 |
| tmpfs | Memory 기반 |
ext4 File System
ext4는 Linux에서 가장 널리 사용되는 File System입니다.
특징:
- 안정성
- 저널링 지원
- 높은 호환성
XFS File System
XFS는 Enterprise Server 환경에서 많이 사용됩니다.
특징:
- 대용량 File 처리
- 높은 성능
- 확장성
Database Server나 대규모 Storage 환경에서 사용됩니다.
inode란?
inode는 Linux File System에서 파일 정보를 저장하는 구조입니다.
inode에는:
- File 권한
- Owner 정보
- File 크기
- Timestamp
- Data Block 위치
정보가 저장됩니다.
구조:
File Name↓inode↓Data Block
inode와 File Name 관계
Linux에서는 File Name과 실제 데이터 정보를 분리하여 관리합니다.
구조:
Directory↓File Name↓inode 번호↓Data
inode 부족 장애
Disk 공간이 남아 있어도 inode가 부족하면 새로운 파일 생성이 불가능합니다.
확인:
df -i
예:
FilesystemInodes Used100%
원인:
- 작은 파일 대량 생성
- Log File 증가
- Cache File 누적
Disk 사용량 확인
df 명령어
전체 Disk 사용량 확인:
df -h
확인:
- 전체 용량
- 사용량
- Mount 위치
du 명령어
Directory별 사용량 확인:
du -sh *
대용량 파일 위치 확인에 사용합니다.
Mount란?
Mount는 Storage Device를 Linux File System에 연결하는 과정입니다.
구조:
Disk↓Mount↓Directory↓사용 가능
예:
/dev/sdb1↓/data
/etc/fstab이란?
fstab은 Linux 부팅 시 자동 Mount 설정 파일입니다.
위치:
/etc/fstab
예:
/dev/sdb1 /data ext4 defaults
Partition과 File System 차이
| 구분 | 역할 |
|---|---|
| Partition | Disk 영역 분할 |
| File System | 파일 저장 방식 |
구조:
Disk↓Partition↓File System↓File
Linux Permission과 File System
Linux는 File Permission을 통해 접근을 제어합니다.
구조:
OwnerGroupOther
확인:
ls-l
예:
-rwxr-xr-x
Storage 장애 분석 방법
Disk 문제가 발생하면 단계적으로 확인합니다.
순서:
Application 오류↓Disk 사용량 확인↓inode 확인↓Mount 상태 확인↓File System 확인
File System Check
문제 발생 시 File System 검사가 필요할 수 있습니다.
예:
fsck
주의:
실행 전 Disk 상태 확인이 필요합니다.
Linux File System과 Docker
Docker Container도 File System 구조를 사용합니다.
구조:
Host File System↓Docker Storage Driver↓Container File System
대표:
- OverlayFS
- Volume
Linux File System과 Kubernetes
Kubernetes에서는 Volume을 통해 Storage를 제공합니다.
구조:
Pod↓Volume↓Persistent Storage
사용:
- Database Storage
- Application Data
- Backup
Linux File System Best Practice
권장:
- Disk Monitoring
- Log Rotation 설정
- inode Monitoring
- Backup 운영
- Storage 용량 관리
Linux File System 장점
| 장점 | 설명 |
|---|---|
| 관리성 | 파일 구조 관리 |
| 안정성 | 데이터 보호 |
| 확장성 | Storage 추가 가능 |
| 효율성 | Disk 관리 최적화 |
자주 묻는 질문
Disk 용량은 남았는데 파일 생성이 안 되는 이유는 무엇인가요?
inode가 부족한 경우 발생할 수 있습니다.
Linux에서 가장 많이 사용하는 File System은 무엇인가요?
일반적으로 ext4와 XFS가 많이 사용됩니다.
/var Directory가 중요한 이유는 무엇인가요?
Server Log와 Runtime Data가 저장되어 장애 분석에서 중요합니다.
마무리
Linux File System은 Server 운영의 기본 구조입니다.
Directory, inode, Mount, Permission, Storage 구조를 이해하면 Linux Server 장애 분석과 안정적인 운영이 가능합니다.
| 구성 요소 | 역할 |
|---|---|
| Directory | 파일 위치 관리 |
| inode | 파일 정보 관리 |
| Mount | Storage 연결 |
| Permission | 접근 제어 |
| File System | 데이터 저장 구조 |
Linux File System 구조를 이해하면 Linux Server, Docker, Kubernetes, Cloud Storage 환경까지 확장되는 Infrastructure 운영 능력을 키울 수 있습니다.
함께 보면 좋은 글
- Linux File System 구조 이해하기
- Linux Disk 관리 완벽 가이드! df, du 명령어와 Storage 분석 방법
- Linux Permission 완벽 가이드! chmod와 파일 접근 권한 이해하기
- Linux Process 완벽 가이드! Process 동작 원리와 Resource 관리 방법
- Linux Memory Management 완벽 가이드! RAM 구조와 Server Memory 관리 이해하기