Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

JINIers

GCP 부팅디스크 분리 및 VM 복제 본문

GCP/구성연습

GCP 부팅디스크 분리 및 VM 복제

JINIers 2022. 7. 13. 09:24

부제: 비선점형 인스턴스에 사용하던 파일&내용을 그대로 옮기고 싶다면(vm 복제)

 

인스턴스들을 구성하다가 vm 으로 인해 비용이 너무 많이 청구되는 사태가 발생하였다.

상시로 돌아가는 인스턴스를 제외한 나머지, 즉 사용하지 않는, test용인, 쓰다 만 vm 인스턴스들

vm 내의 파일들은 필요하나 vm을 구동할 필요는 없는 그런..것들을 비용이 많이 나오니까 전부 선점형으로 바꾸라고 하셨다. 그래서 생각한게


1. vm을 그냥 복제하자 : vm create similar 하면 되겠지

    ▶ 개같이 멸망, error남

2. vm을 image를 뜬 뒤 create 하자.

순서

  • 복제할 머신 이미지 생성
  • create similar
  • snap shoot image → vm create
  • 선점형으로 설정

▶ 역시나 개같이 멸망 error

error : Invalid value for field 'resource.scheduling.provisioningModel': 'SPOT'. preemptible=false and provisioning_model=SPOT is contradicting.

 

 

에러를 찾아도 안나오는데 이게 뭐 그거란다.

디스크가 없어서 생성할 수 없음(아님

 

그래서 이것저것 시도 끝에 생각한 결론

▶ 똑같이 복제하려고 할 때 부팅 디스크 없이 vm 인스턴스를 시작하려고 하면 오류가 발생한다.

 

그럼 디스크를 만들면 되잖아? → 파일 많으면 어떻게 다시 만들건데

Aㅏ........

그럼 디스크를 기존 vm에서 떼어내고 붙이면 되잖아..?

이렇게

 

그래서 gcp docs를 찾아봤더니 역시나 있었음 떼어내는 방법이!!

※ 참고 : https://cloud.google.com/compute/docs/disks/detach-reattach-boot-disk

 

부팅 디스크 분리 및 재연결  |  Compute Engine 문서  |  Google Cloud

의견 보내기 부팅 디스크 분리 및 재연결 VM 인스턴스에서 부팅 디스크를 분리하고 새 부팅 디스크를 연결할 수 있습니다. 이 기능을 사용하면 원래 인스턴스를 삭제하지 않고 다른 VM 인스턴스

cloud.google.com

 

그런 의미로 저렇게 시도를 해보겠읍니다. 햐햫햐핳햐ㅏㅎㅎ하


1. 인스턴스 중지 > edit > storage 'boot disk' > detach boot disk > save

부팅디스크 떼어내기

 

 


2. 새로운 인스턴스 생성(**-preem) > 'boot disk' change > exsting discks > disk 선택 > select 

기존 부팅디스크 선택


3. management > Availability policies > VM provisioning model : Spot 설정

선점형으로 설정


4. ssh 접속 후 list 확인 > 기존 vm 삭제

파일이 그대로 있는지 확인

 

 


이렇게 하면 된다.

이걸 알아내고 너무 신나서 vm을 하나하나 디스크 해제하고 떼어내는데..

이거 솔직히 몇개 안되니까 일일히 떼어내서 다시 붙이는데 인스턴스가 100개 200개 넘어가면 일일히 다시 떼었다 붙이기 힘들 듯

자동화관리 할 수 있게 해줬으면 좋겠다.

아니면 한꺼번에 선점형으로 edit으로 변경할 수 있게 해주던가..

 


특이점

 

Connection via Cloud Identity-Aware Proxy Failed
Code: 1006
Please ensure you can make a proper https connection to the IAP for TCP hostname: https://tunnel.cloudproxy.app
You may be able to connect without using the Cloud Identity-Aware Proxy.

VM을 중지시키고 디스크를 분리 후 선점형 VM에 분리한 디스크를 갈아 끼운 뒤 정상작동하는지 확인하려고 ssh에 접속하면 뜨는 현상 중에 하나

계속해서 누르면 아래처럼 트러블 슈팅을 확인하라고 뜬다.

You cannot connect to the VM instance because of an unexpected error. Wait a few moments and then try again.
See troubleshooting docs.

하지만 멀쩡하다고 뜬다.

킹치만 아무것도 안나옴 겨우 서치해서 나온게 아래 링크임

 

▶ 참고 : https://www.googlecloudcommunity.com/gc/Infrastructure-Compute-Storage/SSH-in-browser-stopped-working-Connection-via-Cloud-Identity/m-p/429895#M790

 

SSH-in-browser stopped working. Connection via Cloud Identity-Aware Proxy Failed

after working for years, my SSH-in-browser no longer connects.  I get: Code: 1006 Please ensure you can make a proper https connection to the IAP for TCP hostname: https://tunnel.cloudproxy.app You may be able to connect without using the Cloud Identity-A

www.googlecloudcommunity.com

 

 

 

디스크를 기존것으로 갈아끼운 뒤 정상작동 되는걸 확인했으나 종종 안되는게 있음

한마디로 디스크 뻑났단 소리임 염병

어쩌겠나요..

해결책은 하나다.

디스크를 새로 만들어야함

 

고로 디스크를 분리하기 전에 미리 디스크 이미지를 떠 놓고 망해도 좌절하지말고 새로 만들도록 하자..

어떻게 알았냐면 저도 알고싶지 않았어요.

 


220726_수정

 

cloud shell에서 선점형 vm 생성하기

1. 기존 vm  중지 후 디스크 분리(vm : disk-test / disk name : disk-test)

2. 명령어 입력

gcloud compute instances create disk-test2[vm명] --project=[프로젝트명] --zone=us-central1-a --preemptible --disk=boot=yes,device-name=disk-test[사용할 disk명],mode=rw,name=disk-test[사용할 disk명]

* 사용할 디스크명을 두번 넣어준다.

양식이 그럼

disk 생성 시 양식

그렇지 않으면 에러나염

그렇게 생성된 결과

 

혹시 몰라 test 파일을 만들어두었다.

3. vm이 설정한 디스크와 제대로 생성되었는지 확인

잘 보임

히히 잘 붙었다.

shell로 선점형 vm을 생성하려면 이렇게 하면 댐

Comments