[SLUG] Re: Linux Software RAID on External Drives

From: Bryan J. Smith (b.j.smith@ieee.org)
Date: Thu Sep 16 2004 - 16:25:16 EDT


On Thu, 2004-09-16 at 14:51, Brice Burgess wrote:
> My previous topic, "RAID with External FireWire - IDE Drives", has
> spurred some confusion.. and is headed fast into the world of hardware
> RAID controllers ;) I have no qualms with them, and love 3Ware to
> death... but I want to create cost effective solutions for myself,
> utilizing RAID in my home.

$130 for a 3Ware Escalade 8006-2 ain't too bad. For the last 4 years,
I've thrown at least a 2-channel 3Ware card into any system I've built.
No data loss. No endless ATA chipset-driver issues. Etc...

> I'm getting rid of my desktop (* http://www.guidospaper.com/comp.html
> ). It is heavy, dusty, and will be better off with a buddy of mine. I'm
> going to build a mini-ITX form factor computer ( or perhaps go with a
> Shuttle XPC system ). The point is; I'm aiming for a tiny silent
> computer running Linux with all its perripherals attatched externally
> (ie. external CDR, floppy and hard drives).

Anyone remember Device-Bay?

[ It was exactly what you speak of. Each "device bay" had both a
Firewire and USB connection -- the former for high speed block devices,
the latter for slow speed character devices. Ultimately it failed
because Intel failed to support FireWire. ]

> I'll likely have a 20GB internal notebook drive and slim CDROM to boot
> my system from. Of most importance is my external storage unit, known
> as the "Barn". My "Barn" currently consists of 2x120GB ATA drives in
> a Linux software RAID-1 Array. The "Barn" holds all of my projects,
> digital media collection, and everything else I can't afford to loose.

An interesting approach.
But I don't like not using a dedicated server.

For local systems, I maintain a NFS server.
For portables, I maintain a local copy, and rsync regularly.
I have a simple, but effective strategy/alias for the latter.

> In the process of building my new system, I want to expand and
> modularize the Barn. I think 4x160GB IDE drives attatched to a
> bridgeboard of some kind and placed in a software RAID-5 array is
> optimal.

Software RAID-5 is a massive performance hit. It has nothing to do with
calculating the XORs. It has everything to do with the fact that any
data written must first be read into memory, then passed to the CPU.
The CPU-memory "system" interconnect is completely saturated with data
transfer, and not just the memory-I/O "peripheral" interconnect.

It's like comparing Programmed I/O (PIO, CPU-driven I/O) versus Direct
Memory Access (DMA, no CPU involvement, so no CPU-memory interconnect
saturation). With software RAID-5, you're essentially doing massive
PIO. It's more than just a matter of CPU utilization.

> The external chasis will have a small low wattage power supply unit
> built in to power the drives. These are my plans.. and I've been
> brainstorming ideas for awhile now on how to setup an external
> redundant storage unit in the most cost-effective manner.
> Does anyone have experience using Linux software raid (mdtools) to
> create disk arrays by linking multiple external drives together? Is it
> reliable? What are the preffered busses -- USB2, IEEE 1394, Fiber, etc?
> And above all, what do you think will be the most cost-effective (yet
> still viable) solution?

I'm personally hesitant to use anything but LVM RAID-0 to stripe over
hardware redundant disk arrays. But that's just me.

When it comes to USB 2.0, be sure to connect to an EHCI port. You
typically only have 1 or 2 in a system (UCHI ports can only do
1.5MBps/12Mbps). And an EHCI port isn't as capable as the IEEE1394
FireWire command set from a block device standpoint -- including no
inter-device transfers (not a big deal for hard drives, but a big deal
for HD to optical or other device).

IEEE1394 can be used as a "poor man's SAN," but I don't trust it as
such.

As far as Fibre[Channel] (FC), you're talking mega-$$$. The new
commodity replacement is iSCSI -- storage over Ethernet. Typically you
want to pair iSCSI with a HBA GbE controller, but it's not required. In
either case, FC and iSCSI are overkill for your needs.

Another option is a small device that you put on the end of an ATA
connect. It sends the data redundantly to two identical discs, but it
looks like one from the standpoint of the OS. You can then place them
in a FireWire (or USB 2.0) bay, and connect that way. Of course, you
don't get sector remapping, read load balancing, etc... And it's only
mirroring.

There are other, various options. In every case, I like a 2 or
4-channel 3Ware card for the ATA discs.

-- 
     Linux Enthusiasts call me anti-Linux.
   Windows Enthusisats call me anti-Microsoft.
 They both must be correct because I have over a
decade of experience with both in mission critical
environments, resulting in a bigotry dedicated to
 mitigating risk and focusing on technologies ...
           not products or vendors
--------------------------------------------------
Bryan J. Smith, E.I.         b.j.smith at ieee.org

----------------------------------------------------------------------- This list is provided as an unmoderated internet service by Networked Knowledge Systems (NKS). Views and opinions expressed in messages posted are those of the author and do not necessarily reflect the official policy or position of NKS or any of its employees.



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 17:46:51 EDT