저널링 (Journaling)

MySprtlty·2022년 8월 7일
0

Linux

목록 보기
5/6

🏷️저널링

  • 저널링은 파일시스템이 깨지는 것과 같은 시스템 장애를 방지하기 위해 어디까지 정상 처리됐고, 어디서부터 재실행하면 되는지 알 수 있도록 저널을 남겨두는 기능이다.
  • 리눅스의 ext4 파일 시스템은 저널링 기능을 갖추고 있다.
  • 저널 영역은 user가 인식할 수 없는 메타 데이터다.
  • 나뉘어 질 수 없어(indivisible) 연속적으로 처리되어야 하는 원자적인(atomic) 처리(transaction) 목록들이 저널 영역에 작성된다.
  • 이 처리 목록을 저널 로그라고 한다.
  • 그 후, 저널 영역을 바탕으로 실제로 파일 시스템의 내용을 업데이트한다.
  • 저널링은 ext4나 XFS같은 파일 시스템에서만 사용되는 것은 아니다
  • 여러 DB에서 REDO LogWAL(Write Ahead Log) 등으로 불리며 데이터를 처리하는 곳이면 거의 대부분 사용된다.

📌파일 시스템 저널링 동작 방법

  • 다음은 /dir2/file3/dir1/로 옮기는(mv) 처리다.

1. 저널 영역을 생성한다.


2. 저널 영역에 처리할 내용을 기록한다. (저널 로그 업데이트)


3. 저널 로그를 바탕으로 1번 처리를 수행한다.


4. 이어서 2번 처리를 수행한다.


5. 저널 영역을 지운다.

📌시스템 장애 방지

  • 저널 로그 업데이트 중에 전원이 끊어지면, 저널 영역의 데이터만 지워지기 때문에 실제 데이터는 처리 전과 같다.
  • 실제 데이터를 업데이트하는 중에 전원이 끊어지면, 저널 로그를 그냥 처음부터 다시 수행하면 된다.

0개의 댓글