본문으로 건너뛰기

볼륨 생성 및 관리

Virtual Machine 서비스에서 VM 인스턴스에 연결된 볼륨과 스냅샷을 관리하는 방법은 다음과 같습니다.

볼륨 생성

신규 볼륨을 생성할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.

  2. Volume 탭을 선택 후, 우측 상단에 위치한 [Volume 만들기] 버튼을 클릭합니다.

  3. Volume 만들기 팝업창에서 정보를 입력하고, [만들기] 버튼을 클릭합니다.

    이미지. Volume 생성 Volume 생성

    구분설명
    Volume 이름볼륨의 이름을 입력
    - 알파벳 대소문자(a-z, A-Z), 숫자(0-9), -, _만 입력 (4~250자)
    Volume 설명(선택)볼륨 설명
    - 100자 이내 입력
    유형볼륨의 타입
    - 현재(2022년 11월) SSD 타입만 지원, 추후 다양한 타입 지원 예정
    크기볼륨의 사이즈
    - 1~5,120 GB 크기로 생성 가능
    최대 IOPS설정한 볼륨 크기에 따른 최대 IOPS
    - 3,000 IOPS ~ 16,000 IOPS
    Availability Zone볼륨을 생성할 AZ 위치
    Snapshot Schedule미사용
    - 생성될 볼륨이 스냅샷 스케줄을 사용하지 않음
    사용
    - 생성될 볼륨이 스냅샷 스케줄을 통해 정해진 정책에 따라 자동으로 스냅샷을 생성함
    암호화저장된 데이터의 보안을 위해 암호화하여 저장됨
    - 기본 설정(default)로 사용하며, 변경할 수 없음

볼륨 관리

볼륨 목록 보기

가동 중인 볼륨 목록과 각 볼륨의 기본 정보를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.

  2. Volume 탭에서 현재 가동 중인 볼륨 목록을 확인합니다. 필요시, 다양한 필터 속성을 사용할 수 있습니다.

    이미지 Volume 목록

    구분설명
    Volume볼륨의 이름과 설명
    상태볼륨의 상태
    - 자세한 볼륨의 상태는 볼륨 상태값 참고
    연결된 Instance연결된 인스턴스와 마운트포인트
    - 인스턴스 이름 클릭 시 해당 인스턴스의 상세 페이지로 이동
    - UUID 호버 시 인스턴스의 ID 확인 가능
    유형볼륨의 타입
    크기볼륨의 크기
    Snapshot Schedule연결된 스냅샷 스케줄
    AZ볼륨이 생성된 가용 영역
    생성일볼륨의 생성일과 시간
    더보기항목별 기능 실행
    - Volume 설정: 인스턴스에 적용할 볼륨 설정
    - Volume 연결 설정/해제: 연결할 인스턴스 설정 및 해제
    - Snapshot 만들기: 볼륨에 대한 스냅샷 생성
    - Snapshot Schedule 연결/해제: 연결할 스냅샷 스케줄 설정 및 해제
    - Volume 삭제: 생성된 볼륨 삭제

볼륨 상세 보기

볼륨의 세부 정보, 선택된 볼륨에서 생성된 스냅샷 정보를 확인 및 관리 할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.

  2. Volume 탭에서 상세 정보를 확인할 볼륨을 선택합니다.

  3. 볼륨의 상세 페이지에서 정보를 확인합니다.

    이미지 Volume 상세 정보

    구분설명
    ⓵  볼륨 이름과 설명
    [더 보기] 아이콘 클릭 시, 실행 가능한 전체 기능 목록 확인 가능
    볼륨의 상세 정보
    - 운영 상태: 자세한 볼륨의 상태는 볼륨 상태값 참고
    - 크기: 볼륨의 크기
    - 타입: 볼륨의 타입
    - 빠른 실행: 빠른 실행 기능
    세부정보 탭: Volume ID, 이름 등 볼륨의 상세 정보 표시
    Snapshot 탭: 스냅샷 유형, 크기, 상태 등의 정보 표시

인스턴스별 볼륨 조회

인스턴스에 연결된 볼륨 정보를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.
  2. Instance 탭에서 볼륨 정보를 확인할 인스턴스를 선택합니다.
  3. 인스턴스의 상세 페이지의 Volume 탭에서 해당 인스턴스의 볼륨 정보를 확인합니다.

볼륨 설정

볼륨의 설정을 수정할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.
  2. Volume 탭에서 수정하려는 볼륨의 [더 보기] 아이콘 > Volume 설정을 선택합니다.
    • 볼륨 크기 수정 시, 기존 볼륨 크기보다 큰 값만 1GB 단위로 입력할 수 있습니다. 볼륨 크기를 확장한 후 파일 시스템 확장을 참고하여 파일 시스템의 크기를 갱신해야 합니다.
  3. Volume 설정 팝업창에서 볼륨을 설정하고 [저장] 버튼을 클릭합니다.

볼륨 연결

새로 생성된 볼륨은 인스턴스와 연결되지 않은 Available 상태입니다. 정상적으로 볼륨을 사용하기 위해서는 콘솔에서 볼륨을 인스턴스와 연결하고, 운영체제별 가이드에 따라 볼륨을 디바이스로 연결해야 합니다.

콘솔에서 볼륨 연결

카카오클라우드 콘솔에서 볼륨을 인스턴스와 연결하는 방법은 다음과 같습니다.

  1. 카카오클라우드 콘솔에서 Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.
  2. Volume 탭에서 인스턴스에 연결할 볼륨의 [더 보기] 아이콘 > Volume 연결 설정을 선택합니다.
  3. Volume 연결 설정 팝업창에서 정보를 입력하고, [저장] 버튼을 클릭합니다.

Linux에서 볼륨 연결

Linux 환경에서 인스턴스에 SSH로 접근하여 파일 시스템과 마운트 포인트를 설정합니다.

  1. lsblk 명령어를 사용하여 콘솔에서 연결한 볼륨이 올바르게 디바이스로 연결되어 있는지 확인할 수 있습니다.

    • 예시: lsblk 명령을 실행해 새로 생성한 8G 사이즈 볼륨이 /dev/vdb로 연결된 것을 확인합니다.
    lsblk 명령(디바이스 연결 확인)
    ubuntu@volume-attach-1:~$ lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda 252:0 0 20G 0 disk /boot
    vdb 252:16 0 8G 0 disk
  2. file -s 명령어를 사용하여 파일시스템 유형을 확인합니다. data라고 출력된다면 디바이스에 파일 시스템이 없는 상태입니다.

    file -s 명령(파일시스템 유형 확인)
    ubuntu@volume-attach-1:~$ sudo file -s /dev/vdb
    /dev/vdb: data
  3. 파일 시스템이 없는 상태라면 mkfs -t 명령어를 사용하여 파일 시스템을 생성합니다.

    mkfs -t 명령(파일시스템 없는 상태)
    ubuntu@volume-attach-1:~$ sudo mkfs -t xfs /dev/vdb
    meta-data=/dev/vdb isize=512 agcount=4, agsize=65536 blks
    = sectsz=512 attr=2, projid32bit=1
    = crc=1 finobt=1, sparse=1, rmapbt=0
    = reflink=1
    data = bsize=4096 blocks=262144, imaxpct=25
    = sunit=0 swidth=0 blks
    naming =version 2 bsize=4096 ascii-ci=0, ftype=1
    log =internal log bsize=4096 blocks=2560, version=2
    = sectsz=512 sunit=0 blks, lazy-count=1
    realtime =none extsz=4096 blocks=0, rtextents=0
  4. 파일 시스템이 정상적으로 생성된 것을 확인합니다.

    file -s 명령(파일시스템 생성 확인)
    ubuntu@volume-attach-1:~$ sudo file -s /dev/vdb
    /dev/vdb: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
  5. mkdir 명령어를 사용하여 볼륨을 사용할 마운트 포인트 디렉터리를 생성합니다.

    • 마운트 포인트는 볼륨을 마운트 후 파일을 읽고 쓰는 위치입니다.
    mkdir 명령(마운트 포인트 디렉터리 생성)
    ubuntu@volume-attach-1:~$ sudo mkdir -p /data/vdb
  6. mount 명령어를 사용하여 이전 단계에서 생성한 디렉터리와 볼륨을 연결합니다.

    mount 명령(디렉터리와 볼륨 연결)
    ubuntu@volume-attach-1:~$ sudo mount /dev/vdb /data/vdb
  7. lsblk 명령어를 사용하여 파일 시스템과 마운트 포인트가 정상적으로 적용되었는지 확인합니다.

    lsblk 명령(파일 시스템과 마운트 포인트 적용 확인)
    ubuntu@volume-attach-1:~$ sudo lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda 252:0 0 20G 0 disk /boot
    vdb 252:16 0 8G 0 disk /data/vdb
  8. 시스템 재부팅 후에도 연결된 볼륨을 유지하기 위해서는 먼저 디바이스의 UUID를 확인합니다.

    lsblk 명령(디바이스의 UUID 확인)
    ubuntu@volume-attach-1:~$ lsblk -o +UUID
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT UUID
    vda 252:0 0 20G 0 disk /boot 876da551-d737-4350-9cd9-bb3fc9069bff
    vdb 252:16 0 1G 0 disk /data/vdb 2d332f0b-1771-4b83-bd5c-7e9d1cc91ed2
  9. 확인한 UUID를 활용해 /etc/fstab 파일에 위 내용을 추가합니다.

    시스템 재부팅 후 연결된 볼륨 유지
    UUID=2d332f0b-1771-4b83-bd5c-7e9d1cc91ed2 /data/vdb  xfs  defaults,nofail  0  2

Linux(xfs)에서 볼륨 연결

xfs 파일 시스템을 사용하는 OS 이미지(CentOS Stream 8, Rocky Linux 8 등)로 생성된 인스턴스의 경우, 루트 볼륨의 스냅샷을 생성하고 복원한 후 같은 인스턴스에 복원한 스냅샷을 연결 시 UUID 중복 문제로 연결되지 않는 현상이 발생할 수 있습니다. 정상적으로 볼륨을 사용하기 위해서는 다음의 과정을 진행해야 합니다.

  1. nouuid 옵션을 사용하여 파일시스템에 우선 마운트합니다.

    • 임시 사용할 경우에는 본 절차로만 해결할 수 있습니다.
    mount 명령(마운트 및 nouuid 옵션)
    [centos@centos-stream-8 test]$ sudo mount -t xfs -o nouuid /dev/vdb1 /home/centos/test
  2. 마운트를 해제합니다.

    umount 명령(마운트 해제)
    [centos@centos-stream-8 test]$ sudo umount /dev/vdb1
  3. UUID를 재생성합니다.

    • 영구적인 해결을 위해서는 해당 절차까지 진행해야 합니다.
    xfs_admin 명령(uuid 재생성)
    [centos@centos-stream-8 test]$ sudo xfs_admin -U generate /dev/vdb1
    Clearing log and setting UUID
    writing all SBs
    new UUID = ff714d9b-8c90-40e2-9e2f-12623220e1cf
  4. 새로 생성한 UUID를 복원한 스냅샷 볼륨에 설정합니다.

    xfs_admin 명령(UUID 갱신)
    [centos@centos-stream-8 test]$ sudo xfs_admin -U ff714d9b-8c90-40e2-9e2f-12623220e1cf /dev/vdb1
    Clearing log and setting UUID
    writing all SBs
    new UUID = ff714d9b-8c90-40e2-9e2f-12623220e1cf
  5. 다시 복원한 스냅샷을 인스턴스 마운트 포인트에 마운트합니다.

    mount 명령(재마운트)
    [centos@centos-stream-8 test]$ sudo mount /dev/vdb1 /home/centos/test

Windows에서 볼륨 연결

Windows 환경에서 인스턴스에 원격 데스크톱으로 연결하여 디스크 초기화와 볼륨 할당을 진행합니다.

  1. 시작 > 실행 또는 WIN + R 단축키를 입력합니다.

  2. 실행 화면에서 diskmgmt.msc를 입력하고 [확인] 버튼을 클릭하거나 Enter를 누릅니다.

  3. 디스크 관리에서 새로 추가된 디스크를 선택 후, 온라인으로 전환하기 위해 우클릭하여 온라인을 선택합니다.

    이미지. Windows 1 온라인 전환

  4. 새로 추가된 디스크를 선택하고 우클릭 후, 디스크 초기화를 선택합니다. 선택 시 디스크 초기화 팝업창이 나타납니다.

    이미지. Windows 2 디스크 초기화

  5. 새로 추가된 디스크에 체크한 후, GPT 파티션 테이블을 선택하고 [확인] 버튼을 클릭합니다.

    • 2TB를 초과하는 디스크를 연결하기 위해서는 GPT 파티션 테이블을 선택해야 합니다.

    이미지. Windows 3 GPT 파티션 테이블 선택

  6. 초기화된 디스크를 선택 후, 우클릭하여 새 단순 볼륨을 선택합니다. 선택 시 단순 볼륨 만들기 마법사 팝업창이 나타납니다.

    이미지. Windows 4 새 단순 볼륨

  7. 단순 볼륨 만들기 마법사를 실행합니다.

    이미지. Windows 5 단순 볼륨 만들기 마법사

  8. 단순 볼륨 만들기 마법사에서 안내에 따라 볼륨 크기, 드라이브 문자 할당, 포맷 옵션 등을 선택한 후 종료하여 볼륨 연결을 완료합니다.

    이미지. Windows 6 단순 볼륨 만들기 완료

볼륨 연결 해제

더 이상 사용하지 않는 볼륨 연결을 해제할 수 있습니다.

안내

인스턴스에서 OS 영역으로 사용 중인 루트 볼륨은 연결을 해제할 수 없습니다.

  1. 카카오클라우드 콘솔에서 Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.

  2. Volume 탭 > Volume 목록에서 연결을 해제할 볼륨의 [더 보기] 아이콘 > Volume 연결 해제를 선택합니다.

  3. Volume 연결 해제 팝업창에서 연결을 해제할 볼륨과 인스턴스를 확인하고, [연결 해제] 버튼을 클릭합니다.

    이미지. Volume 연결 해제 Volume 연결 해제

볼륨 확장

볼륨 크기를 확장할 수 있습니다.

안내
  • 볼륨 크기를 확장한 후, 파일 시스템 관련 명령을 사용하여 파일 시스템의 크기를 확장해야 합니다.
     ㄴ 볼륨의 상태가 Extending 상태로 변경된 이후부터 파일 시스템 확장을 시작할 수 있습니다.
  • 볼륨 크기를 확장한 후 새로운 볼륨 QoS(서비스 품질)를 적용하기 위해서는 볼륨 종류에 따라 다음의 조치가 필요합니다.
     ㄴ 루트 볼륨일 경우, 인스턴스 shelve(종료) 후 인스턴스 unshelve(시작)을 실행합니다.
     ㄴ 추가 볼륨일 경우, 볼륨 연결 detach(해제) 후 볼륨 attach(연결)을 실행합니다.
  1. 카카오클라우드 콘솔에서 Beyond Compute Service > Virtual Machine 메뉴로 이동합니다.
  2. Volume 탭을 클릭한 후, 확장할 볼륨의 [더 보기] 아이콘 > Volume 설정을 선택합니다.
  3. Volume 설정 팝업창에서 Volume 크기에 확장할 용량을 입력하고, [저장] 버튼을 클릭합니다.

파일 시스템 확장

볼륨의 크기를 확장하여 추가된 디스크 공간에 데이터를 저장하기 위해서는 사용자가 직접 인스턴스에 접속해 파일 시스템 및 파티션의 크기를 갱신해야 합니다. 사용자가 볼륨의 크기를 확장한 후, 인스턴스에서 파일 시스템과 파티션 관련 명령어를 사용하여 파일 시스템의 크기를 확장하는 과정은 다음과 같습니다. 단, 사용자 인스턴스의 파일 시스템 및 파티션 구성에 따라 필요한 절차는 달라질 수 있습니다.

카카오클라우드에서 제공하는 제공 OS 별 파티션 테이블 형식 및 파일 시스템 타입은 다음과 같습니다.

OS 이름버전Root Volume 파티션 테이블 형식파일 시스템
Ubuntu20.04GPT              ext4
Ubuntu22.04GPText4
CentOS Stream8MBRxfs
Rocky Linux8MBRxfs
Rocky Linux9MBRxfs
Alma Linux9GPTxfs
Windows2019MBRntfs
Windows2022MBRntfs
안내

파일 시스템 또는 파티션을 변경하여도 볼륨의 데이터가 수정되거나 삭제되지 않습니다. 그러나 파일 시스템 및 파티션을 변경하기 전, 필요시 변경 사항을 되돌릴 수 있도록 중요한 데이터가 저장된 볼륨은 백업을 권장합니다.

가장 널리 사용되는 Linux 파일 시스템인 ext4, xfs에 적용할 수 있는 시스템 확장 절차는 다음과 같습니다. 다음의 Linux 예제에서는 사전에 사용자가 생성한 50GB 크기의 루트 볼륨을 가진 인스턴스가 있는 경우, 볼륨을 확장하여 인스턴스의 루트 볼륨을 80GB 크기로 늘린 후 파티션 및 파일 시스템을 확장하는 방법을 설명합니다.

Step 1. 인스턴스 연결

터미널에서 ssh 명령어를 사용하여 인스턴스 연결을 실행합니다. 연결 과정에 대한 자세한 설명은 인스턴스 생성 및 연결을 참고하시기 바랍니다.

Step 2. 파티션 및 파일 시스템 정보 확인

  1. lsblk, df 명령어를 사용하여 확장할 파티션과 파일 시스템 정보를 확인합니다.

    • 예시: 볼륨 확장 전 파티션 정보를 살펴보면, 50G 크기의 루트 볼륨이 /dev/vda 디바이스명으로, 30G 크기의 비루트 볼륨이 /dev/vdb로 연결된 것을 확인할 수 있습니다. 루트 볼륨인 /dev/vda 디바이스에는 50G 크기의 vda1 파티션이 있습니다.
    lsblk 명령(볼륨 확장 전)
    ubuntu@volume-test:~$ sudo lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda 252:0 0 50G 0 disk
    ├─vda1 252:1 0 49.9G 0 part /
    ├─vda14 252:14 0 4M 0 part
    └─vda15 252:15 0 106M 0 part /boot/efi
    vdb 252:16 0 30G 0 disk /data
  2. 루트 볼륨의 크기를 확장한 후, lsblk 명령어를 실행하여 확장된 루트 볼륨을 확인합니다.

    • 예시: 루트 볼륨의 크기를 80G로 확장한 후 lsblk 명령어 실행 시, /dev/vda 디바이스의 크기는 80G로 확장되어 있지만 vda1 파티션의 크기는 50G로 변동이 없는 것을 확인할 수 있습니다.
    lsblk 명령(볼륨 확장 후)
    ubuntu@volume-test:~$ sudo lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda 252:0 0 80G 0 disk
    ├─vda1 252:1 0 49.9G 0 part /
    ├─vda14 252:14 0 4M 0 part
    └─vda15 252:15 0 106M 0 part /boot/efi
    vdb 252:16 0 30G 0 disk /data
  3. df 명령어를 실행하면 인스턴스와 연결된 볼륨의 파일 시스템 종류를 확인할 수 있습니다.

    • 예시: /dev/vda1 파티션의 크기는 아직 50G이며, ext4를 사용하고 있다는 정보를 확인할 수 있습니다.
    df 명령
    ubuntu@volume-test:~$ sudo df -Th
    Filesystem Type Size Used Avail Use% Mounted on
    ...
    /dev/vda1 ext4 49G 1.5G 47G 3% /
    ...
    /dev/vdb ext4 30G 45M 28G 1% /data

Step 3. 파티션 확장하기

  1. growpart 명령어를 사용하여 파티션 크기를 최대 크기로 확장할 수 있습니다.

    • 예시: growpart 명령을 실행하여 vda1 파티션 크기를 확장합니다.
    파티션 크기 확장
    ubuntu@volume-test:~$ sudo growpart /dev/vda1
  2. 확장 후 lsblk 명령을 실행하여 확장된 파티션의 크기를 확인합니다.

    • 예시: 확장 후 lsblk 명령을 실행하여 vda1 파티션 크기가 80G로 확장된 것을 확인합니다.
    파티션 확장 후 확인
    ubuntu@volume-test:~$ lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vda 252:0 0 80G 0 disk
    ├─vda1 252:1 0 79.9G 0 part /

Step 4. 파일 시스템 확장

파일 시스템을 확장하여 확장된 공간에 데이터를 저장할 수 있습니다.
파일 시스템 종류에 따라 명령어가 달라집니다.

  1. ex4를 사용하는 경우 resize2fs 명령어를, xfs를 사용하는 경우 xfs_growfs 명령어를 활용합니다.

    sudo resize2fs /dev/vda1
  2. df 명령어로 확장된 파일 시스템을 확인합니다. 파일 시스템 확장을 완료한 후 인스턴스를 재시작하지 않아도 추가된 디스크 공간에 데이터를 저장할 수 있습니다.

    • df 명령어를 실행하여 /dev/vda1 파일 시스템이 80G로 확장된 것을 확인합니다.
    df 명령어(파일 시스템 확장 후)
    ubuntu@volume-test:~$ df -Th
    Filesystem Type Size Used Avail Use% Mounted on
    /dev/vda1 ext4 78G 1.6G 76G 2% /
    ...
    /dev/vdb ext4 30G 45M 28G 1% /data
    ...