Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

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

  • 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.

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

once your booted into it you will need to mount an external datastore, i'm using NFS from freenas but unraid should also work. Doesn't appear local storage volumes show up, this could be due to the new stuff with vvols

  • 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

  • 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

  • 8 months later...

If anyone still needs help on this, I made a blog post on setting up ESXi 7.0 U1 on latest version of Unraid (6.9.0 RC1). Network and SATA disks work out the box. Thanks for the post originally though, it helped me a lot.

 

http://www.rootisgod.com/2020/ESXi-On-Unraid/

  • 2 months later...

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 

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

22 hours ago, Magicmissle said:


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

Sounds wonderful. But how'd I do that?

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

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.

7 minutes ago, Magicmissle said:

The only value of nesting esxi inside of unraid is for limited learning and basic basic basic basic basic lab work.


That's literally the reason I'm setting it up. The rest of unRAID is fine - I just have the occasional OVA that refuses to run as a KVM VM.

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.