VMware Cloud Community
The-Kevster
Contributor
Contributor

SATA Support Clear as Mud!?

From the updated I/O sheet this is what's mentioned on supported SATA controllers....

Supported SAS/SATA Dual Controllers

ESX Server 3.5 supports selected SATA devices connected to dual SAS/SATA controllers. This support is limited to ESX Server 3.5. It is not included with ESX Server 3.0.x.

The supported dual SAS/SATA controllers are:

  • mptscsi_2xx (PCIE) ‐ LSI1078*

  • mptscsi_pcie ‐ LSI1068E (LSISAS3442E)*

  • mptscsi_pcix ‐ LSI1068 (SAS 5)*

  • aacraid_esx30 ‐ IBM serveraid 8k SAS controller*

  • cciss ‐ Smart Array P400/256 controller*

So what is the best PCIE card for me to put into my S5000PAL server that will use the above driver, if only someone could make a list :smileygrin:

Thanks,

Kev

Reply
0 Kudos
342 Replies
rpartmann
Hot Shot
Hot Shot

ok,

the layout & format sucks. didn´t look as expected.

sorry,

rpartmann.

ps: Award points if you find answers helpful. Thanks.
Reply
0 Kudos
doctorttt
Contributor
Contributor

Thank you. However, I still have no clue what's going on.

I tried to run the script by using ./ scriptname.sh Then I just got tons of errors about file not found, command not found and etc. Ok, so I just copied each line and pasted + executed it individually. I then got the error in this line: echo "#!/bin/bash" >> /mnt/eroot/etc/init.d/rp-esxcfg-pciid-boot

The error said something about event not found for bin/bash. So, I skipped that line and continued to paste the rest of the script. Oh well...and then nothing worked obviously.

Reply
0 Kudos
Jack_Ryan
Contributor
Contributor

I've been curious about SATA support with ESX 3.5 since it was released last month.

I got ESX 3.5 to install on a Dell Dimension E521 in our test lab. The computer has two Western Digital SATA hard drives (80GB and 300GB).

Nothing special configured. The hard drives are connected onto the motherboard, NO RAID card, NO RAID configured in the BIOS.

I simply inserted the ESX 3.5 then stepped through the setup screen. I installed the OS onto the 80GB then after reboot formatted the 300GB for the VM store.

I attached that install of ESX to our VirtualCenter. I am able to managed that server and clone virtual machines from another ESX server to it.

Reply
0 Kudos
myxiplx
Contributor
Contributor

Doctorttt, it sounds like you're hitting the same problem I did. I saved the text file from windows and then found that windows and Linux save text files very differently, and it causes problems for the script. To fix it I found another script that I could run on the Ubuntu live CD that stripped out the CRLF characters and replaced them with LF, and after that it ran perfectly. It seems each CRLF causes a "command not found" error.

Unfortunately I can't for the life of me find where I saved that script, so I've had to google for an alternative. I hope this works:

find . -name \*.sh -exec perl -i -n -e 's/\015//;print' {} \;

For me, fixing this using windows, the entire process was:

  • Download Ubuntu 7.10 and use the .ISO image to create the Ubuntu CD

  • Save pdewild's script to a USB stick

  • Install ESX

  • Boot the server using the Ubuntu CD

  • Insert the USB stick

  • Copy the script to the root using the file browser, renamed it "esx.sh"

  • Open a console and create a script to strip out CRLF characters:
    cd /
    echo "find . -name \*.sh -exec perl -i -n -e 's/\015//;print' {} \;" > fixscript.sh

  • Make both scripts executable:
    chmod +x esx.sh
    chmod +x fixscript.sh

  • Run the fix script:
    ./fixscript.sh

  • Run the esx script:
    ./esx.sh

I may have run all that using sudo (can't remember unfortunately), let me know if you have any more problems.

Reply
0 Kudos
rpartmann
Hot Shot
Hot Shot

Hi,

well you can install, good. I assume you get the message "root not found".

In this case boot with a linux live cd an do a "lspci -v -nn | less" and search for your sata controller.

I modified my script and in

line 39 echo "8086:037f 0000:0000 ata_piix.o" >> simple.map replace 037f with you PCI-ID of your SATA Controller.

line 66: echo " <device id=\"037f\">" >> ata_piix.xml you must enter your PCI id ( replace 037f ) which you got from lspci.

kind regards,

Reinhard

bwt: please post if you had success and your pciid please. Smiley Wink

ps: Award points if you find answers helpful. Thanks.
Reply
0 Kudos
doctorttt
Contributor
Contributor

Thanks guys. I will try tonight and see how it goes. By the way, do I have to do all these including running the script using the root account?

Reply
0 Kudos
myxiplx
Contributor
Contributor

I honestly don't remember I'm afraid, but I do know that when the script worked it was very quick with no errors at all, so you'll soon know if it works. Because I don't know Linux too well though, when I'm running something like this in Ubuntu, most of the time the first command I run is "sudo bash" Smiley Happy

Reply
0 Kudos
gopherhockey
Contributor
Contributor

I tried an Asus MN2-SLI Deluxe AM2 motherboard and had the same end result "mountin root failed".

Reply
0 Kudos
pdewild
Contributor
Contributor

But that's a whole other nVidia chipset. I wonder if that'll work with the script provided, as the PCI-ID will probably be another one. Try a "lspci", just to see what it is.

(btw. on which controller have you connected your harddrive? )

Reply
0 Kudos
gopherhockey
Contributor
Contributor

I plugged it into one of the 6 on-board sata slots, so I assume its the NVIDIA nForce® 570 SLI. I didn't even realize there was another choice.

I will do some reading on this script. The system I put together was cheap and fast and runs Windows 2008 Hyper-V just fine... but I really want to test esx 3.5 as well. If I can get it to work I'll order a second system with the same equipment and run both.

I don't want to invest in another motherboard etc. until I know it will work, of course. I'd also like not to have to go the SCSI route as I have a lot of sata drives lying around.

I did some back reading on the script that has been posted. (shoulda done that first). I will try that, but honestly I'd rather someone posted up a sata card that was just compatible out of the box so all that was not necessary. If I have to buy an extra card or a different motherboard to avoid all that it would be nice. No disrespect meant to the genious work behind the script tho!

Reply
0 Kudos
rpartmann
Hot Shot
Hot Shot

Hi,

if you could install ESX3.5 your lucky, so then

1.) get a linux live cd.

2.) boot.

3.) lspci -v -nn | less ..... and for the rest see my posting in this thread from Jan 7, 2008 1:50 AM

kind regards,

Reinhard.

ps: Award points if you find answers helpful. Thanks.
Reply
0 Kudos
Dave_Mishchenko
Immortal
Immortal

I have a ECS GEFORCE6100SM-M2 /AMD Sempron 3000+ that I was able to get working. Here's what I did

1) Setup a single SATA with no RAID (the MB uses NVIDIA Geforce6100 chipset for storage).

2) Installed an Intel Pro/1000 NIC (the onboard is not supported)

3) Installed ESX

4) On the first reboot, I selected the Service Console only (troubleshooting mode) boot option.

5) Let the host boot up and logged in.

6) Edited the file /etc/vmware/pciid/sata_nv.xml - change the last entry to use a device ID of 03f6 (and I updated the device name to MCP61 SATA Controller). I was able to determine the device ID by running lspci (since your MB has the nVidia nforce 560 chipset (yes/no?) you can run lspci | grep "nVidia" and you should see an IDE Nvidia controller that is an unknown device - make a note of the device id and you'll update sata_nv.xml to use that device id).

7) After saving the file, I ran esxcfg-pciid

😎 Rebooted and the controller came up fine.

I did have to re-format the default vmfs partition with vmkfstools -C vmfs vmhba32:0:0:x, as the VI client did not see any free space on the drive. In hindsight I would not create a VMFS partition during the install next time I do this.

The PC has been running an x64 Windows guest for the last few days without any issues.

Reply
0 Kudos
doctorttt
Contributor
Contributor

I tried this line, and it didn't work: find . -name \*.sh -exec perl -i -n -e 's/\015//;print' {} \;

I forgot what the error was. I remember it was something about .-name not found

When I tried lscpi, I got a list of devices. How do I find out which one is the controller? I again tried copy and paste + execute each line from the script, and I kept on getting error on the #!/bin/bash line.

Reply
0 Kudos
doctorttt
Contributor
Contributor

Hi Dave, I will try your method; it looks easier. Where can I find the esxcfg-pciid file? To run esxcfg-pciid, do you mean using ./ to execute it? I have no knowledge of Linux, and I'm trying to learn. Thanks

Reply
0 Kudos
rpartmann
Hot Shot
Hot Shot

hi,

you will find it under

/usr/sbin/esxcfg-pciid

which esxcfg-pciid

/usr/sbin/esxcfg-pciid

The command "which" can help you there.

hth,

Reinhard

ps: Award points if you find answers helpful. Thanks.
Reply
0 Kudos
Dave_Mishchenko
Immortal
Immortal

In step 5 I logged in with the root login that was created during the install, so I just had to enter the command and not worry about the path.

Reply
0 Kudos
doctorttt
Contributor
Contributor

Nothing but frustration - I believe I found the device ID when I used the lspci command - Intel 6300ESB SATA Controller (25a3). Ok, so I edited sata_nv.xml and saved the file. I then ran "which esxcfg-pciid" as per partman. Reboot ESX, same error message - can't mount.

Reply
0 Kudos
doctorttt
Contributor
Contributor

After playing around and reading more posts, I discovered that my controller: Intel 6300ESB SATA IS supported in ESX 3.5. I looked at the ata_piix.xml file, and my controller was there! So why ESX gave me the unmount error after the installation? I'm so close to get this working without buying a new white box. Pleae help out.

Reply
0 Kudos
doctorttt
Contributor
Contributor

YEYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY. I found out the problem!!!!!!

The ati_pixx.xml gave me a lot of hint. If my controller was there, and the device ID was correct, why wouldn't it mount? I then started looking at the BIOS. I remember the guys on this forum said that there was no way you can mount with IDE drive, and you would get errors. So in BIOS, I made Intel 6300ESB Sata Controller to be SATA only. It was in MIX mode before - IDE + SATA. I had to do that in order to have my IDE dvd burner to be seen in BIOS. As soon as I turned off the IDE on the 6300 controller, all IDE devices were gone in BIOS. ESX was able to MOUNT! YEYYYYYYYYYY This is a great start for me in learning ESX, but it's only the beginning. Thanks everyone.

FYI - I'm using an old Super Micro motherboard.

Reply
0 Kudos
asgard
Contributor
Contributor

I went through and attempted to run the script, after adjusting for my sata controller address. I found I was having issues, so I decided to walk through the script manual. What I've found is that there is no /mnt/eroot/etc/vmware/pciid folder. There may be other issues, but this is what I hit first.

I'm not a Linux guy by any sense of the word, but can muddle my way through things as I need to. What I'm wondering is if there was a problem with the install or a reason why I don't have this folder. Either way, is there something I need to or can do to correct for this? Or do I just reinstall and try again?

For reference, I'm a home office base tech who had work pay for a lic that I could load on a spare PC at home. It is nothing special, but other then not mounting root, I don't see any other impediments. The SATA controller is the Intel 82801EB (ICH5). The install and the troubleshoot mode have no issues with it, so I'm hoping it is the same situation others in this and similar threads are fighting with.

Thank you to any one who can help.

Reply
0 Kudos