> From: Lucio Godoy
> I would like to setup raid1 on my system as follow:
> Hda is partitioned as follow:
> hda1 /swap
> hda2 /
> and HDC is partitioned the same way, both disks are the same size and
> make.
> I like to mirror /dev/hda2 on /dev/hdc2
Are you really sure?! =;)
I've done a fair bit of investigation into mirroring root and
it's certainly not for the faint at heart. No offense to the
fine code warrors on this list, but I don't think mirroring root
is super ready for prime time yet. But, gee, I can't think
of *any* Unix that has a very good implementation of software
mirroring of root. (Maybe the newest AIX?)
Martin Bene <[EMAIL PROTECTED]> has a recipe that appears to be
"workable" with slackware. See the email archive msg
from Feb 5th 1999 with Subject "Re: RAID1 on / for RH 5.2"
See also, recent email archive msgs with "root-raid howtos" in
the Subject. <blush> Could someone please re-post URL?
Mirroring everything *but* root seems to work well: if
the primary disk dies, the system reboots and comes up on
the secondary disk; if the secondary disk dies, a script
sends me email telling me to provide the system with some
care and feeding and replace the bad drive.
The big snag is when the secondary dies and there is a
un-attended reboot: the system hangs during boot because fsck
of a one-disk raid1 fails but the system can be revived with
some trivial raidtool magic. (I'm talking 2.0.x with raidtools
0.42 here.)
I will post a recipe for baking this setup sometime this week.
> I've downloaded the raid tools and the patch for the
> 2.0.36 kernell, but when i patched the kernel and recompiled i got an
> error message stating the following:
> setup.c: In function `setup_arch':
> setup.c:129: `empty_zero_page' undeclared (first use this function)
> setup.c:129: (Each undeclared identifier is reported only once
> setup.c:129: for each function it appears in.)
> How can i solve this one, plz?
The sort answer is to add
extern char empty_zero_page[PAGE_SIZE];
at the top of /usr/src/linux/arch/i386/setup.c just after
the other extern stmts.
Note, IIRC, I also had a snag with md/raid include files: they
don't get patched in. The patch expects the include/linux/raid
directory to exist but it does not. This situation causes patch
to silently leave a number *.h files in /usr/src. Try this:
rm -rf /usr/src/linux
cd /usr/src
tar -zxf linux-2.0.36.tar.gz
mkdir linux/include/linux/raid
patch < raid0145-19990108-2.0.36
vi arch/i386/kernel/setup.c
# add "extern char empty_zero_page[PAGE_SIZE];"
make setup; make dep; make clean; make zImage
later
steve
- - -
systems guy
wiscnet.net