How to Minimize Linux Server Reboots

One solution is to use ksplice.

If you use Ubuntu or CentOS kernels you can subscribe to the service, where for a small fee they will provide you with special kernel images that can be used to patch a running kernel. Reboots are not required for most updates. Pretty easy to use and setup.

If you are particularly skilled you can use the ksplice patches to build your own enabled kernels without subscribing to the service, or for non-standard kernels.

I have had servers with 1+ year of uptime. Not the best practice because from a security perspective the server...some of these servers were database masters and we couldn't afford downtime.

I think security should be the prime concern but then there are some real world limitations. If you have the luxury patch it and reboot it if needed. Don't worry about uptime, better safe than sorry.

I would suggest always rebooting a server after a major upgrade to insure it comes back up, you don't want to be caught in a situation after an unexpected reboot.

Our shop has a pretty good policy about patching/rebooting. The importance of staying secure out-weighs the uptime statistic. We have a regular patching routine that works to ensure we are not getting caught in a Bad Things Happen situation.

Our move to cluster computing has helped to ensure the important things stay up and the work to get setup was definitely worth it.

If uptime matters for for maintaing service to clients then you should be looking at load balancing and clustering. You can maintain a secure and redundant environment as well as service uptime.

If you are sacrificing security for braging rights, you are likely doing disservice to your clients.