Well, it would have been nice to do it seamlessly.
If I had a nickel for every time I've said that...
Imagine, if you will, two identical Dell servers. One of them had a high probability of a major failure (bad batch of motherboards), so Dell sent us an identical machine (from a different lot, obviously) and a return label. We decided against just swapping the hard drives (I don't know why, but it didn't end up making any difference), and instead went for a fresh install and a system state restore. One would think that we could just back up the old one, do a restore to the new one, and swap 'em out. That gives us about 30 seconds of downtime. Fortunately, we were smart enough to do this on Friday at 1800. Everything lit up just fine. All the lights came on, the system booted up just fine, everything is cool... except that it couldn't talk to the network. On the same segment, everything could talk to it... but some stupid ACL in a series of switches (why we had to layer that I don't know) was preventing that new NIC's MAC address from traversing the switch... and the next switch... and the router... and so on. So four hours into our thirty seconds of downtime, we finally figure this out.
Oh well, at least I got overtime.
You never remember the upgrades that go off without a hitch, which outnumber the failures by 10 to 1, but you'd better not bring email down longer than you'd planned, or the users line up at the door to scream at you.