Why is it especially bad to reboot a mainframe? [closed]

This is something I've heard a lot throughout my career, from practically every mainframe operator/admin I've ever worked with, and up until now, I never really questioned it, or had a reason to care one way or another. Never reboot a mainframe, because that's particularly awful heresy, and it creates all kinds of risks and problems, plus IBM kills a puppy every time someone reboots a mainframe. (Or something along those lines, anyway.)

Well, recently, I've been forced into a situation where I have a reason to care, and the more I think about it, the less sense it makes. Mainframe hardware is designed to be resilient, the OS on those things is about as stable as you can get, and I'm pretty sure IBM doesn't actually have a large stockpile of puppies to murder every time an iSeries gets rebooted.

Of course, I get that server reboots in general are poor practice, or an option of last resort, or something you should only do when the on-call guy has a hot date lined up, but I'm currently jumping through all kinds of crazy hoops to avoid having to reboot an iSeries because... well, "just because," it seems.

With that in mind, can anyone with mainframe experience explain the technical reason(s) that rebooting a mainframe is especially bad compared to rebooting a *nix or Windows server?


In any situation where reboots are infrequent, reboots tend to show up all sorts of unfortunate software bugs that don't occur during normal running. Since these don't come up often, they don't get noticed and therefore don't get fixed. making reboot time a very scary thing.

The other issue is that mainframes tend to be doing a lot of different things, and so rebooting the mainframe may well take out a LOT of different systems for a while. Depending on what's on there, you could be turning your entire business off for 10 minutes while you reboot.


I don't know if this is widely applicable, but in the 2 places I've worked that had mainframes with programmers on staff, reboots were verboten because of the amount of manual work that it took to get the applications up and running after a reboot. Things like fixing communication problems to other systems, dealing with inconsistent data on disk, etc.

In my opinion (not being a mainframe programmer) these are all indications of poorly written software. I mean, come on! Inconsistent data on disk!? It's not like I pulled your power cord. I gave you notice to cleanly shut down!

YMMV, but that was my experience.


Well, two items.

First, remember mainframes are COMPLEX and not necessarily all software is made to stop i ncase of a reboot coming - you may run into a lot of issues with processes just interrupted in the middle of something. Manual cleanup time. Something mainframes are actively developped to avoid - with stuff like transactional memory updates (when properly programmed) and processoes that allow hot swapping a processor ;)

Second, be sure you kno wwhat you talk about when you talk of reboot. Pretty much every Mainframe runs VMS or something similar. VMS is "the" original hypervisor - like VmWare on steroits, and 50 years earlier ;) So to say.

Reboot means what? Rebooting THE MAINFRAME, or rebooting an instance of the operating system in a virtual machine? ;)

I would assume rebooting a mainframe is rarely ever necessary, mostly because (a) you ahve everything in a virtual machine anyway and (b) even most hardware failures will not require core reboot.