비용을 효율적으로 사용하기 위해 불필요하게 크게 생성한 Compute Engine 디스크 크기를 조정하고자 할 수 있습니다.
하지만 Compute Engine Disk의 크기는 늘릴 수만 있으며 줄일 수 없습니다.
따라서 디스크 크기를 줄이려면 더 작은 크기의 새 디스크를 만들어야 합니다.
아래 방법을 따라 더 작은 크기의 디스크를 생성 및 기존 디스크로부터 데이터 마이그레이션을 진행하시기 바랍니다.
1. Console 상에서 VM을 중지
. Console > Compute Engine > VM Instances > VM 선택 > Stop
2. 백업용 Disk Snapshot 생성
. Console > Compute Engine > Disks > 기존 Disk 선택 > Actions > Create snapshot
3. 새로운 Disk 생성
. 아래 gcloud 명령어를 사용합니다.
.. gcloud compute disks create [Disk 이름] --zone=[Disk의 Zone] --architecture=X86_64 --guest-os-features=[OS 기능 설정 필요시] --size=[Disk Size] --image=[사용할 Disk 이미지] --type=[Disk Type]
. 신규 Disk를 Boot Disk로 VM에 연결합니다.
.. gcloud compute instances attach-disk [VM 이름] \
--disk=[신규 Disk 이름] \
--boot
4. VM을 다시 시작
. Console > Compute Engine > VM Instances > VM 선택 > Start
5. 기존 Disk를 Additional Disk로 추가
. VM 선택 > Edit > Additional disks > + Attach Existing Disk > [기존 Disk]
. 해당 VM에 Boot Disk와 Additional Disk가 올바르게 설정되어 있는지 확인합니다.
.. Console > Compute Engine > VM instances > 해당 VM 선택 > Storage
6. 기존 Disk에서 신규 Disk로 필요한 Data Migration
. VM에 SSH 접속하여 Disk 상황을 확인합니다.
※ 아직 Additional Disk가 Mount 되어있지 않은 것을 확인할 수 있습니다.
.. Console > Compute Engine > VM instances > SSH
.. lsblk # addtional disk 추가여부확인
. Additional Disk를 VM에 Mount합니다.
.. sudo mkdir -p [디렉토리 경로] # Disk를 mount할 디렉토리 생성
... ex : sudo mkdir -p /mnt/disks/test
.. sudo mount -o discard,defaults [Mount할 Disk 이름] [디렉토리 경로] # Disk mount
... ex : sudo mount -o discard,defaults /dev/sdb1 /mnt/disks/test
.. lsblk # mount여부 확인
.. sudo chmod a+w [디렉토리 경로] # 해당 디렉토리 접근권한 허용
... ex : sudo chmod a+w /mnt/disks/test
. cp 명령어를 사용하여 Additional Disk에서 필요한 Data를 Migration합니다.
.. cd /mnt/disks/test/[데이터가 저장된 경로]
.. cp * /[데이터를 저장할 경로]
.. cd /[데이터를 저장할 경로]
.. ls -la # 데이터 확인
.. df -h # Disk 사용량 비교
7. Data Migration 완료 후 Additional Disk Detach
. Additional Disk를 Detach합니다.
.. Console > Compute Engine > VM instances > 해당 VM > Edit > Storage > Addtional disks > Remove disk
. 해당 VM을 재시작 합니다.
※ 재시작을 안하면 df -h 명령어로 확인 시 아직 mount 된것처럼 표시됩니다.
.. Console > Compute Engine > VM instances > 해당 VM 선택 > Stop / Start