블록스토리지

블록 스토리지 용량 확장

블록 스토리지를 사용중 용량이 더 필요할때가 있습니다. 이 경우 신규 블록 스토리지를 추가하는 방법도 있지만
아래의 방법으로 기존에 사용하던 블록 스토리지의 용량을 확장하여 사용하는 방법도 있습니다.
이 작업은 데이터 백업 후 작업 진행 하는 것을 권장해드립니다.

 

 

 

블록 스토리지 이미지 생성


    

블록 스토리지의 용량을 확장 하려면 먼저 사용하던 블록 스토리지를 이미지화 해야 합니다.

 

"관리콘솔 - 서버 - 블록 스토리지 관리 - 관리메뉴 - 블록 스토리지 이미지 생성하기"

 

 

  

 

이미지로 블록 스토리지 생성하기


 

만든 이미지를 다시 블록 스토리지로 생성합니다.

"관리콘솔 - 서버 - 블록 스토리지 이미지 관리 - 관리메뉴 - 이미지로 블록 스토리지 생성하기"

 

이미지를 블록 스토리지로 생성할때 원하는 사이즈를 선택합니다.

 ∗ 선택하는 용량은 증가될 용량이 아니라 최종 용량을 뜻합니다.

 

 

블록 스토리지 확인


 

블록 스토리지 관리로 이동하여 생성한 스토리지를 확인합니다.

새로운 30G의 블록 스토리지가 생성됐습니다.

∗ 대시보드에서의 작업이 전부가 아니라 서버에서 추가 작업을 진행해야 합니다. 

 

 

 

서버에서의 작업.


 

#fdisk -l


 위 그림처럼 새로 추가된 디스크의 총 용량은 30G 이지만 파티션에 잡혀 있는 용량은 이전과 동일한 10G임을 알 수 있습니다.

 

fdisk를 이용하여 디스크를 확장한다.

∗ 디스크의 디바이스이름은 기존에 사용하던 디스크 갯수에 따라 다릅니다. 새로 추가한 디스크의 디바이스 이름을 확인하고 진행합니다.

# fdisk /dev/vdc

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d
Selected partition 1
Partition 1 has been deleted. # 디스크의 파티션을 삭제한다.

Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): enter
First sector (2048-62914559, default 2048): enter
Last sector, +sectors or +size{K,M,G,T,P} (2048-62914559, default 62914559): enter

Created a new partition 1 of type 'Linux' and of size 30 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

∗ 위 작업은 디스크가 마운트 안된 상태일때 진행해야 합니다.

 

작업이 완료되면 디스크의 용량을 확인합니다.

#fidsk -l

 

용량이 30G로 확장 된것을 확인할수 있습니다.

하지만 이 상태에서 마운트 했을 경우에는 기존 10G로 인식이 됩니다.

 

resize2fs /dev/vdc1

위 명령어를 통해 디스크 용량을 확장 합니다.

 

마무리 작업과 ETC


확장한 디스크를 마운트하고 기존의 자료들이 온전히 있는지 확인합니다. 자료들이 온전하다면 대시보드에서

존의 블록 스토리지를 삭제하는것으로 모든 작업은 완료됩니다.

 

만약 기존의 디스크를 삭제하지 않고 같이 사용하고 싶다면 다음 작업을 진행해야 합니다.

기존의 블록스토리지 이미지를 같이 사용할 경우 두 디스크의 UUID값이 동일하게 되어있기 때문입니다.

 

 

#blkid

 

위 그림처럼 vdb1과 vdc1이 같은 UUID값을 보여 실제 사용시 문제가 발생할수 있습니다.

 

UUID 생성.

#uuidgen

d8820214-02f4-4351-b7f8-70a6dd25e862

 

생성된 UUID값을 새로운 disk에 적용

#tune2fs /dev/vdc1 -U d8820214-02f4-4351-b7f8-70a6dd25e862

#blkid

/dev/vdb1: UUID="e940a42b-471b-48f4-a2f9-4e00c7dfa4bb" TYPE="ext4" PARTUUID="866420bb-01"
/dev/vdc1: UUID="d8820214-02f4-4351-b7f8-70a6dd25e862" TYPE="ext4" PARTUUID="866420bb-01"

∗ 위 작업은 디스크가 언마운트 상태여야 합니다.

위처럼 UUID값이 변경되어 디스크간에 충돌 위험이 사라졌습니다.