This weekend I had to build a server for a customer. The hardware was given by the customer- I only had to set it up. Unfortunately I ran into a bunch of troubles, as Dell shipped the wrong hardware (sadly I noticed this much to late).
Given hardware was a Dell PowerEdge 1950 with Quad Core CPU and 4 GiB RAM. The server has 2 x73 GiB internal hard disks (SAS) and (currently) 4 x 500 GiB disks in a Dell PowerVault MD1000 (SAS) storage array. So far, so good... When I booted the machine the first time, I wondered why the systems disks were connected to a RAID controller (a PERC 5/i) -- but I simply went on. The Solaris installer started and everything worked fine -- at least until the installer reached the point where it wanted to partition the disks... "No disks found" was the message, the installer showed.
I rebooted and tried to disable the RAID-support of the controller, so that it only acts as SAS controller and passes the single drives through, but the PERC 5/i doesn't have a option for JBOD. So I looked up the chipset on the controller (LSISAS1068), downloaded the Solaris x86 driver from the LSI homepage and burned it on CD. Again the Solaris installer started and I chose "5" for "apply driver update", followed by "c" for CD. The installer recognized the driver on the CD, installed it, but when I executed "format", the disks still weren't found.
After some research in the internet I figured out, that the LSI 1068 controllers, that are shipped with Dell hardware, are confiugred with another firmware -- which isn't supported by the LSI driver ... and of course Dell doesn't provide and Solaris driver.
Luckily, after some further research in tons of internet forums, I found an thread about Dell 2950 in the SUN forum. In this discussion, someone announced that he has written a driver for the LSI MegaRaid and Dell Perc 5 controllers for Solaris 10. The driver can be found here. I first tried to update the driver directly in the Solaris 10 installation DVD (or more specificly within the x86.miniroot) but this very annoying if you only have a VMWare with the correct Solaris version, so that you can build the driver. Additionally the driver would be only available during the installation -- I would have needed to install it manually after the installation as well. What a luck that someone built an ITU image, which can be used for the Solaris 10 installer. I made a mirror of the package with the driver and the ITU images (as I don't know, how long the site will life).
Finally -- with the ITU image -- I was able to install solaris on the RAID-1 that I built on the 2 system disks. The installation worked w/o any problems... business as usual. But the next shock came quickly. The next task I wanted to do, was installing the MD1000 disks as one RAID-Z ZFS pool. But guess what... Dell again shipped the wrong hardware. The ordered SAS controller wasn't installed... therefor a PERC 5/E was installed -- and of course this RAID controller isn't able to pass the disks through as JBOD neither. Well, what should I do? I set up a RAID-5 on the PERC controller, so that Solaris at least sees the disk(s).
The system is now up and running in the DC but it is really annoying that:
- Dell isn't able to ship the ordered hardware
- Dell needs it's fucking own firmware on standard LSI hardware
- Dell doesn't provide Solaris drivers for their own hardware
- The crappy PERC controllers don't provide JBOD-support
Solaris on a Dell 1950 with a MD1000 works, but it's really hard to get it working when a PERC controller is installed. I recommend to either not order a PERC controller but a standard SAS controller or to buy your own controllers.
Yesterday the re-ordered SAS 5/E controller (original LSI SAS1068 chipset) arrived and I mounted it into the Dell 1950. The 4 x 500GB disks in the MD1000 were directly recognized by the controller and the controller was automatically initialized by Solaris 10's mpt driver. All 4 disks were found by "devfsadm" and I could quickly rebuild my ZFS pool. Now I'm happy with the box. So here again my advise- be very accurate with the hardware that you order in your Dell 1950. If you want to add a MD1000 and want ZFS to take care of the RAID, then be careful not to order a PERC 5/i or PERC 5/E controller but to take the SAS version (SAS 5/i and SAS 5/E) which passes the MD1000 through as JBOD to the Solaris operating system and which works out-of-the-box with Solaris' mpt driver.