커널의 파일 시스템 종류에는 어떤 것들이 있나요?
_____A1. 디스크나 블록 장치 위에 파일과 디렉터리를 조직·관리하는 소프트웨어 계층입니다. 파일의 생성·삭제·읽기·쓰기·메타데이터(권한, 시간 정보 등) 관리를 담당하며, 커널 안팎에서 호출되는 VFS(Virtual File System) 인터페이스를 통해 다종의 실제 파일 시스템을 추상화합니다.
Q2. 리눅스 커널이 지원하는 파일 시스템 종류는 어떻게 분류되나요?
A2. 일반적으로 다음 4가지 카테고리로 나눌 수 있습니다.
1) 로컬 디스크용 (예: ext4, XFS)
2) 읽기 전용·압축용 (예: squashfs, cramfs)
3) 네트워크/분산 (예: NFS, CIFS, CephFS)
4) 가상·의사(프로시저) 및 메모리 기반 (예: procfs, tmpfs)
또한 사용자 공간 모듈 방식(FUSE)으로 추가되는 파일 시스템도 있습니다.
Q3. 로컬 디스크용(저널링/비저널링) 파일 시스템에는 어떤 것들이 있나요?
A3.
• 저널링 파일 시스템
– ext3, ext4: 전통적이며 안정적, 광범위 사용
– XFS: 대용량·고성능에 최적화
– JFS: IBM 개발, 낮은 CPU 부하
– ReiserFS: 작은 파일 처리에 강점
– Btrfs: 스냅샷·RAID·압축·검사 기능 내장
• 비저널링 파일 시스템
– ext2: 단순·가벼움, 주로 부트 파티션 등에 사용
– FAT12/16/32(vfat): 호환성 우수, 윈도우/임베디드에 사용
– HFS/HFS+: 애플 맥 호환
Q4. 저널링 파일 시스템이란 무엇이며, 장단점은?
A4. 변경 전 로그(journal)에 메타데이터(또는 데이터까지)를 기록해 갑작스런 전원 차단 시에도 파일 시스템 일관성을 보장합니다.
장점: 빠른 복구, 데이터 손상 위험 감소
단점: 로그 저장으로 인한 공간·성능 오버헤드, 설계 복잡도 증가
Q5. 읽기 전용·압축 파일 시스템의 용도와 예시는?
A5. 펌웨어·라이브CD·임베디드 이미지처럼 빈번히 수정되지 않는 데이터 배포에 적합합니다.
– squashfs: 블록 단위 압축, 높은 압축률
– cramfs: 간단·경량, 읽기 전용
– romfs: 최소 기능, ROM에 직접 로드
Q6. 네트워크 파일 시스템에는 어떤 것이 있나요?
A6.
– NFS(Network File System): 유닉스 계열 표준, v3/v4 버전
– CIFS/SMB(Samba): 윈도우 파일 공유
– AFS(Andrew File System): 대규모 분산 환경
– CephFS: 오브젝트 스토리지 기반 분산 FS
– GlusterFS: 확장성 강조
– 9p(Plan 9 Fileserver): 컨테이너·가상화에 사용
A7. 실제 디스크 대신 커널 내부 정보를 파일 형태로 노출하는 특수 FS입니다.
– procfs (/proc): 프로세스·시스템 상태 정보
– sysfs (/sys): 디바이스·드라이버 속성
– debugfs: 디버그용 데이터
– configfs: 커널 객체 트리 구성
– securityfs: LSM(SELinux·AppArmor) 인터페이스
– devtmpfs: 디바이스 노드 자동 생성
Q8. 메모리 기반·임시 파일 시스템의 종류는?
A8.
– tmpfs: 메모리+스왑 기반, 동적 크기
– ramfs: 오버플로 검사 없음, 단순
– hugetlbfs: 큰 페이지 지원
– pstore: 커널 패닉·로그 저장용
Q9. FUSE(File System in Userspace)란 무엇이며, 대표적 예시는?
A9. 커널 모듈 대신 사용자 공간 프로세스로 파일 시스템 로직을 구현하는 메커니즘입니다.
대표 예시:
– sshfs: 원격 SSH 서버 마운트
– encfs/ecryptfs: 사용자 공간 암호화
– ntfs-3g: NTFS 쓰기 지원
– google-drive-ocamlfuse, rclone: 클라우드 스토리지 마운트
Q10. 암호화·압축·특수 목적 파일 시스템에는 어떤 것들이 있나요?
A10.
– eCryptfs: 디렉터리 단위 암호화
– fscrypt: ext4/Btrfs/XFS 네이티브 암호화
– dm-crypt/LUKS: 블록 단위 암호화(커널 디바이스 매퍼)
– zramfs: 압축 블록 장치 통한 swap/ramfs
Q11. 커널에 파일 시스템을 추가하거나 제거하려면 어떻게 하나요?
A11.
– 모듈 방식: CONFIG_* 옵션을 m으로 설정 후 insmod/modprobe로 로드/언로드
– 내장 방식: CONFIG_* 옵션을 y로 설정해 커널 빌드 시 포함
– 런타임: /etc/fstab, mount·umount 명령으로 사용
Q12. 파일 시스템 선택 시 고려 사항은 무엇인가요?
A12.
– 용도(데스크톱 vs 서버 vs 임베디드)
– 성능(대용량·작은 파일·랜덤 I/O)
– 안정성(저널링, 체크섬)
– 기능(스냅샷, 압축, RAID)
– 호환성(다른 OS 연동 필요 여부)
작성자:
정준서 [비회원]
| 작성일자: 1년 전
2024-11-06 03:21:57
조회수: 212 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 212 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.