Disk Setup… at home

The first step that I felt was necessary to build my research lab file server was to set the external hard disks up and get them running a Linux computer (in the comfort of my own home) that runs the same OS as the Dell PowerEdge 6650 server.

Just reminder, here is the hardware that I bought.

External Enclosure

DS-2305S

Silicon Image 4726 chipset based 5 bay, eSATA II hard disk enclosure. The manufacturer doesn’t really matter, its the chipset that I care about because that is what does the digital work. Anyways, SIL4726 processor can handle RAID processing itself, thus offloading the burden from your PC or controller card. You could call this cheap hardware RAID. 🙂

PCI eSATA Card

Syba SD-SATA2-2E2I

Silicon Image 3124 chipset based PCI RAID/eSATA II controller card. This product was marketed by Syba as SD-SATA2-2E2I. This product also has the ability to be a RAID controller. But don’t consider it to be hardware RAID. It requires a special driver that does the RAID work in your OS.

Home Build

As I said, I went to work setting this up at home. The computer I had available was an old ECS K7S5A based self built PC. I installed CentOS 5.1 as that is what I plan to run on the server.

No Boot

After putting the card in I couldn’t get my computer to boot. It would hang at the SIL3124 RAID BIOS. This was easily fixed by downgrading the firmware on the card to the previous release on siliconimage.com.

Linux Failure

The first thing I learned about this pair of devices is that the open-source Linux drivers in kernel 2.6.18 can’t see them. No matter what I tried the disks in the enclosure were never recognized by Linux. So I figured I would test my hardware in a Windows box before I sent it back as DOA.

Windows Success

I installed the hardware in Windows computer (Server 2003), installed the driver found at http://www.siliconimage.com/ and the enclosure and disks are instantly available. Wow, that was easy! I guess the problem is with Linux. While the device was connected to Windows, I used the RAID manager for the external enclosure to configure a RAID 1 mirror on the disks in the enclosure.

More Linux Failures

With the OS identified as the problem I looked for help. The manufacturer hasn’t released a driver since RHEL 4 or Fedora Core 3. Ok thats a waste. So I was confined to the open-source driver. I did some reading and found that there were major enhancements to the open-source driver in recent kernels. So I updated to the latest kernel (2.6.25). This required me to download and compile a vanilla kernel from kernel.org. The new kernel did present some different symptoms but still failure! I was almost ready to give up when I found the linux-ide mailing list. That has the developers wriing the open-source drivers on it! As a last ditch I emailed them. Thankfully the next day I got a reply informing me that the open-source driver cannot handle the external enclosure operating in hardware RAID mode. Apparently when it acts as hardware RAID it has to impersonate a single disk to the OS (simple enough). The problem was the SIL4726 does a horrible job of the impersonation and does not abide by the defined communication standards. So the open-source developers could not realistically support the irregular device. He told me to disable hardware RAID in the enclosure and set it as just a bunch of disks (JBOD).

Linux Success

I was disappointed to turn off the RAID function in my external RAID enclosure but I was willing because I had read that Linux Software RAID is pretty darn good. With RAID off and using the latest Linux kernel (2.6.25) all of the disks in the enclosure were finally detected!