“내안에 너(KVM 가상화) 있다.”
가상화로 구현된 VM내에 다시 가상화를 구성하는걸 nested virtualization 이라고 합니다.
먼저 이런구성이 가능하려면 HOST 서버내에서 몇가지 커널에 설정값을 조절해야 하는데 스마일서브에서 운영되는 Linux 가상화서버에서는 nested virtualization 기능이 활성화 되어있어 가상화 안에 가상화 구성이 가능합니다.
단….이런식으로 운영을 하게되면 End-Point VM은 상당히 느리므로 그냥 테스트 용도로만 사용하기를 권장합니다.
자체적으로 사설클라우드를 운영할 계획이시라면 아래 설정을 참고하시기 바랍니다.
HOST
본 문서에는 AMD CPU를 기준으로 작성되어있으며 INTEL 계열은 AMD -> INTEL 이름만 변경됩니다.
nested KVM 커널변수값 확인
root@ubuntu:~# cat /sys/module/kvm_amd/parameters/nested
N
KVM AMD 커널모듈 제거하고 리부팅 이후에도 nested 가상화가 지원될수 있게 커널모듈 추가
root@ubuntu:~# lsmod |grep kvm
kvm_amd 60026 0
kvm 455843 1 kvm_amd
root@ubuntu:~# rmmod kvm-amd
root@ubuntu:~# lsmod |grep kvm
kvm 455843 0
root@ubuntu:~# sh -c “echo ‘options amd nested=1’ >> /etc/modprobe.d/dist.conf”
root@ubuntu:~# modprobe kvm-amd
root@ubuntu:~# modinfo kvm_amd | grep -i nested
parm: nested:bool
VM
root@ubuntu:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DEscRIPTION=”Ubuntu 14.04.3 LTS”
CPU 가상화 지원여부 확인
– vmx : INTEL CPU 가상화지원
svm : AMD CPU 가상화 지원
root@ubuntu:~# egrep ‘(svm|vmx)’ /proc/cpuinfo
flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 popcnt hypervisor lahf_lm svm abm sse4a vmmcall
설치할 이미지 위치지정
root@ubuntu:~# mkdir -p /var/kvm/smileserv_img1
root@ubunut:~# virt-install –name ubuntu_1404 –ram 512 –disk path=/var/kvm/smileserv_img1/smileserv1.img,size=10 –vcpus 1 –os-type linux –network bridge=virbr0 –graphics none –console pty,target_type=serial –location ‘http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64/’ –extra-args ‘console=ttyS0,115200n8 serial’
가상화 기능이 활성화되었으며 ISO 파일을 이용해서 설치하고 VM 테스트를 진행하면 됩니다.