storage / knowledge

Debian에 새 디스크 붙여 마운트하기

paul 2026.01.22 294words (1m)

VM에 디스크를 하나 더 붙였으면 게스트 안에서 파티션을 잡고 마운트해줘야 한다. Docker 데이터를 담을 128GB 디스크를 /srv/docker 에 붙인 과정이다.

지금 뭐가 붙어 있나

console
$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   32G  0 disk
├─sda1   8:1    0 30.3G  0 part /
├─sda2   8:2    0    1K  0 part
└─sda5   8:5    0  1.7G  0 part [SWAP]
sdb      8:16   0  128G  0 disk

sdb 가 새로 붙인 것이다. 아래에 파티션이 없다.

console
$ sudo parted /dev/sdb print
Error: /dev/sdb: unrecognised disk label
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sdb: 137GB
Partition Table: unknown

label 자체가 없는 빈 디스크다.

파티션 만들기

console
$ parted /dev/sdb --script mklabel gpt
$ parted /dev/sdb --script mkpart primary ext4 0% 100%

GPT로 label을 만들고 전체를 파티션 하나로 잡는다. 0% 100% 로 주면 parted가 정렬을 알아서 맞춘다. 섹터 번호를 직접 넣으면 어긋나기 쉽다.

--script 는 확인 프롬프트를 띄우지 않는다. 대상 디스크를 잘못 적으면 그대로 날아가니 lsblk 로 한 번 더 확인하고 친다.

포맷과 마운트

console
$ mkfs.ext4 -L docker-data /dev/sdb1
$ mkdir -p /srv/docker

-L 로 label을 붙여두면 나중에 이 디스크가 뭐였는지 알아보기 쉽다.

console
$ blkid /dev/sdb1

여기서 나온 UUID를 fstab에 적는다.

bash
UUID=<blkid로 확인한 값>  /srv/docker  ext4  defaults  0  2

장치 이름(/dev/sdb1)이 아니라 UUID로 적는다. 디스크를 더 붙이거나 순서가 바뀌면 sdbsdc 가 될 수 있는데, 그러면 부팅할 때 엉뚱한 걸 마운트하거나 실패한다.

마지막 2 는 fsck 순서다. 루트가 아닌 파일 시스템은 2를 준다.

console
$ mount -a

mount -a 로 fstab을 지금 적용해본다. 재부팅 전에 여기서 확인해야 한다. fstab에 오타가 있으면 다음 부팅에서 시스템이 못 올라온다.

소유권

console
$ chown -R dockeruser:dockeruser /srv/docker
$ chmod 755 /srv/docker

마운트하면 소유가 root 로 돌아가므로 마운트한 뒤에 잡아준다. 마운트 전에 만들어둔 디렉토리에 권한을 줘봐야 가려진다.