05/11 — 저장장치·파일시스템·장치·백업

01에서 “장치 위에 파일시스템을 만들고 디렉터리에 마운트한다”를 배웠다. 이번에는 그 아래 공간을 묶고 늘리는 방법, 위의 파일을 보호하고 복구하는 방법까지 연결한다. 아래 포맷·볼륨·복원 명령은 필기용 식별 대상이지 실행 지시가 아니다. 실제 디스크에는 실행하지 않는다.

1. 계층을 먼저 보기

일반 파티션을 바로 파일시스템으로 쓸 수도 있고, RAID·LVM을 사이에 둘 수도 있다.

디스크/파티션 → [RAID 또는 LVM 같은 선택 계층] → 파일시스템 → 마운트 지점 → 파일

저장 공간 확장은 아래 장치·볼륨의 용량을 확보한 뒤, 그 위 파일시스템을 확장하는 순서로 이해한다. LVM에서는 LV 크기와 파일시스템 크기를 각각 확인한다.

확인 명령보는 것
lsblk -f블록 장치 계층·파일시스템·마운트 정보
blkidUUID·파일시스템 형식 등의 식별 정보
findmnt마운트 관계
df -h마운트된 파일시스템의 공간 사용
df -iinode 사용
du -sh 경로해당 경로의 파일들이 차지하는 공간
fdisk -l / parted -l파티션 구조 조회

공간이 남았는데 새 파일 생성이 안 되면 inode 고갈·quota·권한도 본다. df와 du가 다르면 열린 채 삭제된 파일, 가려진 마운트 아래의 파일, 예약 공간 등 원인이 가능하다. du는 탐색 가능한 파일 기준, df는 파일시스템 통계 기준이다.

2. 파일시스템 종류와 검사

종류핵심 성격
ext2전통적 Linux 파일시스템, 저널링 없음
ext3ext2 계열에 저널링 추가
ext4extent 등 확장, 저널링, ext 계열 도구
XFS대용량·확장성, RHEL 8에서 대표적인 선택
BtrfsCoW, 서브볼륨·스냅샷·체크섬 등. 배포판 지원 확인
vfatFAT 계열 호환. 전통적인 Unix 소유권·권한 표현에 한계
iso9660광학 매체 이미지
tmpfs메모리 기반 임시 파일시스템. 상황에 따라 swap 활용 가능
proc / sysfs프로세스·커널·장치 정보를 드러내는 가상 파일시스템

저널링은 메타데이터 등 변경 기록으로 비정상 종료 후 파일시스템의 일관성 회복을 돕는다. 백업은 별도로 보존한 사본을 사용해 파일과 데이터를 복원한다. 파일시스템 종류와 저널링 모드에 따라 데이터 보호 범위도 달라진다.

mkfs는 파일시스템 생성 계열 명령이며 기존 내용을 파괴할 수 있다. mkfs.ext4·mkfs.xfs처럼 형식별 도구를 구별한다. fsck는 검사 도구의 공통 진입점이며 실제 형식별 검사기가 따로 있다. ext 계열은 e2fsck, XFS 복구는 xfs_repair와 연결한다. 쓰기 마운트 중인 파일시스템을 함부로 복구하지 않는다.

ext 계열 크기 변경은 resize2fs를 사용하며 확장은 온라인 지원이 가능하고 축소는 일반적으로 언마운트 후 수행한다. 파일시스템 축소가 가능한 경우에도 아래 장치를 먼저 줄이면 데이터가 잘린다. resize2fs

RHEL/Rocky 8 학습 기준 XFS는 확장은 가능하지만 축소는 지원하지 않는 것으로 구별한다. xfs_growfs는 마운트된 파일시스템을 대상으로 확장한다. 최신 upstream의 실험적 기능 유무를 오래된 시험 환경에 그대로 적용하지 않는다. xfs_growfs

3. mount와 fstab

mount는 파일시스템을 디렉터리 트리에 연결하고 umount는 연결을 해제한다. 마운트 지점에 원래 있던 파일은 아래 파일시스템에 그대로 보존되고, 마운트가 해제되면 다시 보인다. 사용 중이라 해제되지 않으면 그곳을 현재 디렉터리로 쓰는 셸, 열린 파일 등을 확인한다.

옵션의미
ro / rw읽기 전용 / 읽기·쓰기
noexec그 파일시스템에서 직접 실행 제한
nosuidSUID·SGID 등 특권 효과 제한
nodev장치 특수 파일 해석 제한
noautomount -a 등의 자동 대상에서 제외
user일반 사용자 마운트 허용과 관련
defaults기본 옵션 묶음
_netdev네트워크가 필요한 마운트임을 표시하는 데 사용

noexec는 해당 파일시스템의 파일을 직접 실행하는 경로를 제한한다. 인터프리터가 스크립트 내용을 읽어 처리하는 경로는 인터프리터 실행·파일 읽기 정책으로 관리한다. mount

fstab은 여섯 필드로 읽는다.

UUID=실제-UUID  /data  ext4  defaults  0  2
  1. 장치·UUID·원격 경로.
  2. 마운트 지점.
  3. 파일시스템 종류.
  4. 마운트 옵션.
  5. dump 관련 값. 0은 대상 아님.
  6. 부팅 시 fsck 순서. 0 제외, 전통적으로 root 1, 그 외 2.

UUID는 파일시스템 식별자이며, 장치 이름의 탐지 순서가 바뀌어도 해당 파일시스템을 지정하는 데 쓴다. mount -a는 fstab의 자동 마운트 대상에 실제 마운트를 수행한다. systemd 환경에서는 fstab을 unit으로 변환하는 과정도 있다. fstab

4. swap와 quota

swap은 RAM의 일부 페이지를 디스크 등의 공간으로 내보내 메모리 관리를 돕는다. 일반 파일시스템은 파일을 저장하고, swap 영역은 메모리 페이지의 보조 저장 공간으로 쓰인다. 디스크 기반 swap의 접근 속도는 RAM보다 느리므로 메모리 압박과 성능을 함께 살핀다.

  • mkswap: swap 영역 준비. 내용 변경 주의.
  • swapon / swapoff: 사용 시작 / 중지.
  • swapon —show: 현재 swap 확인.
  • free: 메모리와 swap 사용 확인.
  • fstab의 swap 항목은 swap 영역 활성화 정보를 기록하며 swapon이 이를 사용한다.

quota는 사용자·그룹 등에 대한 저장 사용 한도다. 블록 한도와 inode 한도를 구별한다. 큰 파일 몇 개는 블록, 작은 파일 아주 많음은 inode 한도에 영향을 준다.

soft limit는 유예 기간과 연결되는 한도, hard limit는 넘을 수 없는 상한이다. quota 조회, edquota 편집, repquota 집계, quotaon/off 적용, quotacheck 사용량 검사라는 역할을 연결한다. XFS quota는 xfs_quota 등 해당 파일시스템용 도구와 절차로 관리한다.

5. RAID: 성능·가용성·용량의 교환

동일 크기 디스크 N개, 한 개 용량 S, 예비 디스크 제외라는 단순 조건에서 계산한다.

수준구성최소 디스크사용 가능 용량장애 허용
RAID 0스트라이핑2N×S없음
RAID 1미러링2전부 같은 내용 미러라면 S복제본이 남아야 함
RAID 5분산 단일 패리티3(N−1)×S보통 1개
RAID 6분산 이중 패리티4(N−2)×S보통 2개
RAID 10미러 쌍을 스트라이핑보통 4, 짝수(N/2)×S어느 미러 쌍이 고장 났는지에 따라 다름

RAID 10은 각 미러 쌍에 정상 디스크가 하나 이상 남을 때 데이터를 유지한다. 장애 허용 수는 고장 난 디스크의 조합에 따라 달라진다. RAID 0은 데이터를 분산 배치해 성능과 전체 용량을 활용하며, 한 디스크 장애가 배열 데이터 손실로 이어질 수 있다. RAID 2·3·4는 레거시 비교 대상으로, 각각 해밍 코드·바이트 단위 전용 패리티·블록 단위 전용 패리티의 특징을 알아둔다.

하드웨어 RAID는 컨트롤러, Linux 소프트웨어 RAID는 md 계층·mdadm과 연결한다. /proc/mdstat는 상태 조회다. hot spare는 고장 시 재구성에 투입할 예비 장치이며 사용 가능 용량은 활성 데이터·패리티 구성으로 계산한다. 중복성을 가진 RAID는 디스크 장애 시 가용성을 높이고, 별도 백업은 오삭제·랜섬웨어·전체 장비 손실 이후의 복구를 담당한다. mdadm

6. LVM: 장치를 모아서 논리적으로 나누기

PV는 LVM에 편입한 물리 볼륨, VG는 PV들을 모은 공간 풀, LV는 그 풀에서 할당한 논리 볼륨이다. PE는 물리 공간 할당 단위, LE는 논리 단위로 연결해 기억한다.

PV 여러 개 → VG → LV 여러 개 → 각 LV 위 파일시스템
단계생성·변경 도구조회
PVpvcreatepvs / pvdisplay
VGvgcreate, vgextendvgs / vgdisplay
LVlvcreate, lvextendlvs / lvdisplay

LV를 늘리는 일반 흐름은 VG 여유 확인 → LV 확장 → 파일시스템 확장이다. 일부 lvextend -r 흐름은 파일시스템 변경도 함께 요청하지만 성공 여부·지원 형식을 확인해야 한다. lvs로 LV 확장을, df로 파일시스템 확장을 각각 확인한다.

스냅샷은 특정 시점의 논리적 상태를 보존한다. 같은 저장장치에 의존하는 스냅샷은 그 장치의 장애 영향을 함께 받으므로, 장치 손실 복구용 사본은 별도 저장 위치에 보존한다. thin provisioning은 실제 공간보다 큰 논리 용량을 약속할 수 있지만 풀 고갈 위험이 있다. RHEL 8 LVM 개요

7. 드라이버·모듈·주변장치

드라이버는 커널이 장치를 다루는 코드다. 커널에 내장할 수도 있고 모듈로 적재할 수도 있다. /dev의 장치 파일은 프로그램이 장치에 접근하는 인터페이스다. major/minor 번호는 그 접근을 해당 드라이버·장치 대상으로 연결하는 데 쓰인다.

  • lspci: PCI 장치, lsusb: USB 장치.
  • lsmod: 적재된 모듈 목록.
  • modinfo: 모듈 정보.
  • insmod: 의존 모듈이 준비된 상태에서 지정 모듈 파일을 적재.
  • modprobe: 의존성·설정을 고려한 적재·제거.
  • rmmod: 모듈 제거.
  • depmod: 모듈 의존성 정보 생성.
  • /lib/modules/커널버전, /etc/modprobe.d/: 모듈·설정 위치.

udev는 장치 이벤트에 따라 /dev 노드·권한·심볼릭 링크 등을 관리한다. udev 규칙은 이벤트 처리 방식을 정하고, 장치 조회와 커널 로그는 실제 인식 상태를 보여준다. dmesg·journal의 커널 로그로 탐지 단서를 본다. modprobe

프린터는 CUPS, cupsd, IPP와 연결한다. lp 또는 lpr로 작업 제출, lpstat로 상태, cancel 또는 lprm으로 취소, lpadmin으로 프린터 구성을 관리한다. CUPS 웹 관리의 대표 포트는 631이다. 프린터 활성화는 대기 작업의 출력을, 작업 접수 허용은 새 인쇄 요청을 큐에 받는 동작을 제어한다. CUPS 명령행 안내

사운드는 ALSA 드라이버·라이브러리와 alsamixer·aplay 같은 도구, 그 위 사용자 오디오 서버를 구분한다. 사용자 오디오 서버의 종류는 배포판과 버전에 따라 확인한다. 스캐너는 SANE, 저장장치 연결은 블록 장치·마운트 흐름으로 연결한다.

8. 압축·백업·복구

tar는 여러 파일과 디렉터리를 하나의 아카이브로 묶고, gzip·bzip2·xz는 데이터 크기를 줄이는 압축을 담당한다.

tar 옵션
c / x / t생성 / 추출 / 목록
v / f상세 출력 / 아카이브 파일 지정
z / j / Jgzip / bzip2 / xz 압축 연결
tar -czf notes.tar.gz notes/
tar -tf notes.tar.gz

첫째는 묶으면서 gzip, 둘째는 목록 확인이다. 실제 복원에서는 별도 빈 디렉터리·권한·경로를 확인해 기존 파일 덮어쓰기를 피한다. gzip/gunzip, bzip2/bunzip2, xz/unxz는 압축·해제 쌍이고 원본 보존 옵션 여부도 구별한다.

방식백업 기준복구에 필요한 것
전체대상 전체해당 전체 백업
증분마지막 백업 이후 변경전체 + 필요한 증분 연쇄
차등마지막 전체 백업 이후 변경전체 + 최신 차등

금요일 전체, 토·일·월 증분이면 월 상태 복구에 전체와 세 증분이 필요하다. 차등이면 전체와 월 차등이 기본이다. 증분은 보통 백업량을 줄이고 복구 단계가 늘며 차등은 시간이 지날수록 백업량이 커질 수 있다.

dd는 블록 단위 복사로 if 입력·of 출력·bs 블록 크기를 구별한다. 출력 장치를 잘못 지정하면 파괴적이다. dump/restore는 파일시스템 백업 도구 쌍으로 레벨과 지원 형식을 확인한다.

rsync는 차이를 반영해 동기화·복사한다. -a는 재귀 복사와 권한·소유권·시각 등 보존을 묶은 아카이브 모드다. ACL은 -A, 확장 속성은 -X, 하드 링크 관계는 -H로 보존을 요청한다. 원본 경로 끝 / 유무는 디렉터리 자체와 내부 내용 복사 차이를 만든다. —delete는 목적지 파일 삭제를 수반하며, 학습 중 실행하지 않는다. rsync 공식 매뉴얼

백업의 복구 가능성은 복원 테스트에서 데이터·권한·암호화 키·애플리케이션 일관성을 확인해 판단한다. RAID는 장치 구성과 가용성, 스냅샷은 시점 상태 보존, 동기화는 변경 반영, 백업은 복구용 사본 보존이라는 역할로 연결한다.

필기용 압축

  • df는 파일시스템 공간, du는 경로 아래 파일 사용량, df -i는 inode 사용량을 조회한다.
  • mkfs는 파일시스템 생성, fsck는 검사, mount는 디렉터리 트리 연결을 담당한다. 저널링은 비정상 종료 후 일관성 회복을 돕는다.
  • fstab은 장치·마운트 지점·형식·옵션·dump·fsck 순서의 6필드다. 마지막 값은 0 검사 제외, 1 루트 우선, 2 나머지 검사로 읽는다.
  • swap은 메모리 페이지의 보조 저장 공간이다. quota는 사용자·그룹 등의 블록 및 inode 사용 한도를 관리한다.
  • RAID 0은 스트라이핑, 1은 미러링, 5는 단일 분산 패리티, 6은 이중 분산 패리티, 10은 미러 쌍의 스트라이핑이다. RAID 10은 각 미러 쌍에 정상 복제본이 남아야 한다.
  • PV를 VG로 모아 LV에 할당하고 그 위에 파일시스템을 만든다. 확장은 VG 여유 확인 → LV 확장 → 파일시스템 확장 순서다.
  • lsmod는 적재 모듈 조회, modprobe는 의존성을 고려한 적재·제거, depmod는 의존성 정보 생성을 담당한다. CUPS의 lp는 작업 제출, lpstat는 상태 조회다.
  • tar는 아카이브, gzip·bzip2·xz는 압축이다. 증분 복원은 전체와 필요한 증분 연쇄, 차등 복원은 전체와 최신 차등을 사용한다.
  • 백업은 복구용 사본을 보존하고, 복원 테스트는 그 사본으로 데이터와 서비스를 되살리는 절차를 확인한다.

회상점검 — 단원 끝 한 번

  1. df·du·df -i는 각각 무엇을 보나? 파일 생성에 필요한 공간·inode·quota·권한을 어떻게 확인하나?
  2. 포맷·마운트·파일시스템 검사는 무엇이 다른가?
  3. fstab의 여섯 필드와 마지막 0·1·2 의미를 설명해봐.
  4. 동일 2TB 디스크 4개의 RAID 0·5·6·10 사용 가능 용량은?
  5. PV·VG·LV를 연결하고, LV와 파일시스템을 확장하는 순서 및 각 크기의 조회 도구를 설명해봐.
  6. RHEL 8 기준 ext4와 XFS의 축소 차이는?
  7. modprobe·insmod·depmod, lp·lpstat는 각각 무슨 역할인가?
  8. 전체 이후 증분 세 번과 차등 세 번을 했을 때 최신 상태 복원에 무엇이 필요한가?

출처·검증 범위

2026-09-09 작성. fstab·mount·resize2fs·xfs_growfs·mdadm·LVM·modprobe·CUPS·rsync 원천을 참조했다. XFS 축소는 시험 대상 RHEL 8 기준으로 제한했다. 모든 파일시스템·quota·주변장치 옵션의 전수 확인과 실제 포맷·복구 시험은 미실행이다. 자체 설명과 예제이며 기출 미사용. 사전 작성은 학습 완료가 아니다.

학습 공간 연결