Recent Post»

Recent Comment»

« 2024/5 »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
05-09 15:57

 

'저널링'에 해당되는 글 1

  1. 2013.08.06 파일시스템 종류
 

파일시스템 종류

Tip | 2013. 8. 6. 23:49 | Posted by 짱아
반응형

minix
리눅스에서 처음 사용한 파일 시스템. 파일이름 최대 30자, 파일 시스템당 최대 64MB 지원

ext2
ext3가 나오기 전까지 거의 대부분의 리눅스가 채택한 파일 시스템.
파일이름 256바이트
단일파일 최대 2 GB
디스크 크기 4TB 사용 가능
시스템 비정상 종료시 ext2 파일시스템 검사 프로그램인 e2fsck 실행하여 파일시스템의 일관성 검사 진행. 데이터가 많은 파일시스테의 경우 검사하는 시간이 오래 걸리는 단점

ext3
커널은 2.4부터 지원
ext2 파일시스템에 저널링 기능을 추가한 파일 시스템.
저널링 기능으로 ext2에 비해 데이터 신뢰성 강화 및 빠른 작업 수행 속도

FAT
MS-DOS 및 윈도우즈 운영체제에서 사용되는 파일시스템

FAT32
FAT 파일시스템의 32비트 버전
윈도우즈 95에서 처음 도입.

NTFS
윈도우즈 서버 및 XP, 비스타 운영체에서 쓰이는 파일시스템

iso9660
CD-ROM 표준 파일시스템


* 저널링 파일 시스템

저널링 파일 시스템(영어: Journaling file system)은 주 파일 시스템에 변경사항을 반영(commit)하기 전에, 저널(주로 파일 시스템의 지정된 영역 안의 원형 로그)안에 생성되는 변경사항을 추적하는 파일 시스템이다. 시스템 크래시나 전원 문제가 발생하면, 이러한 파일 시스템은 더 빠르게 online 상태로 돌아오며 손상될 가능성이 낮다.

원리
파일과 디렉터리에 변경을 반영하기 위한 파일시스템 수정은 여러 개의 쓰기 오퍼레이션으로 구분된다. 이러한 이유로 쓰기 동작 중에 전원공급 문제나 시스템 오류(system crash)와 같은 인터럽트가 발생하여 특정 데이터를 비정상적인 중간 상태에 남겨둘 수 있다.

예를 들면, 유닉스 파일 시스템에서 파일을 지우는 것은 아래의 두 단계를 포함한다.:

1. 그 파일의 디렉터리 엔트리를 삭제한다.
2. 파일이 차지하던 공간과 아이노드를 해제하여 free space map에 표시한다.

만약 시스템 오류가 단계 1과 단계 2 사이에서 발생하면, orphaned inode가 발생하고 따라서 스토리지 누수가 발생한다. 또한, 만약 단계 1의 이전에 단계 2만 수행되면, 지워지지 않은 파일(not-yet-deleted file)의 영역이 사용가능한 것(free)으로 표시되어 다른 내용이 덮어쓰기 될 수 있다.

이러한 오류를 검출하고 수정하기 위해서는 해당 데이터 구조의 완전한 워크(walk)가 필요하다. 오류 검출과 수정은 보통 파일시스템이 다음에 읽기-쓰기 접근을 위해 마운트되기 이전에 수행된다. 만약 파일시스템이 크고 상대적으로 I/O 대역폭이 작고, 이 작업이 나머지 시스템이 online으로 돌아오는 것을 블로킹한다면, 이는 긴 시간이 걸리고, 결과적으로 고장시간이 길어진다.

이를 막기 위해, 저널 파일 시스템은, 변경사항을 기록하는 특별한 구역(저널, journal)을 할당한다. 크래시 이후에, 단순히 파일시스템에서 저널을 읽고, 파일시스템의 오류가 복구될 때까지 저널의 변경사항을 리플레이(replay)하는 것으로 복구가 이루어 진다. 따라서 변경사항은 원자적이다. 즉,

- 성공(원래부터 성공이거나 복구를 거쳐 replay가 완전히 수행됨)이거나

- 전혀 replay되지 않아야 한다.(크래시가 발생하기 전에 기록되어야 할 내용이 저널에 완전히 쓰이지 않아서 진행하지 않음)
반응형
: