클라우드에 Nested Virtualization 지원 VM 구축
8752 단어 Nested_Virtualization
클라우드에서 OpenStack 환경을 구축하려고 시도할 때 OpenStack Nested Virtualization을 실행하기 위해서는 필수적이라는 것을 알았습니다.
※ Nested Virtualization은 VM 위에 VM을 올려 만든 컨테이너를 말합니다.
유감스럽게도 OpenStack의 시험 환경은 결국 작동할 수 없었다
이 글에는 AWS·GCP·Azure에서 Nested Virtualization 구축을 시도했다는 내용이 실렸다.
카탈로그
곧, AWS가 구축하는 방법을 몰라서 아무런 정보도 없다.
만약 무엇을 알게 된다면 나는 보충할 것이다.
GCP
※ 클라우드 셸을 통해 실행됩니다.
1. 이미지 만들기
# GCPが するイメージを する
gcloud compute images list --standard-images | grep ubuntu
NAME PROJECT FAMILY DEPRECATED STATUS
ubuntu-1804-bionic-v20201014 ubuntu-os-cloud ubuntu-1804-lts READY
ubuntu-2004-focal-v20201014 ubuntu-os-cloud ubuntu-2004-lts READY
# ※ は、 しています
# ベースイメージとして に するソースディスクを する
gcloud compute disks create disk-nested-ubuntu \
--image-project ubuntu-os-cloud \
--image-family ubuntu-1804-lts \
--zone us-central1-a
# ※
Created [https://www.googleapis.com/compute/v1/projects/******/zones/us-central1-a/disks/disk-nested-ubuntu].
NAME ZONE SIZE_GB TYPE STATUS
disk-nested-ubuntu us-central1-a 10 pd-standard READY
# enable-vmxライセンスを してカスタムイメージを する
gcloud compute images create nested-ubuntu-image \
--source-disk disk-nested-ubuntu --source-disk-zone us-central1-a \
--licenses "https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"
# ※
Created [https://www.googleapis.com/compute/v1/projects/******/global/images/nested-vm-image].
NAME PROJECT FAMILY DEPRECATED STATUS
nested-vm-image ****** READY
# ソースディスクが になったので、 する
gcloud compute disks delete disk-nested-ubuntu --zone us-central1-a
2. 이미지에서 인스턴스 만들기인스턴스를 만들 때 1에서 만든 이미지를 선택할 수 있습니다.
3. 제작 결과 확인
/proc/cpuinfo
의 flags
에 존재하는 것으로 확인vmx
.flags
에 CPU가 어떤 기능을 하는지 적혀 있다.# SSHで する( )
gcloud compute ssh example-nested-vm
# cpuinfoに、vmxの を する
******@example-nested-vm:~$ cat /proc/cpuinfo | grep vmx
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt arat md_clear arch_capabilities
AzureACU(Azure Computing Unit) 목록에 있는 CPU 코어 수의 열에는 가족용 Nested Virtualization
***
이 있습니다.*** ハイパースレッド されており、 れ になった を できます。
예를 들어, Dv3 및 Dsv3 시리즈에 기재된 Standard D4 v3에서 작성된 결과는 다음과 같습니다.# SSHで する
ssh $USERNAME@$PUBLIC_IP
# GCPと じく、 したVMにSSHで し、cpuinfoを
cat /proc/cpuinfo | grep vmx
# 「Standard_D4_v3」で しました。CPUが4つあるので4 ています。
nested-user@nested-vm:~$ cat /proc/cpuinfo | grep vmx
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti tpr_shadow vnmi ept vpid fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt md_clear
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti tpr_shadow vnmi ept vpid fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt md_clear
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti tpr_shadow vnmi ept vpid fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt md_clear
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti tpr_shadow vnmi ept vpid fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt md_clear
참고 자료다음을 참조하였습니다.
GCP
Azure
구축 후 확인
OpenStack
'완전히 이해'했기 때문에 잘못과 오해의 표현이 있다면 저에게 메시지를 남겨주시면 기쁠 것 같습니다.
참고로 VirtualBox도 Nested Virtualization을 효과적으로 사용할 수 있다.
VirtualBox에서 OpenStack의 시험 환경(DevStack)이 단 한 번뿐인 것 같습니다.
Reference
이 문제에 관하여(클라우드에 Nested Virtualization 지원 VM 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/aki-nasu/items/18710a073dde1f3e0529텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)