• Home
  • About
    • 박혜원의 블로그 :) photo

      박혜원의 블로그 :)

      통계, R 또는 Python 프로그래밍에 대하여 글을 쓰는 블로그

    • Learn More
    • Email
    • LinkedIn
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

파일 시스템 구조와 디스크 관리

03 Aug 2025

파일 시스템 구조와 디스크 관리

파일 시스템 개념

리눅스의 파일 시스템은 계층적(Tree 구조)로 구성되어 있으며, 단일 루트(/) 아래에 모든 디렉토리와 파일이 배치된다.
사용자는 여러 개의 디스크나 파티션이 존재하더라도 하나의 구조처럼 인식하게 됨.

파일 시스템의 구성 요소

리눅스 파일시스템 구조
Image generated using DALL·E by OpenAI
  • Super Block : 파일 시스템의 전체적인 메타 데이터 저장
    • 전체 크기, Inode 수, 사용량 등
    • 손상되면 파일 시스템 전체 접근 불가능 할 수도 있음
  • Inode Table : 파일이나 디렉토리 하나하나에 대한 메타 데이터 저장
    • 파일유형, 소유자, 권한정보, 데이터블록의 주소 등
    • 파일 이름은 따로 저장하지 않음
  • Data Block : 파일의 내용이 저장됨

파일 시스템 만들기

  1. 디스크 확인
  2. 파티션 생성 : fdisk /dev/sdX
  3. 파일시스템 생성 : mkfs -t [파일시스템 종류] [디바이스 명]
  4. 마운트 : mount [파일시스템] [경로]
  5. fstab 등록

파티션 생성

fdisk /dev/sdX 실행 후 n(new) 입력
그 후 질문에 맞춰서 원하는 옵션대로 입력하면 된다! 마지막에 w를 해야 저장하고 종료, q를 하면 저장 안 하고 종료

파일 시스템 생성

mkfs (Make File System) 명령어 이용

mkfs -t ext4 /dev/sdb1 # 이게 일반적 방식
mkfs.ext4 /dev/sdb1 # 이런식으로 하기도 함

마운트

mkdir /mydata
mount /dev/sd1 /mydata

fstab 등록

vi /etc/fstab
/dev/sdb1 /mydata ext4 defaults 1 1

fstab 필드 설명

  • 장치경로 (또는 UUID)
  • 마운트 위치
  • 파일 시스템 종류
  • 마운트 옵션
    • defaults
    • ro : 읽기 전용
    • rw : 읽기/쓰기
    • nofail : 실패해도 부팅 계속 진행 등
  • 백업 여부
  • fsck(file system check) 순서
    • 0 : 검사 안함
    • 1 : 먼저 검사
    • 2 : 그 다음 검사

fstab에 등록해야 재부팅해도 다시 마운트 된다!
해당 파일에 등록후에, umount하고 다시 mount해서 오탈자없이 잘 들어갔는지 확인해 주면 좋음!

(참고) umount tip!
umount 할 때는, 해당 경로에 있는 user가 없어야 함
fuser [경로] 로 해당 경로에 누가 있는지 확인 가능
fuser -k [경로]로 유저 kill eject 하면 umount 하면서 cdrom이 열린다!

장치 파일

  • 디스크명 : /dev/sdX
    • sda, sdb, … 이런식으로 등록 됨
    • 그래서 중간에 sdb가 삭제 되면, sdc가 sdb가 되고 … 이런식
    • 따라서 UUID라는 Unique한 값으로 따로 관리한다!
  • 메이저 넘버 : 이 장치를 제어하는 커널 드라이브 넘버 (/proc/devices 에서 확인 가능)
  • 마이너 넘버 : 이 장치를 유일하게 구분하는 번호로 16의 배수
    • 디스크 단위로 미리 16칸을 찜해둔닥 생각하면 됨
    • (MBR 기준) 대표장치가 하나 쓰고, 확장 파티션이 한 개 쓰기때문에, 파티션은 14개까지 가능!

스왑(Swap)

  • RAM이 부족할 경우 디스크의 일부 공간을 임시 메모리처럼 사용
  • os 만들때 웬만하면 만들어 주는 게 좋다!
  • swapon -s 로 확인


Linux Share Tweet +1