Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Sep 2007 08:31:42 -0400
From:      John Nielsen <lists@jnielsen.net>
To:        freebsd-questions@freebsd.org
Cc:        n j <nino80@gmail.com>
Subject:   Re: Gstripe during install
Message-ID:  <200709070831.43988.lists@jnielsen.net>
In-Reply-To: <92bcbda50709070443p796d075jc91fea5372420fc6@mail.gmail.com>
References:  <92bcbda50709070443p796d075jc91fea5372420fc6@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 07 September 2007, n j wrote:
> Hello,
>
> I have a machine which has 2 (identical) hard disks. I would like to
> create RAID-0 GEOM stripe (gstripe(8)) to merge these 2 disks into 1
> disk with larger capacity and install FreeBSD on it. There is this
> article (http://www.onlamp.com/pub/a/bsd/2005/11/10/FreeBSD_Basics.html)
> which shows how to setup RAID-1 gmirror during install suggesting that
> what I'm trying to accomplish is possible. However, I haven't found
> any pointers to doing same with gstripe. If anyone knows how to do
> this and if it's possible at all, please share.
>
> On the other hand, if setting up gstripe during install is not
> possible, is it possible to install FreeBSD on one disk and later
> setup the gstripe to use the entire capacity? Or, since performance is
> not a key issue here, maybe use gconcat?
>
> Any input is appreciated!

I assume you're aware of all the caveats that go along with using RAID-0 (no 
redundancy, twice as likely to fail, etc.). You can't use the method Dru 
outlines to create a gstripe volume since you can't add drives to a gstripe 
after it's created. Also you can't boot from a gconcat volume like you can 
from a gmirror volume.

It _is_ possible to use gconcat followed by growfs to add drives to an 
existing volume, but I'm not sure it would be possible to boot from such a 
volume.

If it were me, I would a small (for some definition of small considering 
your disk space and software needs) partition on the first disk and install 
everything to that. After the system is up, create an identical partition 
on the second disk and set up gmirror between the two (see below). This 
volume would house either the entire OS or just the root partition at your 
option, but it needs to be large enough to house at least a minimal install 
of the OS temporarily. I'd then create additional partitions using the 
remaining space on each disk and turn those into a new, blank gstripe 
volume. If you don't want the whole OS on your mirror, you could then 
move /usr, etc over to the stripe volume (but you don't have to).

See this link for a more fail-safe way to create a mirror on an 
already-running system than Dru's howto:

http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/geom-mirror.html

The key difference is that the handbook version has you create a new, blank 
mirror and move everything to it (using dump/restore) instead of converting 
an existing volume over to a mirror directly and running the risk of the 
last sector getting clobbered by the GEOM metadata. On a whole disk the 
last sector is _generally_ not used by the filesystem but it's best to be 
sure, and the above statement is NOT true for partial-disk slices and/or 
partitions, especially if their sizes are round (for some power of two) 
numbers.

You'll also want to get at least minimally familiar with the fdisk, bsdlabel 
and newfs commands.

Good luck and feel free to ask additional questions.

JN



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200709070831.43988.lists>