Striping a live file system RAID 10 help

John Nielsen lists at jnielsen.net
Thu Jul 30 14:03:53 UTC 2009


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


More information about the freebsd-questions mailing list