Adaptec ATA Raid 1200A upgrade [END GAME]

Dave Ihnat dihnat at dminet.com
Wed Sep 26 12:15:22 UTC 2007


On Tue, Sep 25, 2007 at 09:58:24PM -0700, Sean Bruno wrote:
> Hmmm...The controller itself failed when copying from the small disk to
> the large disk?

No, it was probably the original last "good" disk failing while writing
and delivering corrupt data to the hardware duplicator.  The DiskJockey
doesn't do a drive comparision automatically--it assumes that the source
and destination are good, and only fails the copy if it gets a bad read
indication from the source, or a bad write from the destination.  If the
source gives bad data, but doesn't indicate a read error, you get GIGO.
There is a hardware comparison function, but you'd have to run that as
a subsequent pass on the source/data drives.

Why do I suspect the above?  Because I tried to run the comparision after
that post, and it failed.  Then a recopy failed after reading only about
200Mb from the source--it had finally failed all the way.

My postmortem on this whole thing was that Linux, at that time, knew
nothing about the Adaptec 1200, so it just saw it as a single hard drive,
'hda', when the RAID function was enabled in the controller.  This was
good, in that it just ran, while the controller mirrored the data;
it was bad, in the end, because it could never know when one of the
drives in the array had a problem.  (since there's no driver in the OS
to read extended functions, such as RAID status, and thus no feedback
from the controller.)  The only way to detect a drive failure would be to
periodically reboot the server and watch the Adaptec BIOS messages.

THE END RESULT:  I upgraded to the latest version, reinstalled, and
recovered the user/config data from my unpatented-and-free-for-use
removable IDE Hard Drive Backup Unit.  (Basically, the only trick is to
use 'hdparm' to allow you to swap the IDE drive, which is in a caddy
in a removable drive bay.  The bay/caddy have to be hot-swappable.)

Linux now says it now knows about this controller and offers to build
a RAID array.  Don't trust it.  It _did_ seem to build an array on the
two new drives, but Grub can't boot from it.  I ended up just making a
software RAID in Linux for all data except swap and the boot partition,
turning off the RAID function in the Adaptec and using it just as a
reasonably high-performance ATA100/EIDE controller. I lose a small
bit of the partition on the second disk for the equivalent of the boot
partition, but that's worth it to have congruent configurations (makes
it easier to rebuild a failed drive), and does provide a place to archive
the boot partition.  I'll have a cron job periodically copy the real
/boot to the new /bootsave.

It's all good now, except I'm tracking down all the accumulated magic
bits I've developed over the past four years and making sure they work
in the new system.  Having a full recovery of the original system makes
this tedious but easy.

All things considered, the Adaptec 1200 is an obsolete controller,
and if I didn't already have it in a system, I'd never use one today.

Cheers,
--
	Dave Ihnat
	President, DMINET Consulting, Inc.
	dihnat at dminet.com




More information about the users mailing list