본문으로 건너뛰기

가상머신 디스크 용량 증설 및 새 디스크 추가

가상머신 디스크 용량 증설 및 새 디스크 추가

가상머신의 블록 스토리지 용량을 확장하는 방법은 두 가지입니다.

  • 기존 디스크 용량 증설: 사용 중인 디스크의 크기를 늘립니다. (감소는 불가)
  • 새 디스크 추가 연결: 빈 디스크를 새로 생성해 동일한 가상머신에 연결합니다.

공통 사전 작업: 두 방식 모두 안전한 작업을 위해 작업 전 가상머신(VM)을 중지해야 합니다.


방법 1. 기존 디스크 용량 증설

1단계: VM 중지

작업 대상 VM을 중지합니다.

2단계: 블록 스토리지 크기 수정

  1. 블록 스토리지 목록에서 증설할 블록 스토리지 선택
  2. 상세 페이지에서 수정 버튼 클릭
  3. 크기 (GiB) 필드 값을 늘려 입력 (감소 불가)
  4. 저장 클릭
  5. 상태준비됨 으로 변경됨을 확인

블록 스토리지 크기 수정

3단계: VM 재시작

디스크 크기 변경이 완료되면 VM을 다시 실행합니다.

블록 스토리지 수정 확인

4단계: OS에서 디스크 용량 확인

VM이 재시작되면 파일시스템이 자동으로 확장됩니다. VM 접속 후 df -h 명령으로 늘어난 크기가 정상적으로 반영되었는지 확인합니다.

elice@cloud:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 391M 24M 368M 7% /run
efivarfs 256K 7.4K 244K 3% /sys/firmware/efi/efivars
/dev/vda1 58G 13G 45G 23% / # ← 크기가 증설된 디스크
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda16 881M 109M 711M 14% /boot
/dev/vda15 105M 6.2M 99M 6% /boot/efi
tmpfs 391M 12K 391M 1% /run/user/1000

방법 2. 새 디스크 추가 연결

⚠️ 유의사항: 추가한 블록 스토리지는 기존 디스크와 동일한 마운트 포인트로 설정할 수 없습니다.

1단계: VM 중지

디스크를 연결할 VM을 중지합니다.

2단계: 블록 스토리지 생성

  1. 블록 스토리지 > 블록 스토리지 메뉴로 이동
  2. 생성 버튼 클릭
  3. 설정값 입력:
    • 이미지 ID: 없음 선택 (빈 디스크 / 데이터 전용)
    • 디스크 크기 (GiB): 필요한 용량 입력
  4. 저장 클릭

블록 스토리지 생성

3단계: 디스크를 VM에 연결

  1. 블록 스토리지 목록에서 생성한 블록 스토리지 선택
  2. 상세 페이지에서 수정 버튼 클릭
  3. 연결된 머신 ID 필드 클릭 후 연결할 VM 선택
  4. 저장 클릭

블록 스토리지 VM 연결

4단계: VM에서 디스크 연결 확인

  1. 컴퓨트 > 가상머신 메뉴로 이동
  2. 해당 VM 상세 페이지 접속
  3. 연결된 Disk 섹션에서 다음 두 디스크가 보이는지 확인:
    • 부팅용 디스크
    • 데이터용 디스크 (새로 추가한 디스크)

VM 디스크 연결 확인

5단계: VM 재시작

디스크 연결이 완료되면 VM을 다시 실행합니다.

6단계: 디스크 마운트

6.1 연결된 디스크 확인

서버에 연결된 디스크와 파티션 현황을 확인합니다.

lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT

출력 항목 설명

  • NAME: 디바이스 이름 (예: vdb, nvme0n1)
  • SIZE: 디스크 용량
  • FSTYPE: 파일시스템 종류 (ext4, xfs, vfat 등)
  • MOUNTPOINT: 현재 마운트된 경로

6.2 파일시스템 생성

새로 추가한 디스크는 파일시스템을 생성해야 사용 가능합니다.

기본 추천: ext4

sudo mkfs.ext4 <device>
  • <device>: 실제 디스크 이름 (예: /dev/vdc, /dev/vdd1)
  • ext4는 리눅스에서 가장 널리 쓰이며 안정적인 파일시스템입니다.

기타 파일시스템 옵션

# XFS (대용량 환경에서 성능이 좋음)
sudo mkfs.xfs /dev/vdb1

# FAT32 (윈도우 호환성 필요시)
sudo mkfs.vfat /dev/vdb1

# NTFS (윈도우 호환성 필요시)
sudo mkfs.ntfs /dev/vdb1

6.3 마운트 포인트 생성 및 마운트

디스크를 연결할 경로를 만들고 마운트합니다.

# 마운트 포인트 생성
sudo mkdir -p <mount_point>

# 디스크 마운트
sudo mount <device> <mount_point>

6.4 실제 사용 예시

디스크 상태 확인

elice@cloud:~$ lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT
NAME SIZE FSTYPE MOUNTPOINT
sr0 1024M
vda 30G
├─vda1 29.9G ext4 /
├─vda14 4M
└─vda15 106M vfat /boot/efi
vdb 8M vfat
vdc 16T # ← 새로 추가된 디스크 (마운트 안됨)

파일시스템 생성 및 마운트

# 1. 파일시스템 생성
elice@cloud:~$ sudo mkfs.ext4 /dev/vdc
mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 4294963200 4k blocks and 536870912 inodes
Filesystem UUID: 9501ce8f-dcd6-4685-a6ca-422d3266fca4
...
Writing superblocks and filesystem accounting information: done

# 2. 마운트 포인트 생성
elice@cloud:~$ sudo mkdir -p /home/elice/new_storage

# 3. 디스크 마운트
elice@cloud:~$ sudo mount /dev/vdc /home/elice/new_storage

# 4. 마운트 결과 확인
elice@cloud:~$ df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/vdc 16T 28K 16T 1% /home/elice/new_storage

6.5 영구 마운트 설정 (선택사항)

재부팅 후에도 자동으로 마운트되도록 설정하려면 /etc/fstab 에 항목을 추가합니다.

# 1. 디스크 UUID 확인
sudo blkid /dev/vdc

# 2. fstab 파일 편집
sudo nano /etc/fstab

# 3. 다음 라인 추가 (UUID는 실제 값으로 변경)
UUID=9501ce8f-dcd6-4685-a6ca-422d3266fca4 /home/elice/new_storage ext4 defaults 0 2

주의사항

  • VM 중지: 디스크 연결/크기 변경 작업은 VM이 중지된 상태에서 수행해야 합니다.
  • 영역 일치: VM과 블록 스토리지는 같은 영역에 있어야 합니다.
  • 용량 감소 불가: 블록 스토리지의 크기는 증가만 지원되며, 감소는 불가능합니다.
  • 백업: 중요한 데이터는 정기적으로 스냅샷을 생성하세요.

관련 문서