From owner-freebsd-fs@FreeBSD.ORG Wed Apr 21 08:52:32 2010 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00A9E1065675 for ; Wed, 21 Apr 2010 08:52:32 +0000 (UTC) (envelope-from areilly@bigpond.net.au) Received: from nschwmtas05p.mx.bigpond.com (nschwmtas05p.mx.bigpond.com [61.9.189.149]) by mx1.freebsd.org (Postfix) with ESMTP id 7C3A48FC1D for ; Wed, 21 Apr 2010 08:52:31 +0000 (UTC) Received: from nschwotgx02p.mx.bigpond.com ([124.188.161.100]) by nschwmtas05p.mx.bigpond.com (InterMail vM.7.05.02.08 201-2174-114-118-20080528) with ESMTP id <20100421085229.CIRM6690.nschwmtas05p.mx.bigpond.com@nschwotgx02p.mx.bigpond.com>; Wed, 21 Apr 2010 08:52:29 +0000 Received: from duncan.reilly.home ([124.188.161.100]) by nschwotgx02p.mx.bigpond.com with ESMTP id <20100421085229.PZTA2131.nschwotgx02p.mx.bigpond.com@duncan.reilly.home>; Wed, 21 Apr 2010 08:52:29 +0000 Date: Wed, 21 Apr 2010 18:52:28 +1000 From: Andrew Reilly To: David N Message-ID: <20100421085228.GA27892@duncan.reilly.home> References: <20100418235428.GC4620@duncan.reilly.home> <20100420234447.GB1737@garage.freebsd.pl> <20100421011834.GA24928@duncan.reilly.home> <20100421024803.GA25701@duncan.reilly.home> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.4.2.3i X-Authentication-Info: Submitted using SMTP AUTH LOGIN at nschwotgx02p.mx.bigpond.com from [124.188.161.100] using ID areilly@bigpond.net.au at Wed, 21 Apr 2010 08:52:28 +0000 X-RPD-ScanID: Class unknown; VirusThreatLevel unknown, RefID str=0001.0A150201.4BCEBCCD.00C7,ss=1,fgs=0 X-SIH-MSG-ID: rhozE9P/TAD0zmQs0WyzOwJxyArnqyN48Z4QX81loRIGTUDCp8DeQ9rEJvdRsM6kxDxNJhqNNGQiaa7tTY3Rs9mK Cc: freebsd-fs@freebsd.org Subject: Re: gjournal: what is it good for? X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Apr 2010 08:52:32 -0000 On Wed, Apr 21, 2010 at 06:05:02PM +1000, David N wrote: > On 21 April 2010 12:48, Andrew Reilly wrote: > > On Wed, Apr 21, 2010 at 12:20:46PM +1000, David N wrote: > >> What kind of disks are you using? Or what hardware are you using? > > > > Several: main /usr is on a gjournal on top of a gmirror over a > > pair of Samsung 1TB 3.5" SATA drives, but I have other gjournals > > on a 750G WD SATA, a 1.5T Seagate and another 1TB WD MyBook > > firewire unit.  There is brokenness in the firewire connection > > that results in me always coming up manually through single-user > > mode, at the moment.  In single user mode pilot error is > > sufficient to account for the problems that I was having with > > mount vs fsck of the gjournalled drives, I'm fairly sure. > Wow, thats a setup. More an artifact of fair old age and accretion than design... > I have a few more questions. > > Your first email, you mentioned gjournal overflow panics. Have you fixed that? No: I've avoided it, at risk of incomplete backups, by leaving the -L (snapshot) option off my backup "dump" calls. I'm fairly certain that I can generate those panics on demand, now that I know what's causing them. (I prefer not to, of course, this machine is in constant use.) > I see you are gmirroring the slices, when you did the gmirror + > gjournal slice, did you check the bsdlabel? sometimes it doesn't > report the right block size, and the disk + journal overlap. I had > this happen to me on my first setup which resulted in the overflow > panics. Not sure about that. All of my disks only have one bsdlabel, on the raw provider. I fdisk -BI; bsdlabel -w -B and then newfs the ...s1a partition, as a general rule. Now that I'm running gjournal, that's fdisk; bsdlabel; gjournal label ...; newfs ...s1a.journal. There isn't a label between the gjournal and the file system. In the case of my main, gmirrored disk pair, I bsdlabel -e'd after the "use whole disk" standard procedure and made liberal use of "*" wildcards to make sure that bsdlabel did the right thing. I was *very* glad when I didn't have to muck about calculating sector offsets any more. I have my mirror'd pair layered: fdisk; bsdlabel; gmirror on ad[46]s1a, ad[46]s1d and ad[46]s1e, separately, rather than mirroring the raw ad4/ad6 pair and then bsdlabeling the resulting mirror because I couldn't see the point in swapping to a mirror. So I swap to ad4s1b and ad6s1b independently. So I have root on mirror/gm0a (no soft-updates), var on mirror/gm0d (with soft-updates), and a gjournal on mirror/gm0e, with a newfs -J partition on mirror/gm0e.journal > Its not as easy as a > gmirror label ... > gjournal label ... > You gotta check the bsdlabel each time to make sure the c slice and > additional slices are the correct size. I didn't think that GEOM layers needed to have a bsdlabel each, and newfs is happy enough (I think) to sit on an unlabelled GEOM provider. Certainly the examples in the gjournal, gmirror and mdconfig man pages seem to suggest that newfs'ing straight onto one of them is the way to go. > If you do decide to do it again, gpt made it really easy. What's a gpt? Neither man nor bash know about it on my system. > Did you use newfs -J to format the slices/journal? Yup. Thanks for the help and suggestions! Cheers, -- Andrew