구글 클라우드 플랫폼에서 가상화 사용하기.
가상화라는 개념은 IT에 관심이 많으신분들이라면 한번쯤은 다 들어보셨으리라고 생각합니다.
보통 일반 HOST PC에서 가상화기능(vt-x 같은)을 사용해서 VM 머신을 만들고 실행시키며 또한 Nox 같은 안드로이드 에뮬레이터를 구동시키기도 합니다.
뭐 가상화에 대해서는 이정도면 설명이 됐으리라 생각하고 이걸 어떻게 클라우드 플랫폼에서 사용이 된다고?? 의문을 가지시는 분들이 있으리라 생각합니다.
저 또한 이러한 의문을 가지고 정보를 찾고 문서를 뒤지고 했으니까요.
먼저 결론만 말씀드리면 가능합니다.!
다만 선행조건이 따르게 됩니다. 설정을 안하고 체크하면
이렇게 나오면 안되는겁니다
준비물
전제조건
- 중첩된 가상화는 Haswell 이상의 프로세서에서 실행되는 L1 VM에 대해서만 사용 설정할 수 있습니다.
- E2 머신 유형은 중첩된 가상화를 지원하지 않습니다.
- 중첩된 가상화는 Linux 인스턴스에서 실행되는 KVM 기반 하이퍼바이저에서만 지원됩니다. Hyper-V, ESX, Xen 하이퍼바이저는 지원되지 않습니다.
디스크/이미지 만들기
GCP에서 가상화를 사용하기위해서는 라이선스가 허용된 이미지를 사용해야합니다. 테스트된 VM에 Ubuntu 16.04가 있지만 18.04에서도 정상적으로 된다고해서 18버전으로 이미지를 만들겠습니다.
먼저 이미지 생성을 위한 디스크를 만들어줘야합니다.
Computer Engine 에서 디스크만들기를 실행해줍니다.
여기서 기억해야하는건 디스크 이름과 리전/존, 소스이미지, 크기입니다.
디스크 생성이 완료되었으면 CMD 창으로가서 아래 명령어를 실행시켜줍니다.
gcloud compute images create virt-ubuntu1804 --source-disk ubuntu1804-disk --source-disk-zone asia-northeast3-a --licenses "https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"
명령어를 통해 이미지를 만들었으면 확인해야겠죠?
웹 콘솔로 돌아가서 좌측의 이미지를 눌러서 확인해봅니다.
VM 인스턴스 생성하기
이제 만들어진 이미지를 가지고 VM 인스턴스를 생성해보겠습니다.
리전/존은 서울, 그리고 머신은 N시리즈로 해야합니다. 유형은 편한대로
이제 부팅 디스크 차례입니다.
아까 만들어놓은 이미지를 넣을겁니다.
맞춤 이미지 탭으로가서 아까 만든 이미지를 넣어줍니다.
나머지는 나중에 설정하도록 하고 만들기를 눌러주겠습니다.
만들어진 서버에 ssh로 접근해보겠습니다.
가상화가 가능한지
grep -cw vmx /proc/cpuinfo 명령어로 확인해봅니다.
성공! 이제 이걸로 리눅스 가상화인 KVM을 사용해보도록 하겠습니다.