Re: ESXi under KVM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Oleg Ilyin <on.ilyin@xxxxxxxxx> writes:

> Hi,
>  could you help me please to solve my issue with run VM on ESXi which
> running on KVM?
>
>
> I have   Ubuntu 14.04.4 LTS
>              ESX  6.0   vmware-201601001-3380124-iso
>              Running hypervisor: QEMU 2.4.0
>
> I try to run VM on EXSi  which running under KVM.
> So, ESXi was successfull installed,  the command in ps :
>
> qemu-system-x86_64 -enable-kvm -name esx -S -machine
> pc-i440fx-2.4,accel=kvm,usb=off -cpu Nehalem,+invpcid,+vmx -m 8096
> -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid
> b2c3b37b-9596-98ab-8e0d-f05df89d2920 -no-user-config -nodefaults
> -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/esx.monitor,server,nowait
> -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc
> -no-shutdown -boot strict=on -device
> piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive
> file=/var/lib/libvirt/images/esx-20.img,if=none,id=drive-ide0-0-0,format=raw
> -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1
> -drive if=none,id=drive-ide0-1-0,readonly=on,format=raw -device
> ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev
> tap,fd=26,id=hostnet0 -device
> e1000,netdev=hostnet0,id=net0,mac=52:54:00:96:74:1c,bus=pci.0,addr=0x3
> -chardev pty,id=charserial0 -device
> isa-serial,chardev=charserial0,id=serial0 -vnc 0.0.0.0:0 -device
> cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device
> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
>
> But I always get error like :
> Virtualized INtel VT-x/EPT is not supported on this platform.
> Continure without virtualized msg.intel.hvhwmmu? during starting VM on
> ESXi

I haven't tried to figure out that virtual hardware mode ESX has but with testing help
from infernix on #qemu, I know these are the things ESX looks for:

invept global

invept single context (easy to advertise a dummy, kvm actually used to but we removed
it sometime in the past)

ept execute only bit (on my todo list)

vpid:
global/single context/single context retaining globals
I first two are advertised, the last one isn't and just advertising this bit seems to work
atleast for the boot part.

Also, you probably need kvm=off.

If you get to the log when esx tries to launch the guest, we will
have a clearer picture of what's actually failing but I suspect what
I mentioned above is what you are hitting.

> cat /proc/cpuinfo  on 0 host machine
> flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
> mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe
> syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts
> rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq
> dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid
> dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer xsave avx
> f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm
> tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2
> smep bmi2 erms invpcid
>
> I added these options in  /etc/vmware/config
>
> vhv.allow = "TRUE"
> hv.assumeEnabled="TRUE"
> vhv.enable = "TRUE"

As far as I know, this won't work. You have to trick esx into thinking
it's running on real hardware. vhv has esx-isms we probably don't know
of yet.

Bandan

> vmx.allowNested = "TRUE"
>
> But, it didn't help me.  ( I rebooted ESXi also)
>
> It affected only for 32-bit VM, which failed with new error .
>
>
> cat /sys/module/kvm_intel/parameters/nested
> Y
> cat /sys/module/kvm/parameters/ignore_msrs
> Y
> cat /sys/module/kvm_intel/parameters/ept
> Y
>
> lsmod |grep kvm
> kvm_intel             143148  6
> kvm                   451729  1 kvm_intel
>
>
> my xml:
>
> <domain type='kvm' id='41'>
>   <name>esx</name>
>   <uuid>b2c3b37b-9596-98ab-8e0d-f05df89d2920</uuid>
>   <memory unit='KiB'>8290304</memory>
>   <currentMemory unit='KiB'>8290304</currentMemory>
>   <vcpu placement='static'>4</vcpu>
>   <resource>
>     <partition>/machine</partition>
>   </resource>
>   <os>
>     <type arch='x86_64' machine='pc-i440fx-2.4'>hvm</type>
>     <boot dev='hd'/>
>   </os>
>   <features>
>     <acpi/>
>     <apic/>
>     <pae/>
>   </features>
>   <cpu mode='custom' match='exact'>
>     <model fallback='allow'>Nehalem</model>
>     <vendor>Intel</vendor>
>     <feature policy='require' name='vmx'/>
>     <feature policy='require' name='lm'/>
>     <feature policy='require' name='lahf_lm'/>
>     <feature policy='require' name='nx'/>
>     <feature policy='require' name='fxsr'/>
>     <feature policy='require' name='invpcid'/>
>   </cpu>
>   <clock offset='utc'/>
>   <on_poweroff>destroy</on_poweroff>
>   <on_reboot>restart</on_reboot>
>   <on_crash>restart</on_crash>
>   <devices>
>     <emulator>/usr/bin/kvm-spice</emulator>
>     <disk type='file' device='disk'>
>       <driver name='qemu' type='raw'/>
>       <source file='/var/lib/libvirt/images/esx-20.img'/>
>       <target dev='hda' bus='ide'/>
>       <alias name='ide0-0-0'/>
>       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
>     </disk>
>     <disk type='block' device='cdrom'>
>       <driver name='qemu' type='raw'/>
>       <target dev='hdc' bus='ide'/>
>       <readonly/>
>       <alias name='ide0-1-0'/>
>       <address type='drive' controller='0' bus='1' target='0' unit='0'/>
>     </disk>
>     <controller type='usb' index='0'>
>       <alias name='usb0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x01'
> function='0x2'/>
>     </controller>
>     <controller type='pci' index='0' model='pci-root'>
>       <alias name='pci.0'/>
>     </controller>
>     <controller type='ide' index='0'>
>       <alias name='ide0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x01'
> function='0x1'/>
>     </controller>
>     <interface type='bridge'>
>       <mac address='52:54:00:96:74:1c'/>
>       <source bridge='virbr0'/>
>       <target dev='vnet0'/>
>       <model type='e1000'/>
>       <alias name='net0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
> function='0x0'/>
>     </interface>
>     <serial type='pty'>
>       <source path='/dev/pts/2'/>
>       <target port='0'/>
>       <alias name='serial0'/>
>     </serial>
>     <console type='pty' tty='/dev/pts/2'>
>       <source path='/dev/pts/2'/>
>       <target type='serial' port='0'/>
>       <alias name='serial0'/>
>     </console>
>     <input type='mouse' bus='ps2'/>
>     <input type='keyboard' bus='ps2'/>
>     <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
>       <listen type='address' address='0.0.0.0'/>
>     </graphics>
>     <video>
>       <model type='cirrus' vram='9216' heads='1'/>
>       <alias name='video0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02'
> function='0x0'/>
>     </video>
>     <memballoon model='virtio'>
>       <alias name='balloon0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
> function='0x0'/>
>     </memballoon>
>   </devices>
>   <seclabel type='none'/>
> </domain>
>
> I also try to run it on 2.5.1 and 2.6, but it didn't help me.
>
>
> please, what is wrong ?  how to be able to run VM on ESXi which runs on the KVM?
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux