Linux 강좌 / 디스크·파티션·파일 시스템을 구분하고 확인하기
디스크는 데이터를 저장하는 블록 장치이고, 파티션은 그 장치를 나눈 영역이며, 파일 시스템은 파일과 디렉터리를 저장·관리하는 형식입니다. 파일 시스템을 디렉터리 트리에 연결하는 동작이 마운트이며, 디스크·파티션·파일 시스템·마운트 지점을 서로 같은 것으로 취급하면 안 됩니다.
이 글은 블록 장치·파티션·파일 시스템을 구분합니다. 만든 파일 시스템을 디렉터리에 연결하고 실제 소스를 확인하는 절차는 마운트와 저장 공간 관리에서 다룹니다.
시스템 설정 실습의 기준은 Ubuntu 26.04 LTS와 Rocky Linux 9 계열의 일반 설치 VM입니다. 컨테이너·WSL·다른 릴리스에서는 서비스와 패키지 구성이 다를 수 있습니다. 가상 머신 실습 환경 만들기에서 콘솔 복구와 버전 확인을 먼저 준비하세요.
저장 구조를 네 계층으로 나누어 보기
| 계층 | 확인할 대상 | 대표 도구 |
|---|---|---|
| 블록 장치 | 크기·장치 종류·부모 관계 | lsblk |
| 파티션·논리 볼륨 | 장치 안의 영역 또는 논리적 저장 공간 | lsblk, 파티션·LVM 도구 |
| 파일 시스템 | ext4·XFS 같은 저장 형식과 UUID | lsblk -f, blkid |
| 마운트 | 어느 경로에서 어떤 옵션으로 접근하는가 | findmnt, df |
일반적인 구조는 “디스크 → 파티션 → 파일 시스템 → 마운트 지점”이지만 항상 이 순서인 것은 아닙니다. LVM은 물리 저장 공간을 논리 볼륨으로 나누거나 묶고, 암호화·소프트웨어 RAID도 중간 계층을 추가할 수 있습니다. 장치 전체에 직접 파일 시스템이 있는 경우도 있으므로 파티션이 없다는 이유만으로 빈 디스크라고 판단하지 마세요.
장치 이름과 실제 사용 경로를 함께 확인하기
lsblk -o NAME,TYPE,SIZE,FSTYPE,UUID,MOUNTPOINTS
findmnt -T /
df -hT /
sda·vda·nvme0n1 같은 이름은 장치 방식과 발견 순서에 따라 달라집니다. 예를 들어 NVMe 파티션 이름은 보통 nvme0n1p1처럼 표시됩니다. 하지만 이름만 보고 운영체제 디스크나 새 디스크를 판단해서는 안 됩니다. 장치 크기, 마운트 위치, 클라우드 볼륨 식별 정보까지 비교해야 합니다. 오래된 lsblk에서 MOUNTPOINTS를 지원하지 않으면 MOUNTPOINT를 사용합니다.
lsblk는 장치 관계를, findmnt -T /는 루트 경로를 포함하는 마운트를, df는 마운트된 파일 시스템의 사용량을 보여 줍니다. 이 도구들의 숫자가 다르게 보이는 것은 예약 공간, 메타데이터, 단위, 여러 계층의 차이 때문일 수 있습니다. df에 나오지 않는다고 해서 미사용 장치라고 결론 내리지 않습니다.
GPT와 파일 시스템 형식을 구분하기
GPT와 MBR은 파티션 정보를 기록하는 방식이며 ext4·XFS는 파일 시스템 형식입니다. GPT 디스크의 파티션에 ext4를 만들 수 있으므로 두 가지를 대체 선택지처럼 비교하지 마세요. 이미 사용 중인 디스크의 파티션 표를 새로 만들면 기존 영역 정보를 잃을 수 있습니다. 이 강좌에서는 실제 디스크의 파티션 표를 만들거나 변경하지 않습니다.
ext4와 XFS의 관리·확장·복구 도구는 서로 다르며, 축소 가능 여부나 오프라인 작업 조건도 다릅니다. 기본값이 무엇인지보다 사용 중인 배포판, 백업·복원 방법과 지원되는 관리 작업을 먼저 확인하세요. 도구 이름이 비슷하다는 이유로 다른 파일 시스템에 강제로 실행하면 안 됩니다.
실제 디스크 대신 이미지 파일로 실습하기
다음 명령은 일반 계정의 홈 아래에 임시 작업 디렉터리와 128 MiB 크기의 파일을 만듭니다. mkfs.ext4는 Ubuntu·Rocky Linux에서 보통 e2fsprogs 패키지가 제공합니다. 이 명령은 대상을 새 파일 시스템으로 초기화하므로 실제 /dev/... 장치로 경로를 바꾸지 마세요. 경로가 일반 파일인지 먼저 검사합니다.
lab=$(mktemp -d "$HOME/linux-storage-lab.XXXXXX")
truncate -s 128M "$lab/disk.img"
test -f "$lab/disk.img" && test ! -b "$lab/disk.img" && mkfs.ext4 -F "$lab/disk.img"
file "$lab/disk.img"
dumpe2fs -h "$lab/disk.img" 2>/dev/null | head -n 15
printf "lab=%s\n" "$lab"
file에서 ext4 관련 정보가 보이고 dumpe2fs에서 파일 시스템 UUID·블록 정보를 확인할 수 있으면 이미지 안에 파일 시스템 구조가 만들어진 것입니다. 아직 마운트하지 않았으므로 파일 시스템 내부에 일반 경로로 파일을 저장할 수는 없습니다. 이미지 파일 자체의 크기와 내부에서 사용할 수 있는 공간도 동일하지 않습니다.
확인 결과와 정리 방법
실습의 목표는 포맷 명령을 외우는 것이 아니라 저장 계층을 구분하는 것입니다. 이미지 파일은 파티션 표 없이 바로 ext4를 담고 있다는 점을 lsblk 기반 장치 구조와 비교해 보세요. 마운트 실습을 이어갈 경우 위에서 출력한 경로를 보관합니다. 더 사용하지 않을 때는 파일 관리자에서 그 임시 디렉터리의 내용과 경로를 확인한 뒤 삭제하면 됩니다.
운영 장치를 변경해야 한다면 복원 가능한 백업, 정확한 장치 식별, 마운트·스왑·LVM·RAID 사용 여부 확인을 먼저 마쳐야 합니다. 장치나 파일 시스템 상태가 불명확하면 포맷·파티션 재작성보다 읽기 전용 조회와 복구 계획을 우선합니다.




