From owner-freebsd-questions@FreeBSD.ORG Thu Jul 13 20:21:03 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D2D0516A4DD for ; Thu, 13 Jul 2006 20:21:03 +0000 (UTC) (envelope-from lists@jnielsen.net) Received: from ns1.jnielsen.net (ns1.jnielsen.net [69.55.238.237]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7037243D5D for ; Thu, 13 Jul 2006 20:21:02 +0000 (GMT) (envelope-from lists@jnielsen.net) Received: from localhost (jn@ns1 [69.55.238.237]) (authenticated bits=0) by ns1.jnielsen.net (8.12.9p2/8.12.9) with ESMTP id k6DKL1HR088298; Thu, 13 Jul 2006 13:21:01 -0700 (PDT) (envelope-from lists@jnielsen.net) From: John Nielsen To: freebsd-questions@freebsd.org Date: Thu, 13 Jul 2006 16:20:56 -0400 User-Agent: KMail/1.9.3 References: <20060713123434.GB30789@teddy.fas.com> In-Reply-To: <20060713123434.GB30789@teddy.fas.com> X-Face: #X5#Y*q>F:]zT!DegL3z5Xo'^MN[$8k\[4^3rN~wm=s=Uw(sW}R?3b^*f1Wu*.<=?utf-8?q?of=5F4NrS=0A=09P*M/9CpxDo!D6?=)IY1w<9B1jB; tBQf[RU-R<,I)e"$q7N7 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200607131620.56982.lists@jnielsen.net> X-Virus-Scanned: ClamAV version 0.88.3, clamav-milter version 0.88.3 on ns1.jnielsen.net X-Virus-Status: Clean Cc: stan Subject: Re: Best way to create a large data space X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Jul 2006 20:21:03 -0000 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