Upgrading from FreeBSD 4.10 to 8.1?

Devin Teske dteske at vicor.com
Thu Jan 6 21:50:11 UTC 2011

Sharing some of our experiences here at VICOR.

On Thu, 2011-01-06 at 15:55 -0500, grarpamp wrote:
> I know I'll take heat from everyone else who responded saying to
> effectively ship a new box. But maybe this user has significant
> costs involved with that. Along with any other reasons...

Our company is in that situation. In fact, we have:

>1000 systems still running FreeBSD-4.11
>200 systems still running FreeBSD-4.8
>1 system still running FreeBSD-4.4
and 1 system still running FreeBSD-2.2.2

The >200 4.8 systems are actually in the process of upgrading to 4.11
this year (go ahead... roflmao your heart out).

Later this year, we plan to migrate ~500 systems from 4.11 to 8.1 and we
plan to do it with a binary upgrade package (of our own design).

> v4 to v8 can be done. I've done it entirely live over the net.
> Nothing crazy about it.

Confirmed. We've done it too. Nothing special.

> The basic idea is that there are too many changes and tools involved
> to fart around with build/install world, mergemaster, CD's, sysinstall,
> etc. And they're just not aware of such a jump. And you can't trust
> the idiots on the other end to get it right even if they would work.
> You are the SA, free your mind. To the initiate, it would be
> harrowing. To the seasoned SA, it's logical cake.

It takes time to be thorough, but if you're thorough there's no reason
to fear a binary upgrade. In fact, you can logistically break it down
into the following procedure:

- Take vanilla 4.x host-one
- Take vanilla 8.x host-two
- Diff host-one to host-two
- Build binary differential package
- Package pre-install regresses the machine by uninstalling all packages
- Package post-install builds the 8.x box back up with new packages

> So backup your entire 4.x box over the wire, there will be no return.

In our 4.x->8.x binary upgrade, we have a back-out strategy because
we've been doing binary upgrades for years.

In essence, our company started on FreeBSD-2.2.2, then did binary
upgrade to 4.4. Then binary upgrade to 4.8. Then binary upgrade to 4.11.
Now binary upgrade to 8.1.

The backout strategy is essentially to re-install the "4.11 upgrade"
package (downgrading from 8.1 back to 4.11).

But really... in over 10 years, we've never had to "back out" a binary
upgrade (the procedure to do so has been documented and there, but in
the tens-of-thousands of binary upgrades we've done, we've never had to
back it out... not even once).

> Go find a box and install v8 however you want it. If you fail, this
> one goes to the shipper asap. You can use a vm but that will take
> longer to ship. You are very wise to also install a v4 box and
> overlay your backup on it first for testing the entire process. If
> you failed to heed SA wisdom about separating / /usr /usr/local
> /var /home /boot, free space, etc on the original v4 box, your life
> will be much harder. But if you have a ton of unpartitioned free
> space on it, you can fix that one at a time too ;)
> Be very aware of boot sectors, loaders, partitions, slices, fstab,
> sizes, /dev, ifconfig, packet filters, kernel config, etc. That
> kills most people. Also, since all your apps will be pristine v8
> vers, you need to sort out their use of the old data and config.
> If you have space, rsync -Haxi upload your v8 mountpoints to separate
> staging dirs on the v4 box. It helps narrow your power fail window :)
> Get on the v4 box. If you've got console, re boot -s. If not, take
> it down till only init, sh and sshd remain. If you have space, rsync
> your current v4 mountpoints to some backup dirs.
> You're going to need static versions of rsync, openssh, sh, su, and
> any other tools. You'll need to kill and run the static sshd... re:
> fstat, umount, libs, etc. If you want, truncate /etc/rc to load
> only static sshd from /root. This gives you some chance at recovery.
> Again, do a local trial run to figure out what, where and when you
> want or need all the tricks and in what order.
> Mount everything read-write and rsync -Haxi --delete from your v8
> staging dirs (whether local or remote) over top of the live but now
> library freed v4 mountpoints.
> Reboot ;)
> Don't forget to lay down new boot sectors etc as and when needed
> during or after the above.
> It works, don't complain to me or this list if you break it :)
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
Devin Teske

Business Solutions Consultant II
FIS - fisglobal.com
510-735-5650 Mobile
510-621-2038 Office
510-621-2020 Office Fax
909-477-4578 Home/Fax
devin.teske at fisglobal.com

This message  contains confidential  and proprietary  information
of the sender,  and is intended only for the person(s) to whom it
is addressed. Any use, distribution, copying or disclosure by any
other person  is strictly prohibited.  If you have  received this
message in error,  please notify  the e-mail sender  immediately,
and delete the original message without making a copy.


More information about the freebsd-questions mailing list