All of lore.kernel.org
 help / color / mirror / Atom feed
From: Carl Karsten <carl@personnelware.com>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: software raid1
Date: Mon, 27 Mar 2006 20:11:35 -0600	[thread overview]
Message-ID: <44289B57.1010906@personnelware.com> (raw)
In-Reply-To: <87d5gelv81.fsf@xs4all.nl>

Marco Gerards wrote:
> Carl Karsten <carl@personnelware.com> writes:
> 
>> I have been messing around with software raid1 - mirroring 2 drives -
>> including the boot sectors. The goal is to be able to remove either
>> drive and still have a functioning system.
>>
>> I realize that this is "not supported" given that "Add support for
>> software RAID" is on the http://grub.enbug.org/TodoList but I have
>> heard it can be done with some trickery: install grub on both drives
>> and rely on the fact that /dev/hda1 and /dev/hda2 and /dev/md0 are all
>> "the same thing" as long as md0 is the only one that gets written to.
> 
> RAID is more than just mirroring.  You can have striping, a RAID setup
> with striping and a parity disk, etc.
> 
> And besides that, even mirroring can do more advanced stuff.  Like
> speeding up loading of kernels by loading from both disks and being
> more robust against broken disks.  But I do not know if this can be
> realized.

Having everything would be great - but I think just achieving the simplest case 
of fault tolerance would be a very good return on investment.

I think I have achieved it by doing (search web again...) what someone did last 
year: http://www.linuxsa.org.au/mailing-list/2003-07/1270.html

My short version:

1. Basic Linux install: / and everything (therefor /boot) on hda1 (no raid)

boot a live CD and run this script:

#mkraid.sh

# Change the partition type of hda1 to fd (raid autodetect)
echo ,,fd,|sfdisk --force /dev/hda -N1

# Copy the partition table from hda to hdc:
sfdisk --no-reread -d /dev/hda | sfdisk --no-reread --force /dev/hdc

# Set up md device
mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/hda1 /dev/hdc1

# Make hdc bootable:
grub << EOF
root (hd1,0)
setup (hd1)
EOF

This runs.  I think it even works.  I have installed Ubuntu-server 3 times 
today.  I lost count of how many times I have run various versions of the 
script.  I currently boot a live CD - I haven't figured out how to do it on a 
'running hda' even though it should let me.   I also need a scipt line to change 
hda1 to md0.

grub Q: is the grub << EOF... the 'normal/best' way?

Also, is there some way to display how grub has been configured?  doing 
something like that and then rebooting the box to see if it worked doesn't seem 
'best' - it is good to verify it works, but I would like something a bit more 
like: here is what is setup on hda and hdc: grub-display-setup-command

So I do all this, and now I can update md0/boot and the /boot on both /hda and 
hdc gets updated because of the raid, so normal booting of hda keeps working. 
if hda fails, I can just yank the cable and the box will boot from hdc.  To 
replace the failed hda, move the hdc to hda, add a new hdc and run the script.

The "yank the cable" step is not quite as elegant as a raid card (which I am 
assuming will take hda off line if it start erroring) but given how easy it is 
to recover, seems worth the trouble.

Carl k



  reply	other threads:[~2006-03-28  2:13 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-22  0:43 software raid1 Carl Karsten
2006-03-22  2:56 ` [OFFTOPIC] " Tomáš Ebenlendr
2006-03-22  8:49 ` Marco Gerards
2006-03-28  2:11   ` Carl Karsten [this message]
2006-03-28  5:20     ` Carl Karsten
2006-03-28 11:29       ` Tomáš Ebenlendr
2006-03-28 22:47         ` Peter Jones
2006-03-29  5:48           ` Tomáš Ebenlendr
2006-03-31  9:54             ` Marco Gerards
2006-03-22 16:16 ` Peter Jones
2006-03-28 20:53   ` software raid1 grub patches Carl Karsten
2006-03-28 22:45     ` Peter Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44289B57.1010906@personnelware.com \
    --to=carl@personnelware.com \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.