From owner-freebsd-questions Sun Feb 23 0:21:51 2003 Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6CB3537B405 for ; Sun, 23 Feb 2003 00:21:49 -0800 (PST) Received: from smtp.infracaninophile.co.uk (smtp.infracaninophile.co.uk [81.2.69.218]) by mx1.FreeBSD.org (Postfix) with ESMTP id 950D543FCB for ; Sun, 23 Feb 2003 00:21:47 -0800 (PST) (envelope-from m.seaman@infracaninophile.co.uk) Received: from happy-idiot-talk.infracaninophile.co.uk (localhost [127.0.0.1]) by smtp.infracaninophile.co.uk (8.12.7/8.12.7) with ESMTP id h1N8Lh5U012372 for ; Sun, 23 Feb 2003 08:21:43 GMT (envelope-from matthew@happy-idiot-talk.infracaninophile.co.uk) Received: (from matthew@localhost) by happy-idiot-talk.infracaninophile.co.uk (8.12.7/8.12.7/Submit) id h1N8LhlF012367 for questions@FreeBSD.ORG; Sun, 23 Feb 2003 08:21:43 GMT Date: Sun, 23 Feb 2003 08:21:43 +0000 From: Matthew Seaman To: questions@FreeBSD.ORG Subject: Re: HOWTO upgrade a FreeBSD production server Message-ID: <20030223082143.GA12153@happy-idiot-talk.infracaninophi> Mail-Followup-To: Matthew Seaman , questions@FreeBSD.ORG References: <1045984525.3e58750d27f24@ra.dweebsoft.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1045984525.3e58750d27f24@ra.dweebsoft.com> User-Agent: Mutt/1.5.3i X-Spam-Status: No, hits=-3.3 required=5.0 tests=IN_REP_TO,QUOTED_EMAIL_TEXT,REFERENCES,SPAM_PHRASE_01_02, USER_AGENT,USER_AGENT_MUTT version=2.44 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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