Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Nov 2001 15:03:28 -0600
From:      Mike Meyer <mwm@mired.org>
To:        "Graham Lillico" <graham_lillico@hotmail.com>
Cc:        questions@freebsd.org
Subject:   Re: Filesystem Sizes
Message-ID:  <15356.5792.940318.744392@guru.mired.org>
In-Reply-To: <27084310@toto.iv>

next in thread | previous in thread | raw e-mail | index | archive | help
Graham Lillico <graham_lillico@hotmail.com> types:
> So what i'm now thinking is to have the 80Gb filesystem (2x40Gb Hardware 
> raid) mounted as /usr on the fileserver and then nfs export /usr/ports, 
> /usr/src, and /usr/obj to the other FreeBSD systems, then on the 20Gb disc 
> that contains the system have about 10Gb exported as /usr/home.
> 
> Does this sounds like a good plan? Or am I letting myself in for some 
> problems?

Well, it seems like an aweful lot of space for /usr. There are three
potential problems: 1) All three directories will have to be exported
with the same permissions; 2) If you wind up running different
platforms, you'll have to build ports/system for them differently; 3)
Installing a port on one system will make the other systems thing it's
not installed.

Personally, I'd do it this way:

1 drive: /
1 drive: /share
1 drive: /home

20GB should be enough space for any of those, unless you're planning
on doing something very strange.  If you're using IDE, / and /share
need to be on different controllers. Putting /home on a third
controller won't hurt.

/share is exported r/w to the world. /usr/obj is symlinked to
/share/obj. /usr/src and /usr/ports are on /, exported r/o.

This lets you make buildworld on the system with local disk, and make
installworld on other systems that mount /usr/src and /shar and have
the /usr/obj symlink. Putting /usr/obj and /usr/src on different
disks/controllers improves buildworld performance more than putting
them on vinum. You can do the same for kernels if you set

    KERNCONF=BUILDKERNEL OTHERSYSTEM THIRDSYSTEM 

in /etc/make.conf. All the kernels will be built by make buildkernel,
and the first one on the line will be installed by make installkernel.

In /etc/make.conf, you have DISTDIR=/share/distfiles,
WRKDIRPEFIX=/usr/ports-build, and PACKAGES=/share/packages.

This lets systems share distfiles that have been downloaded and the
/usr/ports tree, and avoids the problems of conflicting builds. If you
want to distribute a port to multiple system, do "make package" after
you've installed it, and the other systems will get the the package
from /share/packages.

One of these days, I have to write all this stuff up formally.

	<mike
--
Mike Meyer <mwm@mired.org>			http://www.mired.org/home/mwm/
Q: How do you make the gods laugh?		A: Tell them your plans.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15356.5792.940318.744392>