October 23, 2015

How long is a mainframe in service?

One of the really nice things about Linux on z is the fact that the underlying hardware has a long life. This means that for complex software solutions that need extensive and expensive testing you can keep the system going over a long time period. The Linux distributions on the mainframe are supporting this model with their long term support contracts.

But how long can you get service? There is a now updated summary presentation out on TechDocs called "IBM Mainframe Life Cycle History" (PPT, PDF). It has a nice overview chart which gives the answer to this question: the average support cycle over the past 21 years has been 11.3 years!

October 22, 2015

IBM Storage Support Matrix (SSIC) updated for Linux on z

This week there has been a major update on the  IBM System Storage Interoperation Center (SSIC). Now in addition to the high end boxes and Flash Systems also many entry and mid range boxes are supported like a V3500, V3700, V5000, V7000. To get a quick view select under connection "FCP (z Systems)":

So for all those systems no SVC is needed any more!

And as a side remark: all the supported tapes are also documented in the SSIC, 

October 12, 2015

Random number generators for Linux on z Systems

For Linux on z Systems there are multiple kernel interfaces to get to (pseudo) random data. First there are the two standard Linux interfaces.
  • /dev/random : blocking interface used for really good random numbers
  • /dev/urandom : nonblocking interface used for everything else
Those interfaces work the same on z Systems as they do on other platforms. However in highly virtualized environments there are really idle servers where nothing is happening. This means that there isn't a lot of entropy generated and therefore /dev/random will block.

On top for z Systems there are two additional interfaces:
  • /dev/prandom : this is a hardware assisted pseudo random number generator using the System z CPACF instructions. To enable it do a modprobe prng. Further details can be found in the "Device Drivers, Features, and Commands" book for upstream, SUSE and Red Hat. In those books search for prng. 
  • /dev/hwrng : this is a true random number generator using the CryptoExpress CCA co-processor function. For this to work, you need the hardware card installed and configured to your Linux. Then a modprobe z90crypt starts it. 
As expected prandom is faster than urandom. But the additional card with the real random number generator is even faster and doesn't use CPU. Obviously when you share the card the throughput will be split between the Linux images.

If your application is written against /dev/random and there isn't enouh entropy in the system, you can refill it by using the rngd daemon. To start it use then command rngd -r /dev/hwrng. Of course you need to install the rng-tools package first. Caveat: you may need to change the service configuration file to point to /dev/hwrng. Or you create the /dev/hwrandom (which is the default for rngd) device node by linking to /dev/hwrng.