Striping a live file system RAID 10 help

chris scott kraduk at googlemail.com
Thu Jul 30 15:27:40 UTC 2009


2009/7/30 John Nielsen <lists at jnielsen.net>

> On Wednesday 29 July 2009 15:54:42 Richard Fairbanks wrote:
> > OK, so this is what I want to do. I have 4 big fast drives that I want to
> > run in RAID 10 (1+0). So, I'll need to mirror two sets of two disks, then
> > stripe those two mirrors. So, how do I do this if I want this striped set
> > of mirrors to be my entire fs? I can create both mirrors and have the
> > entire fs on one of the mirrors (*mirror0*), but then I need to stripe it
> > with the other mirrors (*mirror1*), and trying to create a stripe
> > (*stripe*) from that a set of mirrors in which one of the mirrors
> contains
> > the live file system does not work, obviously.
> >
> > I was thinking, very generally, of creating the fstab file that I'll need
> > to point to the stripe instead of ad4 for example, rsyncing everything to
> a
> > disk on a diffferent server, using a live CD to create the stripe, then
> > rsyncing back to the stripe. I don't know if this will work, and haven't
> > even come to a conclusion of the particulars needed.
>
> When changing disk configurations on the same server I generally do
> everything
> by hand, then use dump+restore (rather than rsync) to move (UFS)
> filesystems
> around. (ZFS has zfs send/recv).
>
> > Of course, if there is a way to create the striped set off mirrors before
> > installation then installing onto that stripe, that'd be perfect. I don't
> > know if that can be done. I'm sure someone has configured a RAID 10
> > "standalone" system before. (Oh, I'm using 7.2). I'm just stuck at this
> > point!
>
> You need to consider where/how you are going to boot the system. It's
> straightforward to boot from a gmirror'ed UFS filesystem (the BIOS just
> uses
> one disk and thinks everything is normal), but you can't do the same from a
> stripe. You will either need a separate disk/device for your / or /boot
> partition or you will need to use slices/partitions on your disks. I
> frequently have the root filesystem on a small gmirror (partitions on 2
> disks) then use the equivalent "extra" space on the remaining disk(s) for
> swap.
>
> Youi should be able to do this pre-install from the Fixit shell. Boot to
> the
> live CD, enter the shell, kldload geom_mirror and geom_stripe, create the
> mirrors, create the stripe, exit the shell, start the install, and tell
> sysinstall to use the device node under /dev/stripe for your filesystem.
>
> Alternatively you could just do a regular install to one of the disks and
> do
> everything post-install. In this case you'd still create two mirrors but
> one
> of them would only contain a single disk at first. Then create your stripe,
> dump/restore your files, update fstab (in both locations if needed), reboot
> using the stripe, then add the original system disk into its mirror.
>
> If you provide more details of how you want your setup to look I can give
> you
> a specific walkthrough if needed.
>
> JN
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "
> freebsd-questions-unsubscribe at freebsd.org"
>

one thing i find invaluable whan doing fancy disk installs is my bootable
use stick with a full bsd installation on it. Much nicer than fixit. Also if
the kit is in the data center it means I can ssh into the box rather than
having to sit in there

I used the howto below to set up the stick

http://typo.submonkey.net/articles/2006/04/13/installing-freebsd-on-usb-stick-episode-2

ive also used this to do zfs boot
zfsboot install
http://wiki.freebsd.org/ZFSOnRootWithZFSboot#installFreeBSD

If you dont want to do a zfs one and use gstripe on top of gmirror but dont
want to partition up all the drives you could of course leave the use stick
in permanently, and have the root fs on there. Just make sure fs that take
lots of writes dont reside on the stick ie /tmp /var

Also when you create your file systems make sure you label them with newfs's
-L flag. It can make the devices you need to mount slightly easier to use.

Also consider the use of gjournal as it could save you a lot of time with
not having to fsck large file systems


More information about the freebsd-questions mailing list