ovirt kvm嵌套虛擬化

ovirt kvm嵌套虛擬化


嵌套式虛擬nested是一個可經過內核參數來啓用的功能。它可以使一臺虛擬機具備物理機CPU特性,支持vmx或者svm(AMD)硬件虛擬化。關於nested的具體介紹,能夠看這裏 。該特性須要內核升級到Linux 3.X版本 ,因此在centos6下是須要先升級內核的,而在centos7下已默認支持該特性,不過默認是不開啓的,須要經過修改參數支持。centos

一、確認主機是否支持nested

通找到以下文件或在模塊特性中能grep到該特性值 ,證實當前內核支持nested,以下是查到支持但未開啓:bash

#查看當前系統是否支持nested
systool -m kvm_intel -v  | grep -i nested
nested              = "N"
#或者這樣查看
cat /sys/module/kvm_intel/parameters/nested
N

二、開機啓動該nested

有兩種方法能夠開機自啓動該特性:服務器

在 kernel 那一行的末端加上 "kvm-intel.nested=1"

socket

# echo "options kvm-intel nested=1" >> /etc/modprobe.d/kvm-intel.conf
不重啓主機也能夠經過從新加載模塊支持:

# rmmod kvm_intel
# modprobe kvm-intel nested=1
# cat /sys/module/kvm_intel/parameters/nested
Y

三、建議VMX支持虛擬機

經過virsh 指定xml 文件啓動虛擬機時,能夠在xml 中經過以下三種方法支持ide

 <cpu mode='custom' match='exact'>
    <model fallback='allow'>core2duo</model>
    <feature policy='require' name='vmx'/>
 </cpu>
#這種方式爲虛擬機定義須要模擬的CPU類型"core2duo",而且爲虛擬機添加"vmx"特性
#也可使用這種
<cpu mode='host-model'>
  <model fallback='allow'/>
</cpu>

#或者這樣
<cpu mode='host-passthrough'>
    <topology sockets='2' cores='2' threads='2'/>
</cpu>

#CPU穿透,在虛擬機中看到的vcpu將會與物理機的CPU一樣配置,這種方式缺點在於若是要對虛擬機遷移,遷移的目的服務器硬件配置必須與當前物理機同樣

經過qemu-kvm 命令啓動時,能夠經過以下參數支持:ui

-enable-kvm -cpu qemu64,+vmx

四、成功運行rhce虛擬機

如下才是本篇嵌套虛擬機的重點centos7

經過以下方法啓動虛擬機:spa

/usr/libexec/qemu-kvm -m 8096 -cpu qemu64,+vmx -smp 4,sockets=4,cores=1,threads=1 -drive file=jiaoshiji.qcow2 -vnc 0.0.0.0:20 VNC鏈接後,經過cat /proc/cpuinfo查看支持VMX特性:xml

egrep '(vmx|svm)' /proc/cpuinfo

五、若是用virtmanager管理,cpu屬性選擇Copy host CPU configure

相關文章
相關標籤/搜索