Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Feb 2003 08:21:43 +0000
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        questions@FreeBSD.ORG
Subject:   Re: HOWTO upgrade a FreeBSD production server
Message-ID:  <20030223082143.GA12153@happy-idiot-talk.infracaninophi>
In-Reply-To: <1045984525.3e58750d27f24@ra.dweebsoft.com>
References:  <1045984525.3e58750d27f24@ra.dweebsoft.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Feb 22, 2003 at 11:15:25PM -0800, Daxbert wrote:
> I'm hoping to get a few suggestions on a quick and safe method to upgrade a
> FreeBSD production server.  To date, I've been doing the following:
> 
> On a like configured staging server, cvsup the src tree.  Then perform a
> full build and install as outlined in /usr/src/Makefile.  After confirming that
> the host operates as planned, I create a tarball of /usr/src and /usr/obj.
> 
> I then transfer and extract the tarball on the production server(s), where I then
> perform installkernel / reboot / installworld.
> 
> I'd like to find something a little quicker that doesn't require so much free
> space on the production server. I've looked at DESTDIR and creating a tarball of
> that directory on the staging server, but I've had problems during extraction
> with files and the 'schg' flag.

About the most effective way of doing this is to NFS mount the
/usr/src and /usr/obj heirarchies from your build server onto your
production server in order to run the installations.  This will create
all of the installed system with the correct schg flags applied,
although you may see some warnings because you can't apply such flags
over NFS.  However that shouldn't stop the installations working.

Now, installing from NFS means that it will be difficult to use the
usual procedure of rebooting to single user mode to verify that the
kernel operates correctly before running the installworld.  However,
if your build and production servers use essentially identical
hardware, and you're going to install exactly the same kernel on all
of them, then testing the new kernel on just one of the machines --
the build server -- should suffice.  In that case, you should be able
to do the upgrade of the servers by NFS mounting the build
directories, shutting down as many of the active processes and servers
on the system as possible, running 'make installkernel installworld'
and then 'mergemaster' and finally rebooting.

	Cheers,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
PGP: http://www.infracaninophile.co.uk/pgpkey         Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK

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?20030223082143.GA12153>