글 목록으로 돌아가기

Linux

디스크 관리

Linux 디스크 추가, LVM, RAID, 디스크 사용량 확인, 파일 시스템 복구 정리

Dohyeon Kim
Dohyeon Kim 2026년 7월 23일 · 3분 읽기
Linux AutoEverSW

1) 디스크 기반 파일 시스템


개요

  • 파일과 디렉토리를 관리하려면 파일 시스템이 필요
  • 초창기에는 Minix File System을 사용했으나 최근에는 ext라는 리눅스 고유 파일 시스템 사용
  • 현재 ext4까지 제공되고 있으며 대용량 파일 시스템을 위한 XFS도 도입됨

종류

ext4

  • 최대 1EB(1024 × 1024 TB)까지의 디스크 크기 제공
  • 16TB까지의 파일 지원
  • 디렉토리 개수는 64000개까지 가능

XFS

  • xfsprogs 패키지를 설치해야 사용 가능
  • 최대 16EB까지 지원

리눅스에서 지원하는 파일 시스템

  • nfs: 원격 서버의 디스크를 연결할 때 사용
  • ntfs: 윈도우 파일 시스템
  • hfs: Mac 파일 시스템

특수한 용도의 파일 시스템

  • swap: 가상 메모리 사용을 위한 파일 시스템
  • tmpfs: 메모리에 임시 파일을 저장
    • 시스템 재시작 시 내용 소멸
    • /tmp 디렉토리가 대표적
    • 필요 시 swap 사용 가능
  • ramfs: 디스크 대신 메모리를 저장 공간처럼 사용
    • 임베디드 장치에서 사용
    • tmpfs와 다른 점은 swap 사용 여부 (ramfs는 swap 사용 안 함)
  • rootfs: 시스템 초기화 및 관리에 필요한 내용을 저장하는 루트 파일 시스템
  • proc: 커널의 현재 상태를 나타내는 파일을 소유
    • 실제 디스크에 저장되는 것이 아니고 메모리에 저장
    • /proc/cpuinfo

2) 리눅스에서 새로운 디스크 사용 방법


디스크 장착

  • 물리적 디스크를 시스템에 장착

디스크 확인

sudo fdisk -l
  • 디스크는 sd영문자 형태로 이름 생성 → sda, sdb, sdc

파티션 생성

  • 파티션: 데이터를 기록할 수 있는 논리적인 공간
sudo fdisk /dev/하드디스크이름
  • 새로 만들기 → n
  • 기존 파티션 삭제 → d
  • 파티션 종류 선택 → p
    • Primary(4개까지 가능)와 Extended
  • 파티션 번호 → 1~4 사이
  • First Sector: 시작 위치 (기본 2048부터)
    • 하나의 물리적 디스크를 논리적으로 여러 개 생성 가능
  • Last Sector: 기본값은 최대값 (사이즈나 섹터 번호로 설정)
  • 마지막에 w를 입력해야 실제로 파티션 생성

포맷 및 파일 시스템 생성

sudo mke2fs -t ext4 /dev/sd디스크이름파티션번호
sudo mke2fs -t ext4 /dev/sdb1

마운트

sudo mount /dev/sd디스크이름파티션번호 마운트할디렉토리
  • VirtualBox 같은 가상화 소프트웨어에서 디스크 크기를 늘린 경우 반드시 수행

3) LVM (Logical Volume Manager)


개요

  • 리눅스의 저장 공간을 효율적이고 유연하게 관리하기 위한 커널의 한 부분
  • 여러 개의 하드디스크를 한 개의 파티션으로 구성한 후 다시 필요에 따라 분할
  • Volume이라는 개념을 도입해 저장 장치를 다룸
  • 스토리지 확장/변경 시 유연하게 크기 변경 가능
  • 기존 데이터의 이전이 필요 없음

기본 개념

개념 설명
PV (Physical Volume) 실제 하드디스크의 파티션
VG (Volume Group) 여러 개의 PV를 묶은 것
LV (Logical Volume) VG를 다시 적절한 크기의 파티션으로 분할한 것
PE PV가 가진 일정한 블록
LE LV가 가진 일정한 블록

과정

# 1. fdisk 명령으로 파일 시스템 생성

# 2. PV 생성
pvcreate

# 3. PV를 하나의 VG로 생성
vgcreate

# 4. VG 활성화
vgchange -a y

# 5. LV 생성
lvcreate

# 6. LV에 파일 시스템 생성
mke2fs

# 7. LV를 마운트해서 사용
mount
  • 클라우드 환경의 저장소 제공 서비스에서 이 기능 사용

4) 디스크 사용량 확인


df (파일 시스템별 디스크 사용량)

  • 형식: df [옵션] [파일 시스템]
  • 옵션
    • a: 모든 파일 시스템 조회
    • k: KB 단위
    • m: MB 단위
    • h: 알기 쉬운 단위
    • t 파일시스템종류: 특정 파일 시스템 종류만 조회
    • T: 파일 시스템 종류 출력

du (디렉토리나 사용자별 사용량)

  • 형식: du [옵션] [디렉토리]
  • 옵션 없이 사용 → 현재 디렉토리의 사용량 출력
  • 옵션
    • -s 디렉토리: 해당 디렉토리의 사용량
    • -h: 알기 쉬운 단위로 출력

5) 파일 시스템 검사 및 복구


fsck

  • 형식: fsck [옵션] [장치이름]
  • 옵션
    • f: 강제로 점검
    • b: 백업 슈퍼블록 사용
    • y: 모든 질문에 yes로 응답
    • a: 문제 발생 시 자동 복구

e2fsck

  • 디스크 검사 명령

badblocks

  • 배드블록 검사 명령

6) RAID


개요

  • RAID: Redundant Array of Independent Disks
  • 여러 개의 하드 디스크를 하나의 하드 디스크처럼 사용하는 방식
  • 비용 절감 + 신뢰성 향상 + 성능 향상 가능

방식

Hardware RAID

  • 하드웨어 제조업체에서 여러 개의 하드 디스크를 연결한 장비를 만들어 공급
  • 고가 → SA-SCSI 방식
  • 중저가 → SATA 하드 디스크 이용

Software RAID

  • 여러 개의 하드 디스크를 묶어 운영체제에서 지원

기대 효과

  • 대용량의 단일 볼륨 사용 효과
  • 디스크 I/O 병렬화로 성능 향상
  • 데이터 복제로 안정성 향상
    • 고가용성: 원하는 경우 언제든 사용 가능

RAID 레벨

레벨 설명
Linear RAID 여러 하드 디스크를 연결해 첫 번째부터 순차적으로 사용
RAID 0 여러 하드 디스크를 연결해 병렬로 사용 (속도 가장 빠름), Stripping
RAID 1 2개의 하드 디스크에 동일한 내용 저장, 결함 허용 시스템, Mirroring
RAID 5 3개 이상의 하드디스크, 하나는 오류 검출용 디스크로 사용
RAID 6 4개 이상의 하드디스크, 오류를 중첩해서 검출

댓글