Modeling virtualized topologies: System z and z/VM
You will now take a look at how virtualization is modeled in System z. The virtualization capabilities of System z were pioneering when they were introduced, and Rational Software Architect has explicit support for them. When talking about System z virtualization, it is important to note that there are several different ways to implement it, including these:
- LPAR: System z allows the creation of several LPARs, which are then managed, in terms of resources, by PR/SM.
- VM Guest: IBM® z/VM® is an operating system that has the ability to run other operating systems as guests (the typical z/VM environment uses CMS as an operating system), including another copy of z/VM.
In this section, you will deploy to a z/VM guest, because that's the most common choice when considering Linux on System z.
- Create a new topology named
systemz_topology, and recreate the LDAP server deployment in Linux:
- Add an LDAP server and a Linux operating system, and then create a hosting link between them.
- Set the root password and hostname for the Linux unit.
- Drop a System z Server from the Hardware palette category into the diagram. Clicking the warning indicator will show you that a System z server needs at least one LPAR.
- Add an LPAR, also found in the Hardware palette, to the diagram, and host it on the System Z server by creating a hosting link.
- Now add an IFL (Integrated Facility for Linux), which is a dedicated CPU for Linux, to the LPAR. You can easily perform this action by clicking in the LPAR unit.
- When a toolbar appears, select the icon that depicts a CPU with a penguin. The LPAR contains a warning (Figure 25), because an LPAR with an IFL must directly host either Linux or z/VM.
Figure 25. An LPAR with an IFL has specific requirements
- Click the warning icon and select the existing warning.
- Double-click the Host "ZVM" on LPAR "LPAR" action proposed.
Figure 25 shows the final result of the actions taken up to this point.
Figure 26. Hosting a z/VM instance
The IFL that was previously added to the LPAR shows an information icon, because an IFL can optionally be hosted in System z server.
- Click the information icon of the IFL, select the Unit (IFL) may be optionally hosted () entry, and double-click the Host "IFL" on "System z Server" action proposed. This relation represents the fact that the IFL is physically present in the System z server but attributed to the LPAR.
Notice the difference between the arrows that represent the relationship between the host and the contained unit. In the System z Server, the IFL is hosted; whereas, in the LPAR, the IFL is a member.
If you try to host the Linux instance in the created z/VM unit, it will not work. Just like in the VMware scenario, you need an intermediate layer that indicates that the operating system is running in a virtual image, not directly from the z/VM instance.
- Drag the z/VM guest unit from the Virtualization palette and into the diagram (or use the z/VM unit toolbar, as previously shown) and host it in the z/VM unit.
You are now ready to host the Linux instance. Link the Linux unit to the z/VM Guest to create a hosting relationship.
Figure 27. Linux on z/VM hosting error
You will notice that, as in Figure 29, the hosting link has a warning. Clicking on it will reveal that the Linux unit you have been using can't be deployed to z/VM.
Figure 28. Hosting error details
There are several different ways to solve this, and some of them are provided by the warning dialog. The most direct approach is to use an appropriate template. Instead of Linux, which is x86 specific, use z/Linux, that can be found on the System z stack in the Operating Systems palette drawer.
One alternative that you will use in this tutorial, to show how units can be customized, involves removing constraints. Because Linux runs on pretty much everything (especially true if you consider the available CPU architectures in Rational Software Architect), you will just remove the constraint associated with the hosting requirement of the Linux unit. Select the Linux unit and go to the Requirements tab of the Properties unit. Select the Server requirement and, in the content area to the right, select the Constraints tab (Figure 29).
There is one constraint listed, cpuArchitecture = intel. Select and remove it by clicking on the red cross above it.
Figure 29. Removing a constraint
This immediately removes the warning and the model is error-free, as shown in Figure 30.
Figure 30. The final model without any warnings
This Linux unit you created is generic in terms of hardware hosting requirements. Another option would be to merely change the constraint to make it require a System z architecture, in which case we would have created a unit very similar to the standard z/Linux one. In the next sections we will see how this kind of customised units can be added to the palette.
Notice that with System z you didn't use any Virtual Disk or NIC definitions. In Rational Software Architect System z virtualization doesn't use them, but in turn there is fine-grained support for different CPUs (CP, IFL, ZiP, and so forth) and how they are hosted and used.
In the next sections you will start developing you own virtualization approach.