상세 컨텐츠

본문 제목

파일 시스템의 관리

카테고리 없음

by yejin123 2024. 2. 2. 01:04

본문

파일 시스템은 간단하게 말하자면 컴퓨터에서 파일이나자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제이다.

 하드 디스크나 CD-ROM과 같은 물리적 저장소를 관리하고  그 위에 파일 및 디렉토리를 구성하는 시스템이다.

 컴퓨터의 저장 장치(디스크 또는 SSD)에 데이터를 어떻게 저장하고 조직하는지에 대한 규칙과 절차를 구성한다.

 

즉, 디스크는 작은 조각으로 나누어져 있고, 이 조각들을 블록이라고 부르며 파일 시스템은 이러한 블록들을 사용하여 파일을 저장하며, 각 파일은 디스크 상의 여러 블록에 분산될 수 있습니다.

 "블록"은 파일 시스템에서 데이터를 저장하는 물리적인 단위를 나타낸다.

 

리눅스 파일 시스템 구조 (block)

Super Block : 파일 시스템의 전반적인 구조 및 상태에 대한 정보를 담고 있다. (1 block)

  • 옆의 (1 block)의 의미는 예를 들어 Superblock이 하나의 블록으로 구성되어 있다는 것을 의미한다.

Group Desciptor Table : 리눅스 파일 시스템에서 블록 그룹에 대한 정보를 저장하는 테이블이다. (n block)

 

Block bitmap : 파일 시스템에서 사용 중인 블록과 사용 가능한 블록을 나타내기 위한 비트맵 구조이다. (1 block)

 

inode : 파일 시스템에서 파일이나 디렉토리와 관련된 메타데이터를 저장하는 데이터 구조이다.

  • 모든 파일들과 디렉터리들은 각 1개의 inode를 할당받는다.
  • super block에서 inode의 개수를 저장한다고 한다.
  • 시스템에서 inode란 하나의 파일이나 디렉터리에 대한 메타데이터를 담고  있다.
  • inode의 개수가 정해지면( Inode의 개수는 파일 시스템을 생성할 때 결정) 파일 시스템은 그 수 만큼 파일이나 디렉터리 생산이 가능하다.

저널링 파일 시스템 : 시스템의 비정상적인 종료 나 발생할 수 있는 데이터 손실, 고장으로부터 데이터를 보호하고 유지하기 위한 시스템

 

여기에서 저널이란?

"저널"이란 용어는 주로 로그(log)를 가리키는데, 특히 파일 시스템이나 데이터베이스에서 발생하는 변경 사항을 기록하는 로그를 가리킬 때 자주 사용된다.

 

디스크(Disk):

  • 디스크는 컴퓨터의 보조 기억 장치로, 데이터를 저장하고 읽고 쓸 수 있는 기기
    • 데이터를 디스크에 쓰는 것:
    • 실제 데이터를 디스크에 기록하는 것을 의미하며  이 작업은 사용자가 요청한 데이터를 실제로 디스크에 반영하는 것으로, 해당 데이터의 영구적인 변경이 일어납니다.

로그(Log):

  • 로그는 시스템에서 발생한 사건을 기록하는 기록(Record)의 형태를 가진 파일이나 데이터베이스
    • 로그에 데이터를 남기는 것:
    • 데이터 변경 작업을 로그에 기록하는 것을 의미합니다.
    • 주로 파일 시스템이나 데이터베이스 시스템에서 사용되며, 변경 작업이 로그에 기록된 후에 해당 작업이 실제로 디스크에 반영

저널링은 데이터를 디스크에 쓰기 전에 로그에 데이터를 남겨 시스템의 비정상적인 문제가 생겨도 로그를 사용해 빠르고 안정적인 복구 기능을 제공하는 기술이다.