It is possible to run Linux on the bare metal (on machines that still have basic mode) and in an LPAR without VM. Unless your application is such that it requires absolutely every possible cycle that can be squeezed out of the underlying hardware, the manageability, error management and resource management capabilities added by z/VM are overwhelmingly desirable (to the point of being my "recommended" method for deploying Linux on zSeries).
The only advantages I know of are:
- You don't have to pay for z/VM.
- Cycles that z/VM would use for supporting the virtual machine environment are available for other uses. This is often important for applications like SAP where every cycle counts, and the application code is deliberately aware of how to interact with the hardware for maximum advantage. Most applications aren't that aware (and many are actively stupid about how they handle hardware).
- The ability to create an arbitrary number of instances (assuming resources to support them). Linux guests breed like rabbits, and LPARs are a precious resource -- there's a fixed number of them, even on a z9. There is no fixed limit under z/VM.
- Automation for Linux is difficult and expensive in LPAR. z/VM provides a lot of tools to make this easy.
- Fine-grain resource allocation is difficult to do in bare-metal.
- Linux error recovery is not as robust as traditional S/390 or zSeries operating systems. z/VM handles most correctable errors before Linux ever sees them, and does it for all guests transparently.
Etc, etc, etc. If you add up the time you'll spend working around the problems with device management, configuration, duplication of effort and management, you'll have paid for z/VM many times over.
This was first published in December 2005