How do you passthrough native SATA drives to a guest on ESXi?

Solution 1:

I had a similar issue with some drives from a server that had failed, I found the answer on this page.http://www.vm-help.com/esx40i/SATA_RDMs.php

It's far easier than controller pass-through or any of the other tricks I'd thought of, but you do need to be able to use the Service Console (google esxi unsupported mode ssh)

summary:

Step 1) fdisk -l to find the device name

Step 2) ls /dev/disks -l to find the VML identifier

Step 3) vmkfstools -r VMLid aVMDKName.vmdk

Step 4) Add the aVMDKName.VMDK to a virtual machine.

eg: vmkfstools -r /vmfs/devices/disks/naa.5000c5003010054f /vmfs/volumes/hdd/lanparty.vmdk

I wasn't able to boot off the disks as I had hoped to (P2V without copying 500GB across the network), but I was able to attach them to another virtual machine and get at the data.

Solution 2:

Another solution would be to perform the following:

Step 1) Make sure remote tech support (SSH) is enabled and running. Step 2) SSH to the host Step 3) fdisk -l | grep -B4 'doesn't contain a valid partition table'

Note: This will show you all the physical disks that don't have partitions yet, such as a newly-provisioned SAN LUN. It should look something like this:

Disk /dev/disks/naa.60060e801004eb90052fab6900000000: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/disks/naa.60060e801004eb90052fab6900000000 doesn't contain a valid partition table

Disk /dev/disks/naa.60060e801004eb90052fab6900000001: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/disks/naa.60060e801004eb90052fab6900000001 doesn't contain a valid partition table

Disk /dev/disks/naa.60060e801004eb90052fab6900000002: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/disks/naa.60060e801004eb90052fab6900000002 doesn't contain a valid partition table

If this command doesn't show you any devices, my procedure probably isn't for you, as I, like the previous posters, make the assumption that the reason your VC "Raw Device Mappings" radio button is greyed-out is because the LUN doesn't have a partition.

Step 4) Create a new partition, "fdisk /dev/disks/naa.60060e801004eb90052fab6900000000" Note: You'll have to use your own device name here. Step 5) If you're not too familiar with fdisk, you can do this:

a) "p" to print existing partitions. If you don't see any, then it's probably safe to proceed.

b) "n" to create a new partition.

c) "p" for primary

d) "1" for partition 1

e) to select default start sector

f) to select default end sector

g) "w" to write

h) "q" to quit

Step 6) Now you should be able to assign the raw disk in VirtualCenter.