lsblk/blkid — 블록 장치 구조와 UUID 조회
lsblk로 디스크·파티션 트리 구조를 파악하고, blkid로 UUID·파일시스템 타입을 확인해 /etc/fstab에 안전하게 등록하는 방법을 설명합니다.
지난 글에서 df와 du로 디스크 사용량을 파악하는 방법을 배웠습니다. 이번에는 한 단계 더 내려가 어떤 블록 장치가 연결돼 있고, 각 파티션의 UUID와 파일시스템 타입이 무엇인지 조회하는 lsblk와 blkid를 다룹니다.
새 디스크를 연결하거나 파티션을 새로 만들었을 때, 또는 /etc/fstab에 UUID를 등록하기 전에 반드시 이 두 명령을 사용합니다.
lsblk — 블록 장치 트리 보기
lsblk(List Block devices)는 /sys/block을 읽어 시스템에 연결된 블록 장치를 디스크 → 파티션 계층 구조로 표시합니다.
# 기본 출력 (트리 구조)
lsblk
# 파일시스템·UUID·레이블 포함
lsblk -f
# 컬럼 직접 선택
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT
# 특정 장치만
lsblk /dev/sda
# 모델명·시리얼 포함 (장치 식별)
lsblk -o NAME,MODEL,SERIAL,SIZE,TYPE
lsblk 출력에서 TYPE 컬럼이 disk이면 물리/가상 디스크, part이면 파티션, lvm·raid이면 논리 볼륨이나 RAID입니다.
blkid — UUID와 파일시스템 타입 조회
blkid는 각 블록 장치의 슈퍼블록을 읽어 UUID, 파일시스템 타입(FSTYPE), 레이블(LABEL) 등을 출력합니다. /etc/fstab에 UUID를 등록할 때 이 명령으로 값을 확인합니다.
# 모든 장치 UUID/타입 출력 (root 권장)
sudo blkid
# 특정 장치 UUID만 깔끔하게 출력
blkid -s UUID -o value /dev/sdb1
# UUID로 장치 경로 역조회
blkid -U "1a2b3c4d-5e6f-7890-abcd-ef1234567890"
# 파일시스템 타입만 출력
blkid -s TYPE -o value /dev/sda1
# JSON 형식 출력 (스크립트 파싱용)
blkid -o json
fstab 등록 워크플로
새 디스크 /dev/sdb를 /mnt/data에 마운트하고 fstab에 등록하는 전형적인 절차입니다.
# 1. 블록 장치 확인
lsblk
# → sdb 디스크가 보이고 파티션이 없는 상태
# 2. 파티션 생성 (다음 글 주제: fdisk/parted)
sudo fdisk /dev/sdb
# 3. 파일시스템 포맷 (mkfs 글 예정)
sudo mkfs.ext4 /dev/sdb1
# 4. UUID 확인
sudo blkid -s UUID -o value /dev/sdb1
# → a3b4c5d6-7890-1234-abcd-ef5678901234
# 5. 마운트 포인트 생성
sudo mkdir -p /mnt/data
# 6. fstab에 등록 (UUID 방식)
echo "UUID=a3b4c5d6-7890-1234-abcd-ef5678901234 /mnt/data ext4 defaults,nofail 0 2" \
| sudo tee -a /etc/fstab
# 7. 검증 및 마운트
sudo findmnt --verify
sudo mount -a
NVMe 장치 이름 규칙
NVMe SSD는 /dev/nvme0n1, /dev/nvme0n1p1 식으로 이름이 붙습니다.
# NVMe 장치 확인
lsblk -o NAME,TYPE,SIZE,MODEL | grep nvme
# nvme 드라이브 상세 정보 (nvme-cli 필요)
sudo nvme list
sudo nvme smart-log /dev/nvme0
nvme0는 컨트롤러, n1은 첫 번째 네임스페이스, p1은 첫 번째 파티션을 의미합니다. SATA 드라이브(/dev/sda)와 달리 순서가 바뀌어도 이름이 상대적으로 안정적입니다.
장치가 인식되지 않을 때
# 커널이 감지한 블록 장치 로그
dmesg | grep -E 'sd[a-z]|nvme|usb-storage' | tail -20
# 전체 장치 재스캔 (핫플러그 USB)
sudo udevadm trigger --type=devices --action=add
udevadm settle
# SCSI 장치 재스캔
echo "- - -" | sudo tee /sys/class/scsi_host/host*/scan
정리
lsblk: 블록 장치 트리(디스크→파티션→마운트포인트) 확인lsblk -f: 파일시스템 타입·UUID 포함blkid: UUID·FSTYPE·LABEL 조회blkid -s UUID -o value 장치: UUID만 깔끔하게 출력 → fstab에 붙여넣기- NVMe는
nvme0n1p1규칙, SATA는sda1규칙
지난 글: df/du — 디스크 사용량 한눈에 파악하기
다음 글: fdisk/parted — 파티션 생성과 관리
읽어주셔서 감사합니다. 😊