From owner-freebsd-stable@FreeBSD.ORG Fri Jan 22 17:07:19 2010 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 99A80106568B for ; Fri, 22 Jan 2010 17:07:19 +0000 (UTC) (envelope-from jdc@koitsu.dyndns.org) Received: from qmta05.westchester.pa.mail.comcast.net (qmta05.westchester.pa.mail.comcast.net [76.96.62.48]) by mx1.freebsd.org (Postfix) with ESMTP id 43F6F8FC25 for ; Fri, 22 Jan 2010 17:07:18 +0000 (UTC) Received: from omta15.westchester.pa.mail.comcast.net ([76.96.62.87]) by qmta05.westchester.pa.mail.comcast.net with comcast id YbXT1d00G1swQuc55h6tHg; Fri, 22 Jan 2010 17:06:53 +0000 Received: from koitsu.dyndns.org ([98.248.46.159]) by omta15.westchester.pa.mail.comcast.net with comcast id Yh7n1d0023S48mS3bh7n5K; Fri, 22 Jan 2010 17:07:48 +0000 Received: by icarus.home.lan (Postfix, from userid 1000) id 9B7441E3033; Fri, 22 Jan 2010 09:07:16 -0800 (PST) Date: Fri, 22 Jan 2010 09:07:16 -0800 From: Jeremy Chadwick To: freebsd-stable@freebsd.org Message-ID: <20100122170716.GA75020@icarus.home.lan> References: <20100122162155.GG3917@e-Gitt.NET> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Subject: Re: 8.0-RELEASE -> -STABLE and size of / X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jan 2010 17:07:19 -0000 On Fri, Jan 22, 2010 at 05:27:52PM +0100, Marian Hettwer wrote: > Hi All, > > On Fri, 22 Jan 2010 17:21:56 +0100, Oliver Brandmueller > wrote: > > Hi, > > > > I just noticed somthing: I setup an 8.0-RELEASE amd64 box, / is default > > 512M. First step after setup was to csup to RELENG_8 and buildkernel and > > buildworld (no custom kernel, no make.conf). > > > > Instaling the new kernel failed, since /boot/kernel/ is already well > > over 230 MBytes in size. moving that to kernel.old and writing a new one > > with about the same size fails due to no space left on device. > > > > This is not a question; I do know how to get around this and how to > > configure custom kernels so they are a fragment of that size afterwards. > > However, I think this is a clear POLA violation. So, either GENERIC with > > less debugging information (symbols and stuff), which makes debugging > > harder or setting a higher default for / would be options, if not anyone > > else has better ideas. > > > +1 vote for making / bigger. > At least a size where a make installkernel runs through. > > I like FreeBSD because it honors POLA. > And as Oliver stated, this is a clear POLA violation. I'd like to see the default root filesystem size default to 1GB. For most folks this works well. If people are paranoid, 2GB should be more than sufficient. While I'm here, I figure I'd share how I end up partitioning most of the server systems I maintain. I use this general "formula" when building a new system, unless it's a 4-disk box (see bottom of mail): ad4s1a = / = UFS2 = 1GB ad4s1b = swap = (2*RAM) or (2*MaxRAMPossible) ad4s1d = /var = UFS2+SU = 16GB (mandatory: must be >= 2*RAM) ad4s1e = /tmp = UFS2+SU = (2*RAM) ad4s1f = /usr = UFS2+SU = 16GB There's lots of leftover space on the disk of course -- for either ad4s1g or ad4s2. For 1-disk boxes, I add ad8s1g = /home = UFS2+SU = , or sometimes name it /storage (depends on the role of the box). For 2-disk boxes, I almost always go with disks that are identical in size, use the above formula, and add ZFS mirroring as so: ad4s2 = ZFS mirror pool = ad6 = ZFS mirror pool = Then /home or /storage are ZFS filesystems in that pool. Folks will say "but that means you're losing/wasting gigs of space on ad6, since the mirror size is based on the smallest pool member!" Yep, but I consider the trade off easily worth it. Given the size of disks today (500GB to 2TB), I really don't stress about it: Wasted space for 4GB RAM systems: 1 + 2*4 + 16 + 2*4 + 16 = 49GB Wasted space for 8GB RAM systems: 1 + 2*8 + 16 + 2*8 + 16 = 65GB If the machine is 4-disk, I use a slightly modified formula: ad4s1a = / = UFS2 = 1GB ad4s1b = swap = (2*RAM) or (2*MaxRAMPossible) ad4s1d = /var = UFS2+SU = 16GB (mandatory: must be >= 2*RAM) ad4s1e = /tmp = UFS2+SU = (2*RAM) ad4s1f = /usr = UFS2+SU = 16GB ad4s1g = /spare = UFS2+SU = ad6 = ZFS raidz1 pool = ad8 = ZFS raidz1 pool = ad10 = ZFS raidz1 pool = The ad4s1g part might seem silly, but I've found it useful. If a filesystem like /var goes awry (usually if bad blocks exist on the disk where that filesystem lies), you can temporarily work around it by rsync'ing as much data over to /spare, then remount /spare as /var to avoid use of the sectors involved in ad4s1d. I've had to do this on two separate occasions. There are network backups for all the boxes, so I don't OCD about it all too much. :-) -- | Jeremy Chadwick jdc@parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |