Magalu Cloud에서 Linux VM에 Block Storage 볼륨을 연결하는 방법 (CLI 사용)
Source: Dev.to
소개
클라우드를 처음 사용할 때는 가상 머신을 “전체 컴퓨터”처럼 생각하기 쉽습니다: CPU, 메모리, 그리고 운영 체제가 설치된 디스크. 많은 제공업체에서 이 시스템 디스크는 일시적입니다: VM을 재생성하거나 유형을 바꾸거나 인스턴스를 삭제하거나 사고가 발생하면 스토리지가 사라질 수 있습니다. 테스트 환경에서는 어느 정도 허용될 수 있지만, 중요한 데이터에는 적합하지 않습니다.
여기서 Block Storage가 등장합니다. 블록 단위 디스크를 제공하며, 마치 두 번째 HDD 또는 SSD처럼 VM에 노출됩니다. 가상 머신의 수명과 무관하게 존재합니다. 파일 시스템(ext4, XFS 등)은 운영 체제 안에서 직접 관리하고, 클라우드는 성능, 복제 및 가용성을 담당합니다.
Magalu Cloud에서는 다양한 워크로드에 맞춰 NVMe 기반 저지연 프로파일로 제공되는 볼륨을 사용할 수 있습니다. 데이터베이스, 공유 파일 시스템, I/O 집약형 애플리케이션, 책임 분리(예: 데이터베이스용 볼륨, 업로드용 볼륨, 로그용 볼륨) 등에 적합합니다.
일반적인 사용 사례
- VM을 재생성해도 사라지지 않아야 하는 데이터베이스.
- VM과 독립적으로 성장해야 하는 전자상거래 업로드 디렉터리.
- 추후 분석을 위해 내구성 있는 디스크에 저장되는 애플리케이션 로그 집합.
- 프로덕션 스냅샷을 기반으로 만든 테스트 환경 전용 볼륨.
이 글의 목표는 Block Storage 볼륨을 생성하고, Magalu Cloud의 Linux VM에 연결한 뒤 사용 준비까지 하는 과정을 mgc CLI를 이용해 단계별로 보여주는 것입니다.
Magalu Cloud에서 블록 스토리지 볼륨 생성 및 사용
이미 Magalu Cloud에 Linux VM이 있고, mgc CLI를 설치·인증했으며, 10 GiB 크기의 새 디스크가 필요하다고 가정합니다.
중요: 볼륨과 VM은 같은 리전 및 **가용 영역(AZ)**에 있어야 합니다. 볼륨은 특정 인프라에 물리적으로 연결되므로, 다른 영역의 VM에 연결하려 하면 실패합니다.
일반적인 흐름은 다음과 같습니다:
- 올바른 리전/AZ에 볼륨 생성.
- 볼륨을 VM에 연결.
- VM 안에서 디바이스를 포맷하고 디렉터리에 마운트.
- 재부팅 시에도 마운트가 유지되도록 설정.
CLI로 볼륨 생성
mgc block-storage volumes create \
--name volume-app-prod \
--size 10 \
--type.name cloud_nvme1k
--name은 해당 리전 내에서 볼륨을 식별하는 논리 라벨입니다.--size는 GiB 단위 크기입니다.--type.name은 IOPS/지연 시간 프로파일을 선택합니다(예:cloud_nvme1k).
생성 후 상태를 확인합니다:
mgc block-storage volumes list
새로 만든 볼륨이 available 상태로 표시되면, 연결 준비가 된 것입니다.
볼륨을 가상 머신에 연결
VM ID와 볼륨 ID를 확보한 뒤 실행합니다:
mgc block-storage volumes attach \
--id vol-1234567890abcdef \
--virtual-machine-id vm-abcdef1234567890
잠시 기다리면 볼륨 상태가 available에서 in-use로 바뀌며, VM에 연결된 것을 확인할 수 있습니다. 플랫폼에서는 실행 중인 VM에도 볼륨을 연결할 수 있지만, 중요한 환경에서는 인스턴스를 중지하는 것이 좋습니다.
VM 내부에서 볼륨 준비
VM에 접속하면 새 볼륨이 블록 디바이스로 나타납니다. 일반적으로 /dev/vdb 로 표시됩니다. 디바이스 목록을 확인합니다:
lsblk
출력에는 시스템 디스크(vda)와 파티션·파일시스템이 없는 새 볼륨(vdb)이 보일 것입니다.
파일 시스템 생성
볼륨이 새로 만든 경우 파일 시스템을 만들어야 합니다(예: ext4):
sudo mkfs.ext4 /dev/vdb
주의: 스냅샷에서 만든 볼륨이라면 이미 파일 시스템과 데이터가 존재합니다. 이 경우 다시 포맷하면 안 됩니다.
디렉터리에 볼륨 마운트
예시 마운트 포인트는 /mnt/data 입니다:
sudo mkdir -p /mnt/data
sudo mount /dev/vdb /mnt/data
df -h | grep /mnt/data
이제 /mnt/data에 기록되는 모든 데이터는 Block Storage 볼륨에 저장됩니다.
/etc/fstab에 추가해 영구 마운트 설정
재부팅 후 자동으로 마운트되도록 하려면 /etc/fstab에 항목을 추가합니다. 디바이스 순서가 바뀌어도 안정적인 UUID 를 사용합니다:
sudo blkid /dev/vdb
예시 출력:
/dev/vdb: UUID="abcd-1234-ef56-7890" TYPE="ext4"
/etc/fstab 파일을 편집합니다:
sudo nano /etc/fstab
다음 라인을 추가합니다(실제 UUID 로 교체):
UUID=abcd-1234-ef56-7890 /mnt/data ext4 defaults,nofail 0 2
파일을 저장하고 마운트를 테스트합니다:
sudo mount -a
df -h | grep /mnt/data
모든 것이 정상이라면, 볼륨은 재부팅 시마다 자동으로 마운트됩니다.