Best way to create a large data space
John Nielsen
lists at jnielsen.net
Thu Jul 13 20:21:03 UTC 2006
On Thursday 13 July 2006 08:34, stan wrote:
> i have a Sun Ultra 40 with 4 500F SATA drives. I plan on using this
> machine primarily for a large data storage requirement.
>
> What I want is one large /data partition. Given all the choices for doing
> this in FreeBSD (software) what's the "best" choice here? The partio will
> be shared via SAMBA if that affects the thhinking here.
"Best" really depends on what your needs and goals are. Here's a quick
overview of what the choices ARE, based mostly on memory. Corrections and
additions welcome. I'll try to make some notes about pros and cons as well.
ccd(4). This is pretty well deprecated by other choices now, although it is
still available. Supports pseudo-RAID1, pseudo-RAID0, and JBOD setups.
ataraid(4)/atacontrol(8). This is the tool used to do RAID on ata-driven
devices whether the hardware pretends to support it or not. A good choice if
you have a supported software "RAID" card, especially if you want your array
to be usable under other OSes. Supports RAID0, RAID1, RAID0+1, SPAN, and JBOD
setups. Again, only works with the ata(4) driver.
gvinum(8). This is the best (only?) choice if you want RAID5. Supports most
setups imaginable on any type of disk (or combinations thereof). Setup and
maintenance is a bit more complex than with other options. Migration from the
original vinum (now unusable) to the GEOM-compatible gvinum is mostly (but
not entirely) complete.
newer geom(4) tools: gstripe(8), gmirror(8), gconcat(8), graid3(8). Between,
them, these tools support RAID0, RAID1, RAID3, and SPAN configurations on any
type of disk (or combination thereof). In my experience these tools are
easier to use than any of the above (and just as robust), so they are great
options. Due to the way the metadata is stored on-disk, it's possible to
shuffle disks around and still have your arrays detected correctly, which is
not the case for at least some of the other options above.
Given the (somewhat sparse) details you provided, I would suggest either RAID5
using gvinum or RAID0+1 using gmirror and gstripe. The former would give you
high capacity and redundancy, the latter would give you high performance and
redundancy. Since it's possible the network may already be a bottleneck the
RAID5 performance hit might not be relevant.
If you really want high capacity and high performance you could use gstripe
only, but only do so if you don't care if you lose all of your data (which
you would as soon as any one of your disks had a problem).
JN
More information about the freebsd-questions
mailing list