BMC Communities Banner

Adventures in Linux

6 Posts tagged with the mainframe_linux tag

In my last post I mentioned using SUSE's Studio product to build an appliance to test Evolution with. I did not go into detail then because I wanted to come back to that particular technology stack and talk about it as a separate-from-Evolution subject. If you read that last post, you will know that the reason I used Studio was to create a quick appliance to test the state of the art for MAPI connections to MS Exchange 2007. That is hardly everything that could conceivably be done with SUSE Studio, though perhaps it is a good example of the ability to quickly create a one-off test system.

 

For my use, I wanted the ability to build a LiveCD of OpenSUSE 11.1, with all the latest versions of all the related -packages. I wanted it to be  a LiveCD so that I could download it, boot it on the Dell D620 laptop, and run a quick test. It took about 10 minutes on my first drive through to assemble all the things I wanted, and then another 10 or so while Studio created the CD image. I then downloaded and burned that and ran my test.

 

The disk image was small: just over 400 MB. Studio had left out everything I did not need for the test, although were I to do it again I would probably go back and add a few more Gnome packages so that I would have a more complete / familiar desktop. Not required for the test, but were I to be interested in showing it to someone else, I would want the look and feel to be more "Gnome regular".

 

This showed the beauty of the tool to quickly build a sort of appliance that I needed once. Studio is far bigger than that though.

 

Lookie

 

One thing that is interesting is that you can customize the look and feel. Add in your own EULA. Add in your own software packages outside of whatever is provided standard on the Distro. It is easy to see how for a trade show this would be a nice thing to have. And since it works with both OpenSUSE and SLES/SLED, you could conceivably build an appliance that could be converted / licensed for production usage.

 

Related to that is the fact that neither KDE or Gnome is really the "premiere" desktop for SUSE. This war of the desktop that isn't (a war) has gotten a fair amount of electronic ink recently, when SUSE announced that they were going to set the SUSE default desktop to KDE in the next release. This furor was about what radio button was pre-populated apparently, and SUSE has said that both desktops are equally supported on the distro.

 

In Studio, you start with JeOS: Just enough OS. The kernel and some bits. You add X and Gnome or KDE on top of that if you need it. You can also pick a "Server" mode, which lines up more server related packages, but no GUI (unless you click to add it)

 

Also nifty is that, on the very first screen, while you are picking the GUI, you can pick 32 or 64 bit, right from the get-go. My appliance was 32 bit in order to keep things small and simple, but given how many things need to be tested under 64 bit, I see how this could be very handy.

 

Next, add some software: Whatever you like from the Distro

 

Getting Soft

 

The screens take you by the hand. The workflow is easy and intuitive. You go to the software tab, and here you can add repositories and packages. The updates repository is already there so you get the latest stuff, but if you need to test an older version, you can remove it.

 

The search dialog, in this day and age of Googling everything, is the easiest way to find and install more packages. Pre-reqs / Co-Reqs, and so forth are added automatically in a very apt-get kind of way. A dialog on the left of the web page tells you how much space the image will take, and how many packages you have.

 

Because the starting point is JeOS, if you want OpenOffice, you have to add it. If you want Firefox, you have to add it. Many things that one might take for granted as being present is a regular Distro download are not there by default. Easy to add. Easy to update.

 

Being Templative

 

All that is really happening essentially is that a template for a system is being built. Even after you build and download your appliance, and SUSE cleans up the disk space of the appliance image, the template stays, and can be updated and changed at any time. Forget Firefox? Opps. Just go back and add it, and build the image again. As Sookie Stackhouse says: "Easy Peasy".

 

The secret sauce here is that under the covers, this is all KIWI based.

 

More than Just a Pretty Package

 

Studio then asks you configuration questions. Things like whether you want assigned IP addresses of DHCP. Firewall Y/N/ Color. Runlevel. If you want to configure MySQL (the only application it appears able to pre-configure at this time, but maybe I did not load in any others that it can deal with in my test image)

 

Once you have it all tweaked out, the next dialog lets you add files. Need to put some .PDF's in the home directory? A test data base? Here is your chance. I did not do it, but it appears like a simple, browser style upload.

 

Build it. Download it. Test it. Tweak it. All very clean and easy.

 

Not just LiveCD's are supported as an output format either. USB / Hard drive, VMware virtual disk, and Xen Virtual disk are also options.

 

What is Not in the Studio

 

For all its beauty and ease of use, Studio has some drawbacks, at least for our use.

 

  1. No Mainframe SUSE image support. The packages are all X86 and X86-64.
    1. We have *lots* of SUSE on the mainframe. SUSE has something like 80% of the mainframe Linux market at this writing. Would be nice to have....
  2. No OS support other than SUSE
    1. Sure: One would expect that. But the tool is so easy and so nice that one wishes they could use it for *everything*.
    2. In our heterogeneous world, we would like to standardize our OS build procedures as much as possible. It is not clear to me that being able to build such a customized version of SUSE would be a good idea since what we support with our products is the standard versions of the Distros.

 

For free though, this is an great tool, and handy to keep in the SUSE Linux System Programmers toolbox.

| More
0 Comments Permalink

A quick look at Fedora 11

Posted by scarl Jun 25, 2009

In last weeks post I mentioned Fedora 11. Here is a slightly deeper dive.

 

The reason I was personally looking at Fedora 11 is that I wanted to see what the very latest MAPI setup in Linux looked like. Fedora is not only the most recent release of the major distros: Fedora also prides itself on being the most bleeding edge of the Distros. Fedora makes no pretense about being an enterprise desktop, or even useful as a daily use platform. Fedora is about being out on the edge and testing the latest and greatest... unless you are in Rawhide (Fedora's development channel) then one is supposed to be the most leading, ragged edge of Linux when using Fedora. Lean forward a bit (into Rawhide) and you can see them writing the code that is flowing into your Linux computers veins.

 

In theory then, since Fedora just released, and since it is so edgy, if there is new Gnome / Evolution / MAPI stuff integrated, it should be here.

 

Not so much.

 

F11, Evolution, and MAPI

 

First the packages:

 

[steve@f11-steve ~]$ rpm -qa | grep -i evolution
evolution-2.26.2-1.fc11.i586
..
evolution-mapi-0.26.1-1.fc11.i586

 

My Ubuntu 9.04 daily driver looks like this:

 

steve@bock:~$ dpkg -l | grep -i mapi
ii  evolution-mapi     0.26.0.1-0ubuntu2     Evolution extension for MS Exchange 2007 ser
..
ii  libmapi0               1:0.8-2ubuntu1          Client library for the MAPI protocol
ii  libmapiadmin0     1:0.8-2ubuntu1          Administration client library for the MAPI (
..

 

Evolution is at 2.26.0 as well.

 

Point releases can mean a great deal sometimes, but in this case, I can see no difference between the MAPI functionality of F11's 2.26.2 (MAPI is at 2.26.1...) and Ubuntu's 2.26.0. Both need to have the server IP address rather than the name just to hook up to the Exchange server, and load the Inbox. Neither can reply to email. Fedora can't even send email if you type in a valid address in fact. No calendar. No address book (GAL).

 

I do not know what the last .2 that Fedora put into the Evolution / MAPI packages is. It does not make MAPI viable yet though.

 

Fedora is Not Meant to be an Enterprise Desktop

 

I think I should stop here and reiterate that Fedora in not an enterprise desktop. Fedora makes no claims that it is, and RedHat, the corporate sponsor of Fedora, will tell you that they take the technology developed and tested in Fedora and roll it into their RedHat line of products when and if it is supportable. No one would claim Linux MAPI support is ready for primetime I think. If you want a simple thing like Flash or MP3 playback, you have to modify the Distro. It is easy to do, and resources like the Unofficial Fedora FAQ take you through it. It is not made more stable and more supportable that way though.

 

I mention this here because even though I kinow better, I have a tendency to think of the big three Linux Distros as Ubuntu (and its kin like Mint), OpenSUSE, and Fedora. I might even be forgiven that because those are in fact the top three over at Distrowatch as I type this. The truth is that of those three, only Ubuntu can be considered for Enterprise use, since you can buy support for it from Canonical.

 

OpenSUSE works well enough, and integrates with enough management tools that I think one could make a case that it could be an Enterprise desktop, though Novell will most likely tell you that is really their supported Novell Linux SLED.

 

I was looking at Fedora for pretty much the exact reason it exists: I wonted to do a technology evaluation of MAPI. Since I was there though, how about the rest of it? Anything interesting going on in Fedora 11?

 

Fedora 11

 

I downloaded the LiveCD from one of the install mirrors: I like to be sure that the OS looks like it will work on the system before I install it. That means that the installer is not exactly the same as the one that is used in the older style boot-and-install style disks. It is a simple process to get started once the LiveCD is booted: Just clcik the install icon. Then the fight starts.

 

I suppose if I had let it just take over the boot disk, and lay it out however it wanted it might have gone better, but this system also has Vista Service Pack 2 on it, and I needed it to dual boot. The back half of the disk is set aside for Linux, and that should be all it needs. It took three installs before I had one that would stay installed. It kept forgetting the disk layouts. It would boot once, but if I installed new kernel or something, it would not reboot, and a quick look at the disk showed that it appeared that the disk partitions were not as I had set them. They were not gone either. Vista was never affected. But the systems was not bootable.

 

All of it appears to revolve around the fact that the LiveCD uses Ext4 as the default file system for '/'... but Linux can not yet boot an ext4 file system, so there had to be a special 200 MB '/boot' set up as Ext3. This meant that my standard dual boot config did not work. I could not do a Windows | / | swap | /home layout. Having more than four partitions mean extended partition or LVM. I tried extended but that appeared to fail, so I finally ended up in an LVM config:

 

[steve@f11-steve ~]$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vg_fed11steve-lv_root
                      10077504   3655204   6320024  37% /
/dev/sda2               198337     21964    166133  12% /boot
/dev/mapper/vg_fed11steve-LogVol02
                      81787616    407736  77225308   1% /home

 

/dev/sda1 is Vista still..

 

Once I was able to stay up past a simple reboot, I updated everything with "sudo yum update" (after I used "visudo" to add myself to the '/etc/sudoers' file of course).

 

The Scenery

 

Once up and logged in, the view is that of a clean, simple Gnome 2.26 desktop. No messing around and adding the Mint or SUSE modes that make Gnome look more WIndows-y. on this Dell 745 with its ATI  (lspci says: 01:00.0 VGA compatible controller: ATI Technologies Inc RV516 [Radeon X1300/X1550 Series]) desktop effects were not enabled by default. When enabled via System / Preferences / Appearance, it was a pretty reduced set of effects, and none of the ones I care about. Wobbly Windows: Meh.

 

I used Yum to install Compiz-control-center so I could get control over what effects were on. I wanted Expo and Windows Preview. I Also loaded up something called OpenGL Desktop. When I try to use the later I get a nasty error about not being able to save my preferences, so while Compiz is up, it is not doing what I want it to:

 

Screenshot.png

 

It has been a while since I had loaded up Thunderbird. Since Evolution was no more useful than what I had on Ubuntu already, I decided to see how Thunderbird had changed. F11 ships:

 

[steve@f11-steve ~]$ rpm -qa | grep -i thunderbird
thunderbird-lightning-1.0-0.3.20090302hg.fc11.i586
thunderbird-3.0-2.3.beta2.fc11.i586

 

I added Lightening to get a calendar going. I was sort of sorry, as it would not let me dismiss any alarms for meetings. For fun, I installed the same on Ubuntu, and it worked fine over there, so I assume it was because F11 was shipping the Beta, and this was a bug that had not been dealt with yet. One of what was turning out to be the many bugs not dealt with yet.

 

I used to live in Fedora. I loved it because it taught me so very much about Linux. Great forums and general information on the Internet and by being totally open source, everything is there to see. I must be getting old, because these days, after using Ubuntu and Mint, Fedora's rawness is something I have to remind myself is a more or less intentional act.

 

Interesting Fedora 11 Happenings

 

There are two Fedora efforts under way that have my interest. One is that there is going to be a Fedora 11 spin against the mainframe. Here was the recent announcement about this on the Linux-390 list:

 

Hello,

The Fedora s390x team is pleased to announce a first preview of Fedora
11 for s390x
in form of a prebuilt hercules image and as a tarball which can be
unpacked on
a free DASD of your z9 or z10.
We currently have ~11600 binary packages of Fedora 11/s390x and are
working on
getting real boot images.

Hercules images with instructions can be downloaded from
http://secondary.fedoraproject.org/pub/alt/spins/S390/

Individual packages are available at
  https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=s390x

More info will be added in the next few days at
  https://fedoraproject.org/wiki/Architectures/s390x

If you're interested, please join our mailing list at
  https://admin.fedoraproject.org/mailman/listinfo/fedora-s390x
or our IRC channel #fedora-s390x on freenode.net


Regards

     Karsten Hopp, s390x secondary arch maintainer<fedora-s390x@lists.fedoraproject.org>

 

As a mainframer (if not a currently active one) I thought that was very very cool. The other thing I found interesting was that, as an owner of OLPC's XO-1 there is now a Fedora 11 install for it:

 

http://dev.laptop.org/~cjb/rawhide-xo/

 

My XO-1 is in a practically unusable state at the moment from all my experimenting with it, so this looks like a way to get it back into a functional state. Not only that, but to move to a Gnome desktop from Sugar. I get why Sugar exists, and for kids that have never used a computer before I think it is brilliant. It drives me nuts. I sense Fedora 11 in my XO-1's future....

| More
0 Comments Permalink

Convergence

Posted by scarl Feb 18, 2009

-by Steve Carl, Senior Technologist, R&D Support

 

What goes round comes round. What is old is new. Here we go again. Haven't we been here before?

 

I have been doing several things lately that all intersect. One of them is designing a new data center for R&D labs. Another is looking at one of our VMware server farms that was an early proof of concept for the whole server virtualization thing, and trying to figure out where it needs to go *next*. Another is looking at Cloud Computing: where it is now, and where it is headed.

 

At the center of almost all of those things is virtualization technology, and that is where I started my career on the mainframe back in 1980. VM SP it was called back then. At the center of the current X86 version of virtualization is another old friend of mine, Linux.

 

Quick terminology note: The mainframe OS called VM created VM's. Yep. They called the OS what it did. Kind of like people being named "Smith". VM over the years has had many flavors: VM/370, VM/SP, VM/XA, VM/ESA, and the current z/VM. VM system programmers just called it VM mostly, and knew by context if the discussion was about the OS, or the Guest Operating Systems. A Guest OS is a virtual machine, running as a guest of the host OS.. named VM. I'll try an be contextually clear here. VM created virtual mainframe hardware that the Guest OS used without knowing it was not real. Mostly.

 

VMWare, Xen, and others are slightly less confusing here because the Virtual Machine tag is reserved for the virtualized, or guest OS only. When you talk about the host OS, it has a different name. Don't even get me started on bare metal virtualization, or hypervisors. Not going there.

Hardware Assist

VM on the mainframe predates me by a good bit. Depending on how you interpret a few things computer virtualization started in either the late 1950's or mid 1960's. The exact start date is not really that important to this post. What is important is that the early experiments turned up the fact the hardware virtualization worked better when hardware assisted in its own virtualization. To keep memory from being bashed, trashed and generally abused there were features added to allow indexing and translation assistance.

While the implementations are technically different, they are not that conceptually different from what AMD did with Pacifica (AKA AMD-V) or Intel did with Vanderpool (AKA VT-x). It was really a very old lesson.

 

As the mainframe evolved, the technology that it used changed and evolved until we reach the place where almost all the virtualization formerly being done by the VM Operating system started being done in the hardware via the SIE (Start Interpretive Execution) microcode.

 

We have not quite reached that place in X86 land yet, but AMD and Intel keep adding more and more hardware features to support OS virtualization to their processors. The Nehalem generation of processors from Intel adds Extended Page Tables (EPT) for example. Wow... where I have I seen that before? Oh yeah... I remember. AMD is adding I/O Memory Management to increase virtual machine isolation. Think I have seen that before too....

 

Don't take my tone wrong: these are great ideas, and my point here only is that we have been here before, and so if you want to know where we are going, just have a look at today's Z10 mainframe because the hardware features it has now to assist in virtualization will appear sooner or later, in some form, in X86 space.

Shared Memory

Back in the day, when we were running a large number of virtual machines under VM on the mainframe (oh.. wait. We still do that...), the thing we needed first, before anything else, was RAM. That is as true if not more so today.

 

One of the things that was discovered early on about virtualization was that if you do shared memory wrong, all you get is a computer that beats itself to death trying to manage memory. Thrashing. Doing nothing but paging. I was not there, but think that is more than likely why some of the very first hardware assists for virtualization back in the early 1960's came in the form of memory management. I was here when Intel and AMD added hardware assists for memory, so I think my theory has legs.

 

In our use of VMware internally, we find that more often than not the number of virtual machines that we can deploy on any given ESX server is more a function of RAM, not CPU, being the bottleneck. Even with features like memory over-commit, it is common for us to see in our BMC Performance Assurance data a two to one ratio of memory usage to CPU usage. It would be easy to assume from that data point that the speed of the CPU has outstripped the other components of the general computer.

 

When CPU's were not the fastest thing in the box, IBM spent a great deal of time and engineering trying make sure that they only they only did work that was high value. I/O was spun off to dedicated I/O processors. Memory was used for the I/O processors to communicate the actual data the CPU needed to work on next. In general, the mission was 'keep the CPUs busy'. All this customer engineering made for expensive computers, and so no mainframe data center worth their salt would buy new capacity before they needed it, and an underused mainframe was considered a failure on the part of the people that designed and recommended that configuration.

 

Aside: When I was at NASA as a subcontractor, I heard a quite believable story about a mainframe system programmer who wrote a program that was a CPU soaker. After a new upgrade, he would make it use more CPU, and keep end user response time more or less the same. When load increased, they would dial back the soak task, and things would return to normal. When there was no soak left in the soak task, it was time for a new mainframe.

 

Whether that story is true or not, that fact it was told says something about the way that the resources of the mainframe were viewed.

 

The constraint for us with VMware is RAM. With 256 GB of RAM I can virtualize twice as many virtual machines as with 128 GB of RAM, without adding any CPU resources. But the cost the 8GB SIMMS to do that more than double the cost of the system many times... It was often literally less expensive to buy two ESX servers with 128GB of RAM than one ESX server with 256GB of RAM. Boy will that set of numbers look stupid in a few years... but the point will still be the same.

 

Factor in the three year ROI, and that is not true of course. Power, air conditioning, rack space, network and KVM connections all more or less double with two ESX Servers instead of one. The problem in tough economic times is to take three year ROI into account. The good news is that being green: using less of this planets resources, is also a good thing and makes the discussion about buying fewer, more expensive computers feel a lot like the ones we used to have back in the heydays of the mainframe.

 

For a project I am working on I did a three year ROI on two 256GB VMware servers (Dell R900's, but the same held true for Del R905's) versus four 128Gb ESX servers (Also Dell R900's). Not even counting the VMware licenses for the CPU sockets, the costs came back with the 128Gb config costing 25% *more* over the three years of the server. It is even better than that, because I rounded down all the power costs in my model, did not include taxes on the purchase or the power, and did not count the VMware per-socket CPU license charges. The real number is probably closer to 50% in the real world, but I wanted this estimate to be utterly fiscally low-ball. Under promise, over-deliver, just like Mr. Scott on Star Trek.

 

[Geek Points for the Star Trek reference!!!!]

I/O and Channels

The mainframe is still the king of the I/O mountain, and at the core of that is the way the the I/O subsystem on the hardware is designed. There are lots of I/O channels, they can load balance, and more than one can connect to any given I/O device for not just load balance but redundancy. It also further allows virtual machines to start I/O on any given channel to any given device in a totally shared and transparent but still isolated way. Now add that the Z10 can have 1024 I/O channels to a single mainframe. X86 is not anywhere near this yet. Not even close.

 

Not being near and not being close is not the same thing as not knowing where they need to head over time though. Have a look at the Virtensys web site for example. Clearly they have in mind the same thing that the mainframe did: Decouple the I/O from the processor, and share it. The picture doesn't have 1024 I/O channels in it: There is a reason why the mainframe costs more for starters. Of course you could argue that makes the MF the perfect convergence platform at the core of server consolidation... and you would be right.

Virtual Networking

VM on the mainframe has virtual network switches interconnecting virtual machines. VMware has the same thing in ESX. TCP/IP allows all sorts of possibilities for tunneling other protocols inside it. Stepping back a second, it seems like whoever has the least expensive, fattest pipe can become the transport de jour for all the other I/O in the shop. iSCSI, FCoE... you name it.

 

In a reverse of the way things normally happen, distributed system brought networking to the mainframe. Well... not exactly. The mainframe has it's own way of networking before (SNA) but it did not survive "contact with the enemy". Mainframe people just had trouble getting their heads around the idea that the protocol did not guarantee the packet would get where it was sent. But I digress.

 

The mainframe has virtual network I/O long long before it was cool. We used to lash Virtual Machines together into virtual networks with Virtual Channel to Channel (VCTC) adapters. There was real hardware that let one mainframe talk to another over its high speed channels (high speed then...). It was a complicated sort of flipping transmit and receive, except that the mainframe channels were parallel, not serial. VM could do that same trick virtually, and then to guest OS's could converse not at hardware speed (4.5 Megabytes a second on a fully spiffed S/370 set of cables), but at *memory* speeds.

 

If you buy a large VMware server, it can have inside it a virtual network where a large number of its virtual machines converse with each other without ever touching a real wire. We have been here before, and it was good then too.

Virtual Disks

UNIX and other platforms have long had the concept of a virtual disk. The hardware design made this vary, but at the very base of this was the disk slice. Take a disk, and instead of using the whole thing as one disk address, write a partition table on it, and have it contain more than one disk image. PATA had, for example, four primary partitions available by design. In Linux terms, HDA became HDA1, HDA2, HDA3, and HDA4. When that was not enough, PATA layered on the "extended" partition, so that one of the four disk slices could be sub-divided into slices again.

 

VM (the MF OS) has always had the idea of a "mini-disk". Unlike a partition table, it was not written to the disk being sliced how the disk was divided up. The disk was blissfully ignorant and just stored the data written to it where it was told to by VM. The disk slicing was defined in the VM directory. MF disks mostly came in the Count Key Data flavor (with a few exceptions) and that meant that they were subdivided into "Cylinders". Different disk models have different numbers of cylinders. The smallest minidisk is one cylinder, meaning that a MF disk could contain literally thousands of mini-disks. The limit was how many cylinders the hardware presented to the OS.

 

VM would then take these minidisks and assign them to VM's or Guests. The Guest OS would have no idea that the minidisk was not a real, but smaller version of, a real disk.

In another echo of the past, I have seen various Linux recommendations being made to use disk labels rather than device addresses. In Linux, this is mostly in /etc/fstab. Mainframe has use disk labels forever. The Directory that defines the minidisks is keyed of the disk labels in fact. The reason is the same too: with labels, the underlying disk hardware address can change and it will not affect the operations of the system. Handy for system recovery and such.

 

Disk slice limitations were a real problem for UNIX and other OS's. Logical Volume managers sprang up to deal with that by abstracting the real underlying hardware from the applications on the OS. LUN's became VLUN's. A VLUN could be part of a disk, a disk, or many disks. In this the mainframe was exceeded for a while: to aggregate minidisks would be a long time coming. The first time I thought is was *easy* was in fact the convergence of Linux and VM, where Linux creates VLUN's over the top of VM supplied minidisks.

Driving Utilization Up and System Count Down

As noted before, when I started in the mainframe biz, it was just generally accepted that you did not run your MF at less than 80%. If you did, you had overbought your capacity. At the same time, there had to be headroom for peaks: things like quarter close, and billing runs and stuff like that which made your averages and your peaks both things your capacity planner / system programmer took into account when figuring out what kind of mainframe they needed to buy next time. Not counting the CPU soaker person. That story ends with them being fired.

 

One of the reasons that people loved distributed systems is that they could buy all these little computers with tons of spare capacity and just not worry about that anymore. Of course we now understand that the freedom came with a cost: OS license counts, applications license counts, and amber waving fields of systems that needed to be replaced every three years or so. This contrasted with the more structured world of the glass house where those things were planned for and dealt with by small staffs of people that understood all the issues around the troubles that come from things like hardware and OS upgrades.

 

There may not have been capacity planners in the distributed world, but now everyone was a desktop admin.

 

All those computers sitting about and doing nothing when someone was not sitting in front of them. Even when they are sitting in front of them, I am watching the CPU meter as I type this. The computer is not even noticing the keystrokes. I have two browsers open, email, and a couple other applications and the CPU is looking out the window and is frankly rather bored. Memory is at 60% though. When I need the CPU, I will spike it to 100% for a few seconds, but then it will return to its lackadaisical state. The average computer runs at about 2% CPU usage most of the time. With enough memory, this CPU should be able to handle 40 or 50 people doing the same things I am right now.

 

The mainframe stayed as busy as possible by buying fewer CPU's, offloading its I/O, and leveraging RAM and disk storage (VM's paging / swapping subsystem is a thing of beauty).

For the end user, the so-called "green screen" sat connected to a terminal controller, and the terminal controller buffered together the I/O of about 32 users, and batched it up to the mainframe when it needed to. These days you can do more or less the same thing with a web browser, AJAX, and a Linux server. That Linux server can be running with a bunch of other Linux servers at the same time on an ESX, Xen, or other virtualized server inside the data center. Work is offloaded onto my computer, and batched back to the server as needed. As I am writing this in Google Docs, the server is off someplace in a server cloud: I know not where.

Feet on the Ground

Cloud Computing. Seems like another name for "Central Data Center" in so many ways. What are the concepts that drive the cloud?

 

First off, while people sometime act like the idea that they are in one place, but their data is in another is new. They get jazzed about the idea that a modern computer screen looks so much better and is so much higher resolution and has all the nifty colors and nice icons and all. All that is true of course: We use tons of computer cycles and RAM to make all the pretty screens. We'll be using a lot more whenever we get to the place we can talk to the computers.

 

I was talking to a banker the other day, and he was talking about how they are supposed to open new accounts. There is this pretty GUI based thing and using it requires patience, especially when it crashes. All he wants to do is open an account, and the person is waiting right there! When the GUI widget crashes, he goes to a green screen hidden away somewhere in the back ... I am guessing an IBM terminal, but they did not know. May have been ASCII. There he flies through a series of screens, typing in codes and data, and in a minute or so, all is done.

 

That terminal accesses a computer someplace else. He does not know where. It is "out there". Sure, it is an internal to the bank cloud, but it is still mysterious and magical. Of course it helps he knows how to use the green screen. A new comer to the bank would more than likely not know the old system, and will have to be patient waiting for the new system to either catch up, or maybe even come back up.

 

Is the magic of the cloud the protocols? Does one really care where the computer is? Of course not. What they care about is whether or not someone can steal their data, their identity, or embarrass them.

 

I am not saying there is nothing new under the sun... or is that Sun here? The fact that there are over a billion wireless phones on the planet, and having a full browser in the wireless palm (or is that iPhone) of your hand is clearly new. It is nothing that science fiction did not think about for years, but now it is real. All those itty bitty computers in our hands would be useless without the cloud of computers behind them. On my iPhone, I have no idea where the computer is that makes Google Maps work, but I am fairly sure that it is not the same one as the computer that makes my Twitter app work. the protocols and the interfaces, and the speeds and feeds have all changed, but conceptually, how different is that then the green screen on the desk that somehow accesses the customer data and sets up the account? If the bank has web banking, that customer can now go and access the exact same information from their iPhone.

 

I'll have more to say about the clouds in the future, but as it related to this post I think I have beaten it enough. Probably not into submission. the cloud crowd are pretty loud and proud.

 

[More geek points for alliteration!]

Looking Forward

One of the areas I am looking into right now is storage virtualization. Making disk farms into blocks of storage, and abstracting the volumes at a layer above that. Spread I/O as far and wide as is required for the application at hand.

 

Even at that, I have been here before. The mainframe had a bit of disk storage back in the 90's called the Iceberg, from then-STK. The 'Berg was a real disruptive technology. It took Fixed Block, SCSI disks and virtualized them into Count Key Data volumes. The mainframe no longer knew where the actual blocks were anymore. IBM later came up with the RVA, then the Shark, and now the DS line, and all of this virtualization has continued and increased. There is, as far as I am aware, no such thing as a *real* Count Key Data disk anymore.

 

The IBM SVA , Xsigo Systems VP*, or HP SVSP do the same thing for disk arrays from a wide range of disk vendors, or, if you prefer, there are devices like the ones from Compellent (to name but one) where the disk back end is provided, but utterly virtualized.

 

Deja Vu. I feel like I have been here before. Not exactly. There are differences. Still, I wonder what is going to get mined from the mainframe next. It is not like the Mainframe is sitting still waiting to be overtaken either. Like TCP/IP, it has absorbed some ideas, concepts, and even operating systems like Linux. UTS would be proud

 

The postings in this blog are my own and don't necessarily represent BMC's opinion or position.

| More
0 Comments Permalink
Literally. Where the VMLMAT tool goes, and what it does going forward are defined by the people that use it, just as what it is so far was defined by the needs of the people that created it.

http://vmlmat.wiki.sourceforge.net

 

Background, in case this is the first post you have ever read about VMLMAT. VMLMAT is not a product of BMC's R&D organization. As we are organized internally, R&D Support is actually in the IT department, and VMLMAT was designed and built by Ron Michael, the man charged internally to support all of R&D Linux images on the mainframe. It expressly is written for the needs of our internal environment, and some of those parameters are:

 

  • All Mainframe Linux images run under z/VM. While we have      LPAR's, we do not use them for Linux.

  • We made an arbitrary design decision to use Active Directory      as our repository for users and passwords. VMLMAT stores the      metadata about what each user can do, and which Linux images they      own, but not the actual userids / passwords themselves

  • Our R&D community was needing to treat MainFrame Linux as      "Just Another Linux": the same as the Linux on the X86      server, the one in VMware, or the one on their desktop or laptop. As      developers, they know Linux, but they may not know much or      even anything about z/VM or the mainframe.

  • Related to that: We had no idea what platform the R&D      people would be using when they were managing their Linux images.      Could be AIX, Solaris, Linux, HP-UX, OS.X, Tru64, VMS, MS Windows      from 2000 thru 2008...

  • With terrific z/VM system programmers in the support      organization, we were not looking to do anything that either got in      their way, or add any system z/VM management features.

  • We have no MF attached SAN devices, therefore no MF Linux      running on FCP devices.

 

Because of Whurley and the new direction he represented for BMC, and discussions with same, we knew from a fairly early point that VMLMAT might become one of BMC's first Open Source projects. However, that did not translate into making VMLMAT the be-all, end-all of Linux on the mainframe management tools. We needed VMLMAT to do certain things internally, and that was all we could justify from a time / cost point of view of Ron's efforts. All of VMLMAT's features are funded by IT, therefore they had to meet IT's needs, and in this case, that meant R&D's needs. The good news is that Ron knew this might go Open Source, and so he was very judicious about the codes documentation both inline and via the Wiki. This serves us well internally for anyone that might come along behind Ron, and it serves the Open Source community as well, since they were going to get clean, well documented code from the start.

 

Being well documented was key: We knew that there were missing features, and we knew we might not be the ones adding them. We made the leap of faith that any submissions back to the project from the community at large that were based off the codebase stood a better chance of being equally well documented and written. We will not accept anything into the main code tree that is not so (or that we can easily make so).

 

Taking my list above in order then, here are the implications about what VMLMAT could be made to do in future:

 

  • VMLMAT can be thought of, at least in part, as a cold      provisioning tool. It takes Virtual Machines and makes them into any      version of Linux in the archive. It can also be used to store      particular configurations so that they can be promoted from Alpha to      Beta to pre-GA / release candidate, then to to production. But if      Production is in an LPAR... not so much. Not yet anyway. We think      adding LPAR support is very do-able though.

    • Related to that: VMLMAT is a stand alone tool right now, but           what if you already have a provisioning tool in house? Something           like BladeLogic? Could VMLMAT be made to interoperate? Again, we           think the answer is yes.

  • David      Boyes, over on the VM      Linux mailing list made a great suggestion, that VMLMAT use PAM      rather than our Samba code, so that authentication could be made      pluggable, and therefore it would not matter what the target shop      has for userid / password authentication. LDAP, NIS, NIS+, AD...      whatever.

  • In a production environment, not everyone and their cat      should have full access to the production versions of Linux. VMLMAT      already has a pretty good security model for this, since it allows      one to many, many to one, and many to many groupings of users to      Linux VM's. But I can see how some shops might want to tie this is      to something like RACF or VM:Secure. For our part, we would just      like to store all this is something like PostGres or MySQL in the      future, rather than in locked down flat files.

  • Our choice about the user interface was Web 2.0ish (even      though it is pure HTML right now). We assumed everyone would have a      web browser, even if we did not know what the web browser might be.      Other shops may prefer a Curses or an X interface. We have no      internal demand for that, and I can not see us adding those other      interfaces right now. What I can see us doing is getting far more      sophisticated over time with the web interface. It is currently      designed to be about as fast and simple as it can be: Real Web 2.0      technology Open Standards (such as AJAX) could make it much more      active in nature. Whatever is done here, Open Standards will be at      the core though. If we learned nothing from the web browser wars of      the 1990's it is that using proprietary browser extensions is a      "very bad idea" (tm).

  • There is an API in z/VM called System Management API, or      SMAPI, and not to be confused with Microsoft's Simple Messaging API,      also called SMAPI. Other than name, and being an API, not even      similar. Via VM's SMAPI, VMLMAT could be extended to "talk"      to the host OS, and have it do things like create and destroy VM's,      add mini-disks, change memory parameters, add Diag permissions...      whatever is needed. While VMLMAT has steered pretty clear of most of      the features of BMC's original cloning tool, such features would put      it squarely back in that realm. We don't need such things, so they      would more than likely not be added unless something extraordinary      happened, or they were added by the community at large.

    • Such features could also be added by having VMLMAT make           calls to whatever the shops systems management tool is. This is the           way the the BMC Cloning tool went about it. VMLMAT shares no code           with that tool though, so adding such a feature set would more than           likely be a community endeavor.

  • A key design point of VMLMAT was device and file system      independence. The way that the systems are archived and restored      does not care about what the underlying device is. It does not care      if it is EXT2, EXT3, or (probably, but not tested) XFS, JFS, or      Reiser. We take whatever device VM gives us, and we are glad to have      it. Thus should it ever be. While we have never tested it, adding      SAN devices should not be that hard: Mostly a matter of dealing with      the device names themselves.

    • Related to that: We built the archive feature to match a           resource that we had: that being our spiffy Linux NAS servers.           Other shops might prefer to archive to FCP devices, CIFS, or even           to MF DASD, leveraging at least the fact that the archives are           gzipped and still saving space. All of this should be easy to add.

    • Further related to that: We internally use only VM presented           Mini-disks as "raw" devices for Linux. No LVM or EVMS           layer. Since VMLMAT is device independent, adding support for a           Logical Volume Manager(s) should not be that difficult. In fact,           installing Redhat without LVM has gotten more and more difficult,           so this is something we may have to add for internal reasons.

 

Those are just some of the obvious things we have talked about (and we have talked about other, more esoteric things still), and to some degree they are based purely on our projections of what others needs might be. I freely admit that I have no idea all the possible things others might need or want from a tool such as VMLMAT. We tend to have a very BSM mindset internally for some reason, so that may color what we think about when we consider what we might do to VMLMAT.

 

In its current form, it has more than paid us back for the time Ron spent creating it. How it might be extended to be of similar help to others is an "Open" question.

| More
0 Comments Permalink
Getting back a great deal of Ron's time, as well as empowering the end user with VMLMAT

 

http://vmlmat.wiki.sourceforge.net

 

I am going to go out on a limb and guess that if anyone in your shop is using Linux, they started using it on a PC of some kind. Probably an X86 box like a laptop or desktop. If Linux was studied in school for something like a compiler of OS architecture course, it was probably taught on small, desktop class gear. Point being, they are used to having control of their system.

 

In a small development group there is probably a re-purposed PC or small rack mounted server or a VMware Virtual Machine, and everyone accesses the Linux server via X or SSH from the Linux laptop or desktop in their office. Someone wants to reboot, they send out an email, IM, twitter, or just shout up and down the hall that the server is going down.

 

The traditional MF shop is the opposite of this. It only makes sense: the MF is too expensive to not have it be centrally managed. I often think that ITIL was developed by people that had MF background because a large number of the disciplines it discussed are things we had to do in the MF world long before they had formal names. Change Control for example: You make a change to the MF, you have the potential to blow up a whole bunch of people or a whole lot of batch work, all at one time. This tends to make people grumpy.

 

As one who has lived in both worlds, I have seen the culture shock of someone coming from the small Linux platform to the MF. Something like: "What do you mean I have to call the data center to get my VM recycled. Are you nuts? Just get me a 1U server and let me control it. I don't need these people in my way!" It is just not intuitive that they should not have control of their own Linux, unless it is the production web / app server or something. There is a sense of ownership: That is my Linux server.

 

This is compounded of course by the fact that with the general Hossness (TM) of the MF and the best OS on the planet, z/VM, there can be hundreds of Linux VM's. Thousands even. Now we get a real clash of cultures (the folks who want to own their compute resources vs. the central data center), and a real stress on time and resources (all the behind the scenes work it takes to keep the shop running and up to date vs. being responsive to the end user). If one runs this Linux shop the way that the MF has done it in the past, then a system programmer makes all the changes to the guest operating systems, and a system operator brings up and shuts down the same Guest OS's and the "owner" just uses it for whatever they need to do. And oddly, no one is happy.

 

  • The Sysprog or Sysprog team is/are stress cadets because      someone forgot to add more hours to the day to do all the work.

  • The Operators are really really tired of all the reboot phone      calls and emails and equally unhappy when they get a complaint that      the reboot did not happen in five minutes, even though they were      running backups over on MVS and mounting a tape, retrieving an      archive from the vault, or something similar at the time.

  • The end user is not happy because this is not nearly as good      as if they just had their own computer. They could install what they      wanted when they wanted and reboot all day long and no one would say      anything about it.

 

Part of the problem here is that, for the most part and to the end user, Linux is Linux regardless of the platform it is running on. If it does not look different, why must their behavior towards it be different.


Why Indeed?

 

VMLMAT solves this culture clash by returning control of the individual Linux VM's to the end user that "owns" them. It is not the exact same thing as having a physical big red button, or the server tucked under the desk, but via a standards compliant, any browser should work, web page they can shutdown, restart, or rebuild their Linux to any version of Linux in the repository. This is something like Vmware's VI Client, except that it adds provisioning to the mix, and where Vmware has snapshots, VMLMAT has archives. Not the same thing, though they can function in the same role more or less. Now the Operators are focused on the things that need their physical presence, the sysprogs are working on more technical things, such as putting the latest version of Linux into the archive so that all can benefit from it.

 

Install once, run many (tm).

 

And of course, the reboots are happening right when they are requested. Everyone is much happier

 

VMLMAT takes the paradigm of real machine ownership a bit further: In the real world, one person may have several Linux machines, or a group or people working together might have just one... or a group of people have a group of machines. In database-speak, it is a one to many, many to one, or many to many relationship. VMLMAT implements this so that there can be individual machine ownership, or group machine ownership, except that the 'machine(s)' is/are really Linux Virtual Machine(s).

 

The time saving are real too: Ron noted in his "Beyond Linux Cloning..." post that VMLMAT returned 30 hours a week to his time. Time that he used to spend working on tickets for the users to make various changes to their Linux VM's to match their current requirements he got back, plus now the end user was not waiting on him to have time to get to their tickets either. Everyone was more productive. A huge win-win.

 

Our savings may be a bit overstated: We are an R&D environment, and we make changes all the time. We have test versions and test versions and test versions. We need something at base level, another with a particular set of patches installed, another with a different set of patches, another totally bleeding edge current, plus Alphas and Betas... Still, I think that the savings are there for everyone.

| More
0 Comments Permalink
VMLMAT (http://vmlmat.wiki.sourceforge.net/) comes in handy for something it was never originally intended for

I assume any reader of a technical blog has come across the "Law of Unintended Consequences". A decision, or path that leads to unexpected places. It usually has negative connotations, as in

 

"We (the generic we) decided not to spend any money on a new firewall, and with our savings we fought off a series of virus and malware incursions that cost us 100 times what the new firewall would have"

 

or

 

"We (still the generic we) designed the car to be light weight so it would get good fuel economy, and with the money we saved by not using higher strength materials we paid for all the lawsuits we were served with when it turned out the cars fold up like lawn chairs when hit by a Vespa.".

 

There are lessor and greater examples of the law than this, and I totally made those two up (although I am willing to bet my first example has happened someplace to someone). The law is well known though: It has a Wikipedia entry even, and as noted there, when there is an upside to the law, it is called a serendipity or a windfall. VMLMAT provided us with a windfall recently.


Rote Work

 

Computers are supposed to help us out with repetitive tasks. That is what they are good at, and we... at least I.. am not.

 

We had a situation not that long ago where we were re-doing some internal TCP/IP addresses, and all the Linux guest on the mainframe needed to have new IP addresses and new subnets. We were going to have to go manually through over 100 VM guests and change their IP settings.

 

The chances for error were high, and boredom even higher. Ron and I talked about it, and a little light went on for us. VMLMAT could be made to do this in very short order. Not only was it Open Source, it was *our* Open Source. VMLMAT had been written to be easy to extend. Ron thought he could add the feature in a fraction of what it would take to re-IP all the VM's manually.

 

The secret sauce was in the module Ron had already written that preserves  the TCP/IP identity of each Virtual Machine, regardless of which actual version of Linux was running at the time. VMLMAT had allowed us to treat VM's Virtual machines more like they were group or personally owned assets. Once we had set up the VM in the directory, VMLMAT updated to know whose VM this was, then we were pretty much done. The end user, or group of people could go into the web page and make the virtual machine into any version of Linux in our archive. No matter what they did, the identity code would chain through all the right places and set up the new Linux VM as having the same IP address, Subnet, Default Route, and DNS settings as it did before it was changed.

 

Since VMLMAT could do that, why couldn't we slightly change it so that it could be handed a list of VM names, IP addresses, and Subnets, and have it chain through *all* the guests, and reset them to the new IP? This module already knows all the different places the information is kept for each distro, so all it had to do was detect the distro, change the IP to the *new* one, and then run on to the next VM. VMLMAT could do in minutes what would take us days to do by hand.

 

And so it came to pass that we could schedule one short outage, pull the trigger on the re-IP mod, and be done. No mistakes. No long outages. R&D went home Friday night and their VM's had one IP address, came back Monday and they had another, and never knew anything had changed.

VMLMAT already had the habit of returning over 80% of Ron's time versus pre-VMLMAT days.

 

This was a bonus.

 

UPDATE: Ron has now posted an in depth look at the re-IP module over in his blog:  Open for Mainframe. Have a look!

| More
0 Comments Permalink