리눅스/Part3. Ch03. 파일시스템
01. 파일시스템의 이해
Engineer-Lee
2022. 7. 19. 15:51
반응형
파일 시스템
- 스토리지 장치에 파일을 명명하고, 저장하고, 읽어내는 방법을 제공하는 시스템
파일시스템 역할
- 공간 관리: 스토리지 장치에 저장되는 방식을 관리.
예) 하드 디스크 고려한 파일 시스템 à 파편화 관리 (seek time, rotational time) - 파일 이름 관리: 이름 길이, 특수 문자, 대소문자 구분 등
예) 길이제한: exFAT UTF-16 255자, ext4 255 바이트 - 디렉토리 관리: 파일을 포함하는 디렉토리 정보를 관리
예) 부모 디렉토리 정보를 참고하여 블록 배치에 활용 - 메타 데이터 관리: 파일 길이, 권한, 디바이스 타입, 수정 시간, 기타 속성들
- 장애 관리: 시스템 장애 시 파일 유실 방지 (예, 저널링: 메타 데이터나 데이터의 로그를 저장)
예) 디스크 해제 기능 실행 후 usb 메모리를 제거
(참고) 배터리 미 분리, 외장 메모리 미 지원 휴대폰
-> 장애 관리 로직을 단순화 하면서 flash성능을 증가시킬 수 있음
-> 파일시스템 설계 목적이나 스토리지 장치 및 워크로드에 맞게 다양한 파일 시스템 존재
예) XFS : 빠른 복구, 빠른 트랙잭션, 큰 볼륨 지원 등
리눅스 파일 시스템의 분류
디스크 기반 파일 시스템
- 시스템에 연결된 로컬 디스크나 SSD 등을 관리 파일시스템
- EXT3, EXT4, ZFS, BTRFS 등 (Linux)
FAT (Windows), NTFS (Windows)
HFS(MacOS), APFS(MacOS)
네트워크 파일 시스템
- 네트워크로 연결된 다른 컴퓨터의 파일 시스템에 있는 파일을 쉽게 접근하도록 지원
-> 로컬 디렉토리에 마운트 하여 사용 - 여러 서버가 동시에 파일 시스템을 접근 가능
- NFS, SMB, CIFS(Windows) 등
특수 파일 시스템(가상 파일 시스템)
- 실제 디스크 공간을 관리하지 않음
- proc, sysfs , tmpfs, cgroup 등
반응형