본문 바로가기

카테고리 없음

2021.07.01 파일 시스템

728x90

개요

file system이란 저장장치에 파일 등을 저장하고 관리하기 위한 논리적 자료구조로써 저장된 파일을 쉽게 찾을 수 있도록 유지 관리해 주는 시스템.

 

우리가 흔히 컴퓨터에서 보는 파일들이 파일시스템에 의해 관리받고 있다고 생각하면 된다.

구조

Unix, Linux 계열의 운영체제는 Tree형태의 계층적인 파일구조를 구성한다.

block이란 파일시스템에서 데이터를 저장하는 단위, 메모리에서 I/O작업을 한번 거칠 때의 단위

  • boot block : 부팅하거나 초기화를 위한 bootstrap 코드를 답고 있는 block
  • super block : 파일시스템 관리를 위한 전체적인 정보를 담고 있는 block
  • i-node table : 파일에 대한 속성 정보를 관리하기 위한 block
  • data block : 실제 파일의 내용이 저장되는 block

i-node table

  • I-node는 파일에 대한 디스크 상의 데이터 구조로서, 파일의 데이터 block이 디스크 상의 어느 주소에 위치하는지와 같은 파일에 대한 중요 속성 정보를 기록하기 위해 사용된다.
  • 구성 설명
    i-node number 해당 파일시스템 내 파일을 식별하기 위한 고유한 식별자
    file type file, directory, 장치파일 등 파일 유형
    접근권한 파일에 대한 접근권한
    link count 해당 i-node를 참조하는 link 개수
    소유주 UID
    소유그룹 GID
    파일크기 파일크기
    MACDB Time
    (Time stamp)
    파일에 대한 무결성(변조여부) 검증에 필요
         1. 파일내용 마지막 수정시간 (Modify)
         2. 파일에 마지막 접근시간 (Access)
         3. 파일속성 변경시간. 즉, I node 자료구조에 변경이 일어 났을 때의 시간정보 (change)
         4. 파일이 삭제된 시간 (Deletion)
         5. 파일 생성시간 (Birth)
    block Index Data block에 저장되어 있는 파일 내용에 대한 색인정보

Access 시간은 파일에 접촉한 시간

Modify 시간은 파일 내용 수정한 시간

Change 시간은 파일의 속성이 변경된 시간

 

침해사고 발생시 피해 시스템 파일의 무결성을 확인하기 위해 위 3가지 시간으로 타임라인 분석을 실행한다.

 

OS별 파일 시스템

  • 하드 유형
    • IDE : /dev/hdx, cpu에서 하드 관리, 부팅 후 장착 불가
    • SCSI : /etv/sdx, 내부의 SCSI 칩이 직접 관리, 기업에서 많이 사용, 부팅 후 장착 가능
  • 파일 시스템 종류
OS 구분 설명
Windows NTFS(New Technology File System) 윈도우의 대표적인 FIle System은 FAT시리즈, REFS등이 있다.
클러스터의 크기와 하드 크기 그리고 지원되는 OS에 따라 달리 구분
Linux EXT2 UFS에서 불필요한 구조들은 제거함
UFS 수준의 속도와 안전성을 가지고 있음
EXT3 EXT2에 저널링 기능을 추가한 File System
리눅스 기본 File System
EXT4 EXT3에 비해 저널링과 속도가 상승했다.
XFS 대용량 file system
Unix UFS(Unix File System) 유닉스의 대표적인 File System
대부분의 유닉스들이 UFS를 각각의 OS에 맞게 변형해서 사용
  • 저널링 기능
    • ext2에서 파일 시스템 복구 : 시스템 크러쉬가 발생 할 경우 파일 시스템 검사 프로그램인 fsck가 실행되어 파일 시스템을 검사하여 파일을 복구. 시간이 많이 걸린다.
    • ext3에서 파일시스템 복구(저널링 기능을 곁들인) : 하드디스크에 데이터를 기록하기 전 관련 데이터를 로그에 기록하여 만약, 시스템 크러쉬가 발생 할 경우 기록된 데이터 로그를 기반으로 파일을 빠르게 복구
728x90