Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Apr 2008 22:13:55 -0500
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Steel City Phantom <scphantm@gmail.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: building a distribution server
Message-ID:  <20080405031354.GD8981@dan.emsphone.com>
In-Reply-To: <5c99941f0804041923t1e6e9cdbue40e782805fa34f6@mail.gmail.com>
References:  <5c99941f0804041923t1e6e9cdbue40e782805fa34f6@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Apr 04), Steel City Phantom said:
> i have about 10 production servers that i want to upgrade to bsd 7
> and update all their ports in one shot.  the problem is the down
> time.  im wrapping up upgrading a 6.3 to 7 and its taken over 7 hours
> so far.  thats way too long for our machines to be down.
> 
> the biggest slow down is the downloading of files.  just sitting
> watching things i would say 70% of the time is downloading files.  is
> there a way where i can build a distribution server that has
> everything i could possibly need to upgrade a machine from any 6.x to
> 7.0 and redo all the ports on that machine and have a cron job keep
> everything up to date on that server and when i upgrade a new
> machine, it simply goes to my internal distribution server to get the
> files.

Just make a symlink that points /usr/ports/distfiles to a common
directory over NFS.  To save space you can symlink all of /usr/ports. 
This also makes it much easer to maintain local modifications.  One way
to speed up the build process itself is with ccache.  Symlink
~root/.ccache on each server to a common location, so only the first
machine has to compile anything.  If you wanted to get fancy, you could
even build packages on one server, then use portupgrade -P to install
them on the rest of the machines.

-- 
	Dan Nelson
	dnelson@allantgroup.com



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