From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1FO3iN-0004AJ-Sl for mharc-grub-devel@gnu.org; Mon, 27 Mar 2006 21:13:47 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FO3iM-00049i-CS for grub-devel@gnu.org; Mon, 27 Mar 2006 21:13:46 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FO3iL-00048b-L0 for grub-devel@gnu.org; Mon, 27 Mar 2006 21:13:46 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FO3iL-00048X-FQ for grub-devel@gnu.org; Mon, 27 Mar 2006 21:13:45 -0500 Received: from [216.148.227.153] (helo=rwcrmhc13.comcast.net) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FO3jy-0004sp-FN for grub-devel@gnu.org; Mon, 27 Mar 2006 21:15:26 -0500 Received: from [192.168.1.35] (c-67-163-39-124.hsd1.il.comcast.net[67.163.39.124]) by comcast.net (rwcrmhc13) with ESMTP id <20060328021340m13005p34ee>; Tue, 28 Mar 2006 02:13:40 +0000 Message-ID: <44289B57.1010906@personnelware.com> Date: Mon, 27 Mar 2006 20:11:35 -0600 From: Carl Karsten User-Agent: Thunderbird 2.0a1 (Windows/20060326) MIME-Version: 1.0 To: The development of GRUB 2 References: <44209DCE.4070208@personnelware.com> <87d5gelv81.fsf@xs4all.nl> In-Reply-To: <87d5gelv81.fsf@xs4all.nl> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: software raid1 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Mar 2006 02:13:47 -0000 Marco Gerards wrote: > Carl Karsten 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