Software RAID issues (was Re: Suggestions solicited, server bring up)

Alan Johnson alan at datdec.com
Wed Nov 18 20:32:36 EST 2009


On Wed, Nov 18, 2009 at 3:11 PM, Ben Scott <dragonhawk at gmail.com> wrote:

> On Wed, Nov 18, 2009 at 1:07 PM, Alan Johnson <alan at datdec.com> wrote:
> > The only reason I've ever had to install a driver
> > for a RAID controller is for online management.  As far as drive access,
> all
> > the controllers I've come across just look like any other SATA or SCSI
> > controller from a device exposure.
>
>   There is no standard software/hardware interface for SATA or SCSI
> controllers.[1]
>

I think this is a very bold statement, but perhaps we are only separated by
systematics here.  If we replace the word "standard" with the word
"generic", does that work?  Would you agree that there are plenty of SATA
and SCSI drivers that work with most or all correctly implemented devices?

Still, I would argue that SATA and SCSI are definitively standards, and that
they include both physical and electronic hardware specifications, as well
as software specifications, and probably a reference driver that works with
any devices that properly implements the other bits.  If all of these things
are missing, then what isn't SATA/SCSI?

I don't expect you would disagree with that, so perhaps I am missing your
point.


>   Some of Intel's ATA chipsets come close -- they're widely emulated
> and might qualify as a de facto standard -- but even Intel changes
> their stuff now and again.  That's why Win XP needs drivers for many
> SATA chipsets -- they don't look like the venerable PIIX IDE
> controller anymore.
>

My understanding is that WinXP needs SATA drivers because the latest
installer predates the widespread adoption of SATA devices.

  Looking at a CentOS 5.x box I have near to hand (kernel package
> 2.6.18-164.6.1.el5), the kernel has roughly 55 different SATA/SCSI
> drivers available.  There are at least three for Adaptec chipsets
> alone (aic7xxx, aic7xxx_old, aic94xx).
>

Can you be sure that there is not one generic or reference driver in there
that does not cover nearly any standard SATA device?  Another for SCSI?
Likely the rest are for accessing additional features or performance
enhancements that are implemented by the relative controllers but are not
part of the standard.  Management interfaces would be included here.

A more extreme example in another device category would be the VGA
standard.  You can buy the latest, cutting-edge video card that uses data
swapping algorithms your OS has never heard of, put it in your computer, and
if it properly implements VGA like every other modern video card, the OS
will boot and display something useful on it.  If I want to access all the
icons on my lower panel, well, I better get the drivers specific to the card
and introduce them to the OS.

  I'm not sure exactly what you mean when you say you've never needed
> to install a driver, but your Linux computer is certainly loading a
> driver for your disk controller, regardless of whether you've got a
>


> RAID controller or just a plain old disk controller.

  If you mean your preferred Linux distro came with the driver
> built-in, well, that's good, but there's still a driver being loaded,
> and if that driver is buggy you'll still be having a bad time[2].
>

I think you got my gist.  I only mean to say that the only RAID controller
specific drivers I have had to install were for accessing the management
features on line.  It is entirely possible that there were drivers specific
for every RAID controller I have ever installed an OS on built into the
installer I was using.  Like you, I have had to provider access drivers to
older OS installers (SATA on XP, SCSI on NT and 2K), but because I used the
driver disk that came with the device does not mean that is the only driver
that would get the installer access to the controller or drives on it.  That
said, I concede that my point is not conclusive either.  I've just been lead
me to believe.


>   If you mean your preferred RAID controller emulates some other
> interface, that's also valid, but Linux will still needs a driver for
> that other interface.


That's exactly what I'm suggesting.  I'm suggesting they have implemented
IDE, SATA, SCSI, or SAS interfaces for basic data access to the drive (or in
this case, RAID volume).


> For example, I've seen gizmos with three IDE
> connectors.  You connect a disk each to two of those connectors.  You
> connect the third to the motherboard's IDE connector.  The card makes
> the two IDE disks look like one to the motherboard.  So Linux does not
> need to know about that RAID card -- but it still needs a driver for
> the motherboard's IDE controller.
>

Again, said driver for the motherboard's IDE controller is not necessarily
specific to that controller, but is just as possibly a reference
implementation.  Also, there was nothing specific to your IDE RAID gizmo.
It just made itself look like a drive, which is a layer lower, but is the
same idea.


> [1] Well, unless you count BIOS INT13, but Linux can't use the
> real-mode BIOS, and even MS-DOS systems generally loaded supplementary
> drivers because INT13 sucks so much.
>

This is in the realm of what I am talking about.


> [2] Myself, I've never had a problem the "megaraid" driver that's been
> part of the standard Linux kernel since circa 2001.  Obviously,
> experiences vary.
>

I'm not familiar with megaraid, but this also sounds a lot like a generic
driver that works with devices that adhere to some standard or less formal
set of common rules.


> -- Ben


I think we are mostly on the same page, but are my ramblings above more in
line with your understanding?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.gnhlug.org/mailman/private/gnhlug-discuss/attachments/20091118/c34f59f0/attachment-0001.html 


More information about the gnhlug-discuss mailing list