Modeling virtualized topologies: x86 with VMware
The present version of Rational Software Architect doesn't specifically address PowerVM. It does, however, have a Virtualization palette category with dedicated units for VMware and Xen, plus z/VM. Given that you will later be using its simple but powerful unit customization facilities to model PowerVM deployments, it makes sense to first explore how virtualization is modeled in other hardware platforms that have explicit support in Rational Software Architect.
- Create a new topology by following the same steps as before, and name it virt_topology.
- Add an LDAP Server and a Linux operating system unit, and create a hosting link between them.
Note about these instructions:
For the rest of this tutorial some details that were already previously covered will be omitted.
Figure 19. Redoing the LDAP deployment
- Rather than creating a server, as you did before, drag a VMwareESX unit from the Virtualization palette into the diagram.
Because VMware ESX is not implemented in firmware, it needs to be deployed in an x86 server, as indicated in the list of warnings for the unit. You can view the VMwareESX unit as representing the software that needs to be installed in order to provide a x86 server with an hypervisor that allows the virtualization of resources.
- Add a x86 server unit to the diagram and host the VMwareESX unit in it
Figure 20. VMware ESX hosted in an x86 server
At first glance, you could assume that this VMware ESX unit would directly host the several operating systems, but this unit doesn't have that capability. You can try it, though. If you try to create a hosting link between Linux and VMware ESX, a pop-up window will appear to allow you to create a new capability on the target. This is not what you want, but it is a useful feature to be aware of, especially for unit customization. The hypervisor doesn't directly host an operating system; it hosts a virtual image that represents the virtualized resources that can be used by a virtual server.
- Add a VMware Virtual Image to the diagram, and host it in the VMware ESX unit. For this tutorial the VMware ESX unit was given lupus as an hostname. The result should be similar to Figure 21.
Figure 21. Adding a virtual image
To better understand the concept behind virtual images, take a look at the list of Capabilities of the unit. Capabilities and requirements, with associated constraints, define most of what you need to know about any unit. Notice that it needs to be hosted on a server, as seen previously, and that it must have a member that is a server. At first, this can seen odd, because there isn't a warning sign in the unit. If you take a closer look at the Constraints tab, the lack of warning is clarified: the number of servers that must be a member of the unit is either one or zero.
It is important to note that this VMware Virtual Image unit doesn't specify operating systems as possible members, but servers, which will, in turn, host the operating system.
- Add a x86 server to the diagram and make it a member of the ESX unit by dragging and dropping this server into the VMware Virtual Image unit. Membership is always shown by displaying the member in the host. Figure 22 shows the topology up to this point.
Figure 22. Using a Virtual Image as a container
Before hosting the Linux unit in this virtual server, you will probably have noticed by now that clicking a unit also displays a small tool tip with icons, which are a sort of "quick add" entries that show what is most commonly hosted or grouped in that unit. Doing this in an x86 server shows a list of Microsoft Windows and Linux operating systems. In an IBM Power Server, it will show only AIX, and in AIX, it will display icons for users, groups, file systems, and so forth. In the VMware Virtual Image unit it will display these definitions:
- VMware Virtual SCSI Disk Definition: This represents the configuration of a virtual disk, as done by ESX, that is made available to the virtual image.
- VMware Virtual IDE Disk Definition: As above, but for an IDE disk.
- VMware Virtual Ethernet NIC Definition: represents a NIC that is made available to the virtual image
- VMware Virtual Server Snapshot: A snapshot configuration
As noted previously, these definitions represent the virtual resources that are made available to the virtual image, and thus, ultimately, to the hosted operating system. These units aren't required by the virtual image, and their use depends on the specific deployment being made and the level of detail that the topology will reflect.
Add a VMware SCSI Disk Definition and a VMware Virtual Ethernet NIC Definition to the diagram. The warnings and the Requirements indicate that they must be hosted in a VMware Virtual Server Definition, which is a capability that the existing VMware Virtual Image unit implement.
Figure 23. Adding virtual resources to an image
As you can see in Figure 23, there is an information icon in both the virtual image and the virtual NIC (hosting units always show warnings and information inherited from the units they host), which says that there is an optional requirement that isn't satisfied: the VMware Virtual NIC depends on a Layer 2 interface. Or, putting it another way: the Virtual Ethernet NIC must be backed by a physical one. This is a level of detail that falls outside of the scope of this tutorial. Please see the developerWorks article titled "Modeling virtual systems with the IBM Rational Software Architect deployment architecture tools," which is referenced in the Resources section.
You now have, in one end, an LDAP server hosted in a Linux instance, and on the other a x86 server that hosts VMware ESX, which in turn hosts a Virtual Image. This Virtual Image hosts two virtual resources (a disk and an Ethernet NIC) and has as a member a x86 server that represents the virtual ability to host operating systems.
You can now finally tie the two ends together and host the Linux instance in the x86 Server that is contained in the VMware Virtual Image. Set the hostname of the Linux instance if you haven't done so yet. All warnings disappear from the model and you should have something very similar to Figure 24.
Figure 24. Hosting Linux on the virtualized infrastructure
This sums up the main concepts behind modeling VMware virtualization deployments in Rational Software Architect, which are largely the same when using Xen instead of VMware.
The next section will show you one different approach in virtualization modeling.