need advice on AIX virtualization

Hi all,

first of all, beg your pardon for dummy questions. Please help me to sort it out.

I'm an internal consultant in a technology unit, and currently we are relocating some applications to another Data Center. In the old Data Center, applications are running on IBM AIX, mostly AIX 5.3. The IT team is saying that all these applications are virtualized.

We want to buy new servers in another Data Center for these applications. AIX 5.3 is already end of marketing, i.e. we cannot buy a new server with AIX 5.3. My IT department is saying that this means that we necessarily need to hire system integrators to migrate applications to AIX 6. That is quite expensive.

I don't quite understand their statement. I thought that if application is virtualized, you don't really care what is the version of the host OS. I.e. we can buy a new server with AIX 6.0 for the new Data Center and still run AIX 5.3 on it as a guest OS, without migrating the application.

Please let me know where the truth is. Many thanks!

I guess you need more info :
What are those "virtualized application" ? which version ?
Virtualized with which tool/version ?
Did you contact the editor of your application that run in the virtualized environnement so you can check if it has some compatibility limitations or specific hardware/architecture requirements you should meet before planning the relocation ?
(this may give some clue about which kind of target system you should buy and install)

IBM / AIX virtualisation means more than you are assuming. In the true virtualised environment a system will have a pair (or quad) Virtual I/O servers (VIO server). This effectively virtualises the network, SCSI (Fibre NPIV), and HDD.

The VIO servers are themselves LPARs on a P series frame but not of a normal type. Once the VIO servers have been created further LPARs can be created on the frame using the virtual I/O devices provided by the VIO server. This includes VIO provided paths to external disks or virtualised logical volumes on the VIO disk subsystem to provide Hard Disk Drives for LPAR use (rootvg etc).

Once the LPAR has been created it is loaded with an O/S. This can be AIX, Linux, or in special circumstances iseries (AS400). Restricting this example to AIX the LPAR can have a number of different versions of AIX up to and including AIX 7.1.

Therefore your assumption that 5.3 cannot be loaded onto an LPAR is incorrect. Equally incorrect is your assumption that you cannot purchase a new server loaded with AIX 5.3. The P series is delivered unconfigured with a number of processors, memory etc. Once installed the LPAR configuration takes place as I have indicated above. Also any application will run on an LPAR and have no knowledge of the fact that it is a virtualised environment. If your applications are not AIX 6.1 compatible then your LPARs in the new data centre will have to AIX 5.3.

You need to find out what the VIO environment is on the old servers and see if this can be replecated in the new data centre.

I hope this helps.

1 Like

Very helpful, thank you indeed!!!

So you are saying that to run my AIX 5.3-compatible applications on a new AIX 6.1 server it suffices to configure my LPARs on a new server to AIX 5.3. I don't need to call system integrators to recompile the application to work on AIX 6.1. Did I get it right?

But, then, why does it matter what VIO environment is on my old server?

So you are saying that to run my AIX 5.3-compatible applications on a new AIX 6.1 server it suffices to configure my LPARs on a new server to AIX 5.3.

Not exactly. What I was saying is an LPAR can be configured to use earlier versions of AIX. I am not sure just how far back you can go with Power 6 (7) equipment but I believe it is 5.2 (I could be wrong and you might be able to go back further to 5.1 perhaps). Conversely I seem to remember reading that AIX 5.3 TL12 was the only version which would run on a Power 7 machine. Also TL12 is the last TL upgrade for AIX 5.3 however there might be a few service pack releases but that is all. The problem with applications is well known in the industry that they do not fit in well with newer versions of the underlying O/S.

Just think of an LPAR as a blank canvas.

The only reason I put in that footnote is for you to make sure it is an overall AIX 5.3 environment.

1 Like

I would like to expand a bit on what johnf has already explained, maybe we can sort it out this way:

If we talk about virtualisation we usually understand it the way it is done in i.e. Linux: you start with a (physical) machine, where you install some OS. In this OS you start some program, which emulates a some virtual hardware. On this hardware you install another OS and start an application on top of that.

With this picture in mind you probably asked why the OS of the system matters - you could run, say, CentOS 5 in the physical system, start VMWare in it and run CentOS 4 as a "guest system".

Virtualization in p-Series systems is different from that concept, because the base OS (which would run on the physical machine above) and the emulation program are missing - their functions are done in the systems hardware directly. A p-Series system is a big box with a lot of processors, memory, adapters and disks. There is also a small system connected to this box which manages it. This is called a "Hardware Management Console" or HMC. In the HMC (a small and highly customized Linux system) you select a certain number of resources - processors, memory, adapters, .... - and give this to a "LPAR": a "Logical PARtition", which is a definition of a virtual machine. This virtual machine can be booted, installed, shut down, like a physical system.

When this system was invented by IBM roughly 10 years ago it quickly transpired that there are some sorts of resources which are hard to manage: if you give each system a disk (which it needs to boot) you have to install a lot of disks in your big box - and the same is true for network adapters. Especially so, because these two types of resources are limiting factors: every machine has to have at least one disk to boot from and a network adapter to communicate with the world outside. Either you install some spare adapters and disks or you can't just create and fire up another LPAR when you need one.

This is why they invented "VIOS", the "Virtual I/O Server". This is a special kind of LPAR, which gets all the physical disks and network adapters in the big box. Additionally the VIOS usually get some FC adapter(s) to attach big LUNs from a SAN storage. The VIOS runs some special application which creates virtual network adapters (via the physical ones) and virtual disks (on this SAN storage), which it dedicates to other LPARs. The only physical disks inside the p-Series necessary are the disks the VIOS(es) need to boot from, every other LPAR boots from a "virtual disk", which is a file on the VIOS - quite like the "disk" of a VMWare virtual machine is a file on its hosts filesystem.

If you want to fire up a new LPAR you just create a boot disk and a virtual network adapter on the VIOS, use the HMC to create a LPAR definition where you dedicate (along with memory and processors, which are still real) this virtual disk and virtual network adapter to it and then install it like a normal system. The whole system is booted by first booting the big box itself, then start up the VIOS(es) (there can be several for high-availablility purposes), then start up all the other LPARs.

(If you have questions about this just ask - i have tried to explain it in the most non-technical terms possible, which neither means the concept is easy to understand nor is the explanation rich on details.)

To answer your questions: Yes, you can install AIX 5.3 in LPARs in even the newest p-Series systems you can buy. These systems come without any preinstalled OS anyway because they are in most cases used not as a whole (this would be possible, but is in ractice never done) but as hosts for an indefinite number of LPARs anyway.

You may even - depending on some details in your environment i don't know - be able to "live-migrate" your LPARs from one system to another, which means as much as moving them from one big box to another big box without even shutting them down, complete with their LPAR definitions, their disk resources, network resources, etc..

This does not necessarily mean that it is a wise idea to stay with AIX 5.3 - but neither does it mean it is a wise idea to migrate to 6.x! What is the best here depends on a lot of details nobody can decide over an internet forum. Talk with your technicians and if they are worth their money then stick with their advice.

On one hand AIX 5.3 was by a wide margin the best AIX since 4.3.3 and it will surely be around for several years from now, even if it is not marketed any more by IBM. There will be fixes for a long time to come and the installed base is very big.

On the other hand 6.1 is not bad (and a lot more stable than i.e. 5.1 was) and offers abilities in the virtualisation department that 5.3 lacks. It will also be a lot longer around than 5.3.

I hope this helps.

bakunin

2 Likes

If you have 2 rootdisks and maybe a uat or test or dev system running your applications, do an alt_disk_install (clone the system), try to test-migrate on the existing hardware to 6.1 and see how your applications deal with this change. In our environment we have updated a huge amount of systems running all kinds of applications from AIX 5.2/5.3 to 6.1 and only one application had issues with 6.1 and required a reinstallation on the new platform to run properly.
AIX usually does a pretty good job in being downwards compatible so you might be lucky ...
Regards
zxmaus

1 Like

Gozillion thanks, it's impossible to overestimate the luck of meeting real experts who can explain things in a simple language. God bless this forum :slight_smile:

May I ask couple more questions on this:

Clear now. I can guess that productivity of p-Series-type virtualization is better, since there are less layers of software.

But what are the drawbacks of p-Series-type virtualization? What are there things that first type of virtualization can do, but p-Series type of virtualization cannot do?

Hmm... You're saying that I can (in principle) move my app (and its LPAR) from box to box easily. And can I (again, in principle) at all decouple my app and my boxes? I.e. have a bunch of IBM boxes and some "hyper-LPAR" that aggregates all of them into one big machine? And my app that runs on that "hyper-LPAR" and doesn't really care whether it in reality executed on box A, box B, or even both boxes A and B? Do people do that?

Thx again

---------- Post updated at 02:39 PM ---------- Previous update was at 02:38 PM ----------

Thanks, I'll check with IT team. That's a super hint!

But what are the drawbacks of p-Series-type virtualization? What are there things that first type of virtualization can do, but p-Series type of virtualization cannot do?

The only drawback for IBM virtualisation would be if you are running an emormous Oracle database. This LPAR could benefit from dedicated fibre adapters to connect to its own external storage. However the industry standard now is to provide 4 VIO servers per frame. These are further split into one pair providing networks and the other pair providing storage. The use of NPIV (Virtualised Fibre Adapters) also helps with the write and read latency.

I feel you should stop thinking of the AIX environment as a virtualised system along the same lines as a VMWARE system residing on host system. The IBM virtualised system is a large number of seperate AIX machines sharing CPU and memory resources with I/O being supplied via the VIO server.

Also what ZXMAUS has said is quite acceptable but even if you are dealing with a lowly P520 (P720) you would have enough power available to build two VIO servers and a couple of LPARs. One LPAR could provide your running production environment with AIX 5.3 and you apps installed. With the second LPAR having either AIX 6.1 or 7.1 installed as a development system to check the stability of the APP in the newer environment. Neither system would know or interfere with the other!

Hmm... You're saying that I can (in principle) move my app (and its LPAR) from box to box easily. And can I (again, in principle) at all decouple my app and my boxes? I.e. have a bunch of IBM boxes and some "hyper-LPAR" that aggregates all of them into one big machine? And my app that runs on that "hyper-LPAR" and doesn't really care whether it in reality executed on box A, box B, or even both boxes A and B? Do people do that?

Why would you want to? How will it share resources? AIX 6.1 and 7.1 both support "Live LPAR Mobility" which enables an LPAR to be moved to another LPAR in a frame, or between two different frames. There is really no such thing as a "hyper-LPAR". The only thing which would allow what you are describing is HACMP or Veritas Cluster Manager (VCM).

Many thanks - a consultant actually listening to what technicians have to say is balm on the tortured soul of the latter. ;-))

This is a bit tough to explain: basically there are two concepts of virtualization, called "full virtualization" and "para-virtualization". What i have described in my last post as "Linux-type virtualization" is in fact "full virtualization": The OS of the virtual machine is not aware that it is virtual at all. If, for example, the disk driver has to write some data to the disk it would write to the standard interfaces like there would be a real disk. Only then the underlying program in the host OS would intercept this, decode it, then create some real disk operation out of it and execute that. In "para-virtualization" the disk driver "knows" that it is only virtual and therefore would do a lot less, skipping tasks a real disk driver would do (because this would be done by the real driver anyways).

Paravirtualization is virtualization with virtual systems which are aware of their virtuality status. It is obvious that paravirtualization needs a lot less reources, hence is "more productive" than full virtualization - the "price" being that you need these paravirtualized software layers (network drivers, disk drivers, filesystem layers, etc.).

To come back to your question: the "drawback" of p-Series virtualization is its limited scope: you can only have AIX or Linux as OS of an LPAR. Compare this to VMWare, where you have *some* host OS (Windows, Linux, ....) and some (or even several) guest OS(es): Linux, Windows, BSD, ....

On the other hand there are paravirtualized environments in Linux too: OpenVZ, for instance, kvm (which is in parts paravirtualized), ... What exactly the "performance per unit of money" is in these systems is hard to tell - when you calculate the TCO of a system in the data center there are so many aspects - hardware cost, power consumption, footprint (space is a limited resource in data centers), service level of hardware support, etc., etc.. - that "virtual systems served per processor" or something such only plays a very limited role.

In fact this was one of the expressed goals of this system. It is called "Live Partition Mobility" (you can google this term) and there is an IBM redbook about it, in case you are interested in the gory technical details:

RedBook on Live Partition Mobility

Not that way, but the other way round: You have a big box A with LPARs A1, A2, A3, ... A10 and a big box B with LPARs B1, B2, ... B10. You can (if resources allow this) now move partition B1 so that its definition (the part on the HMC which says how much memory, processors, ...) is transferred, the running system is also transferred to box A and - this is the real clou ! - even the virtual disks and network adapters, which were served by the VIOS on box B are transferred to the VIOS on box A. All this can be done while the B1 system is running and under load.

There are a few considerations for the procurement of hardware though: to be real flexible you need as big systems as possible, because you can divide and distribute your resources inside but not outside. If you want to create an LPAR with 10G of memory but have 5G left in box A and another 5 in box B you are stuck. This means instead of many small you better have few big systems for maximum flexibility.

(Corollary: this is why Blade Centers are a real bad idea when you want to do virtualization - you better use 3 p570-(p770)-systems instead of 3 Bladecenters full of small units.)

On the other hand, every hardware breaks sometimes. That means you have to choose your hardware small enough that you can easily make one free so that you can perform maintenance on it. If you have only two very big boxes they will have to be big enough to take all the LPARs from the other one once you do maintenance on one of them and making them double as big as necessary can be costly. If you have 10 smaller boxes instead it is a lot easier to make one free to undergo maintenance, because its LPARs can be distributed over the remaining 9.

I hope this helps.

bakunin

Thanks a lot, colleagues! Greatly appreciated.