Cấu hình Nested VMX trong CentOS7 để chạy máy ảo trong máy ảo

DPBD90
2 min readJul 23, 2019

--

Khi sử dụng các công nghệ ảo hóa như KVM thì một trong số các tính năng nâng cao của nó là khả năng khỗ trợ Nested KVM để cho phép chạy các máy ảo bên trong máy ảo được tạo ra bởi Openstack.

Ví dụ: khi bạn muốn chạy IDE Android Studio bên trong máy ảo được cấp bởi Openstack thì yêu cầu đầu tiên là máy ảo phải hỗ trợ ảo hóa ( vmx function) hoặc khi bạn muốn chạy máy ảo với hiệu năng tốt hơn cho với sử dụng hypervisor mặc định là QEMU.

Nested VMX không được active theo mặc định trong các bản phân phối của Linux và hướng dẫn này sẽ đưa ra phương pháp để cho phép chạy ảo hóa trong ảo hóa trên môi trường KVM.

Cấu hình Nested KVM cho Intel-based Machines

Kiểm tra xem cấu hình Nested KVM Kernel parameter đã được kích hoạt:

cat /sys/module/kvm_intel/parameters/nested
N

Kiểm tra xem có còn máy ảo nào đang hoạt động hay không:

Id    Name                           State
----------------------------------------------------
2 instance-00000124 running
- centos7.0 shut off
- ubuntu18.04 shut off

Tắt các máy ảo đang hoạt động:

virsh destroy <domain-name>

Tạm thời gỡ bỏ KVM intel Kernel module, kích hoạt nested virtualization:

sudo rmmod kvm-intel
sudo sh -c "echo 'options kvm-intel nested=y' >> /etc/modprobe.d/dist.conf"
sudo modprobe kvm-intel

Kiểm tra rằng Nested KVM Kernel module parameter cho thiết bị Intel đã được kích hoạt:

cat /sys/module/kvm_intel/parameters/nested
Y
modinfo kvm_intel | grep nested
parm: nested:bool

Để chắc chắn module kvm-intel sẽ được kích hoạt sau reboot thì ta thêm cấu hình vào trong file /etc/modprobe.d/dist.conf như sau:

cat /etc/modprobe.d/dist.conf
options kvm-intel nested=y

Cấu hình Nested KVM cho AMD-based Machines

Kiểm tra xem cấu hình Nested KVM Kernel parameter đã được kích hoạt:

cat /sys/module/kvm_amd/parameters/nested
0

Tạm thời gỡ bỏ kvm-amd kernel module, kích hoạt nested virtualization:

sudo rmmod kvm-amd
sudo sh -c "echo 'options kvm-amd nested=1' >> /etc/modprobe.d/dist.conf"
sudo modprobe kvm-amd

Kiểm tra rằng Nested KVM Kernel module parameter cho thiết bị AMD đã được kích hoạt:

cat /sys/module/kvm_amd/parameters/nested
1
modinfo kvm_amd | grep -i nested
parm: nested:int

Để chắc chắn module kvm-amd sẽ được kích hoạt sau reboot thì ta thêm cấu hình vào trong file /etc/modprobe.d/dist.conf như sau:

cat /etc/modprobe.d/dist.conf
options kvm-amd nested=y

Kiểm tra máy ảo đã hoạt động đúng:

Khởi động lại các VM, bây giờ các máy ảo Android đã có thể chạy trong máy ảo của bạn. Bạn có thể kiểm tra bằng các kiểm tra /dev/kvm device đã được hoạt động hoặc kiểm tra vmx function trong máy ảo

--

--

DPBD90
DPBD90

Written by DPBD90

I'm an engineer. I love to work on data and open-source systems.

No responses yet