Unraid > Linux > ESXi - Install cant find storage device?


Recommended Posts

I am trying to install ESXi on a Linux VM in unraid.   I have a Windows 10 VM working great.  Below is a snap of my settings and I followed Spaceinvader One's video, The problems and solutions of nested VMs in KVM on Unraid.

 

ESX loads, I get to accepting whatever, then it gets to the below snap, Select a disk to install or upgrade.   I have tried installing to my cache, which is where I want it, other SATA drives in the array.   Below is a list of the locations I have tried.   What am I doing wrong?

Linix4 - 1st Try - Primary vDisk Location set to auto (/mnt/user/domains/Linux4/vdisk1.img

2nd try - Primary vDisk Location Disk3

3rd try - Primary vDisk Location manual, /mnt/cache/domains/Linix for VIRL/

4th try - Primary vDisk location Auto and added a share, /mnt/cache/domains/Linix for VIRL

 

 

 

 

storage.PNG

linux.PNG

Edited by knoorda
Link to comment
  • 1 year later...

actually just install it on a usb stick as passthrough, when your done installing, turn off vm make sure the usb is not mounted. Then qemu-img convert -p p0 raw /dev/(usb device name) "/mnt/ISTOREMYSTUFFHERE/ESXI67OS.img"

 

Then mount  "/mnt/ISTOREMYSTUFFHERE/ESXI67OS.img" as the main hd in the vm as sata, you should be good to go. Going to also need to do a few things like change virtio network driver to vmxnet3 in the xml, and make sure you enabled nesting.

Link to comment

Here is a pic of it running, here is my XML for the VM

 

<domain type='kvm' id='32'>
  <name>ESXI 6.7 VM1</name>
  <uuid>bfa61202-126a-b4ed-86dc-b3ee163909ef</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>33554432</memory>
  <currentMemory unit='KiB'>33554432</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>33</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='28'/>
    <vcpupin vcpu='2' cpuset='72'/>
    <vcpupin vcpu='3' cpuset='29'/>
    <vcpupin vcpu='4' cpuset='73'/>
    <vcpupin vcpu='5' cpuset='30'/>
    <vcpupin vcpu='6' cpuset='74'/>
    <vcpupin vcpu='7' cpuset='31'/>
    <vcpupin vcpu='8' cpuset='75'/>
    <vcpupin vcpu='9' cpuset='32'/>
    <vcpupin vcpu='10' cpuset='76'/>
    <vcpupin vcpu='11' cpuset='33'/>
    <vcpupin vcpu='12' cpuset='77'/>
    <vcpupin vcpu='13' cpuset='34'/>
    <vcpupin vcpu='14' cpuset='78'/>
    <vcpupin vcpu='15' cpuset='35'/>
    <vcpupin vcpu='16' cpuset='79'/>
    <vcpupin vcpu='17' cpuset='36'/>
    <vcpupin vcpu='18' cpuset='80'/>
    <vcpupin vcpu='19' cpuset='37'/>
    <vcpupin vcpu='20' cpuset='81'/>
    <vcpupin vcpu='21' cpuset='38'/>
    <vcpupin vcpu='22' cpuset='82'/>
    <vcpupin vcpu='23' cpuset='39'/>
    <vcpupin vcpu='24' cpuset='83'/>
    <vcpupin vcpu='25' cpuset='40'/>
    <vcpupin vcpu='26' cpuset='84'/>
    <vcpupin vcpu='27' cpuset='41'/>
    <vcpupin vcpu='28' cpuset='85'/>
    <vcpupin vcpu='29' cpuset='42'/>
    <vcpupin vcpu='30' cpuset='86'/>
    <vcpupin vcpu='31' cpuset='43'/>
    <vcpupin vcpu='32' cpuset='87'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.11'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/bfa63201-126a-b4ed-86dc-b3ff162909ef_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='33' threads='1'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/VMS/ESXI 6.7 VM1/esxios.img'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:c6:a6:a5'/>
      <source bridge='br0'/>
      <target dev='vnet2'/>
      <model type='vmxnet3'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <interface type='bridge'>
      <mac address='52:54:00:39:cc:94'/>
      <source bridge='br0'/>
      <target dev='vnet3'/>
      <model type='vmxnet3'/>
      <alias name='net1'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/5'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/5'>
      <source path='/dev/pts/5'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-32-ESXI 6.7 VM1/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='vnc' port='5901' autoport='yes' websocket='5701' listen='0.0.0.0' keymap='en-us'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

 

esx.PNG

Link to comment
  • 9 months later...

I have no idea why this works, but ff you change your CD rom interface to USB (instead of the common knowledge of SATA), it'll find the vdisk you created when you built the VM.

 

Also, on 6.6.7, the modprobe for kvm_intel is not started with nested=1. from terminal, modprobe -r kvm_intel && modprobe kvm_intel nested=1

If you want that to survive a reboot, it'll need to go into your syslinux config from the main/flash page of UNRAID, like this:

 

Unraid OS

   kernel /bzimage
   append initrd=/bzroot kvm_intel.nested=1

Link to comment
  • 10 months later...

I ran into the same problem and fixed by a workaround kind of way.

Did it with the VMware vSphere Hypervisor ESXi 7.0 ISO.

 

Got the information from a SpaceInvader One video. Follow the steps from 2:52 until 6:08

 

 

 


-I use the nested commands (scripted from Spaceinvader video) and the Flash setting from this topic.

-Make sure there is no VM running while you run the script or it changes nothing.

-I use the XML settings below. Make sure you dont open/save the GUI Vm settings after editting the XML.

-WHEN I GOT INTO THE MENU WHERE THE DISK CANNOT BE FOUND i got searching in me settings while the VM was open.

 Eventualy i did only unmount/format/mount an unralated physical disk and went back to the installation VNC windows.

 

 When i refreshed the window of the vm installation screen (Make sure you reclick inside it first) i

 only refreshed with the F5? button i think it was and BAM! i finds the disk for some reason.

 

 Tried it twice while doing the mount unmount thing (just because im a little OCD), but it should be totaly unrelated.

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='11'>
  <name>ESXi 7.0</name>
  <uuid>a04b5289-2d91-2702-3557-f2fadd1ab5a1</uuid>
  <description>VMware vSphere Hypervisor</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="Vmware_Esxi.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>12582912</memory>
  <currentMemory unit='KiB'>12582912</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>8</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='8'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='9'/>
    <vcpupin vcpu='4' cpuset='4'/>
    <vcpupin vcpu='5' cpuset='10'/>
    <vcpupin vcpu='6' cpuset='5'/>
    <vcpupin vcpu='7' cpuset='11'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-4.2'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='4' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/ESXi 7.0/vdisk1.img' index='1'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x18'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x19'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x1a'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x1b'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:68:a3:ef'/>
      <source bridge='virbr0'/>
      <target dev='vnet0'/>
      <model type='vmxnet3'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-11-ESXi 7.0/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='vnc' port='5900' autoport='yes' websocket='5700' listen='0.0.0.0' keymap='en-us'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

 

 

EDIT/NOTE: I now notice the following part i did not put myself into the xml...

Except from the /devices and /domain. That was there when i configured it.

 

Maybe that did the trick? I dont know what it is.

 

Hope this helps anyone with the same issue.
 

........
..........
....</devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

END XML PAGE

 

Edited by EverybodyGetsHurt
Link to comment
  • 8 months later...
  • 2 months later...
4 hours ago, C-Fu said:

I'd need help with ESXi recognizing passthrough drives using VIRTIO drivers. 

 

Something like this

 

image.png.46a81f0c5c138877c94784aaa8d6407d.png

 

Doesn't seem to work. Would be nice if I can use the full potential of the hdds 


you can now but you need to set the device bus type as VMware in xml

Edited by Magicmissle
Link to comment

So folks I'm also trying to do this on ESXi v7.0.0 and for some reason I cannot for the life of me send any kind of large data transfer to the ESXi server.  Anything at high speed just dies.  I can open SSH sessions, I can browse to the server, but as soon as I try to push a VMDK file or anything big the write speeds just halt and the network disconnects me.

Anyone got any ideas here?  This is using vmxnet3 NIC for management.  It is definitely not a storage issue as I have tried multiple datastores - some are virtual images on the unRAID cache drive, some are virtual images on the array.  So, it's definitely a network issue.

Update: So, I can push data via IPv6 but not IPv4?  Huh?  More investigation required...

Edited by Kaldek
Link to comment

Personally this is why I moved away from unraid, even though you can get esxi to nest and function, it’s performance is a dog.

 

Even when passing through devices such as NIC or storage the performance is sub par from what you would expect. It’s better to use a separate host for VMware vcenter and esxi. The only value of nesting esxi inside of unraid is for limited learning and basic basic basic basic basic lab work.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.