stacks_image_82DC3C4A-4995-4901-AE75-F267FD78FB87
Parallels Virtualization Technology. The perfect solution for existing infrastructures without added hardware.

Virtualization technology has been around on the Windows, Linux, and UNIX side for many years. To a point it was also available on Mac OS X running under the Power PC (PPC) chipsets with Virtual PC. A company which a few years ago was purchased by Microsoft for its virtual technology. This purchase caused the dis-assembly of the Mac based solution in order for them to concentrate on their Windows centric solution.

With the switch from the PPC chipsets over to Intels X86 based solutions, new doors werre opened up for the Mac platform. Faster more robust chips, 32 and 64 bit CPU's, better energy consumption when running mobile based units, and better newer EFI based firmware. Along with all of these improvements by moving to the Intel platform, it also opened up the doors to virtualization, from companies such as SUN Microsystems, VM Ware, and Parallels. We will focus on Parallels server within this article as they are currently the only vendor who provides native Mac OS X Server support to run their hypervisor on top of Xserve based hardware.

The first question to ask is "why virtualize?"
Any number of reasons exist for virtualizing different Operating Systems. Perhaps you want to demote an older server but want to keep it online for access. Perhaps you have a requirement to test a new server in a non production environment and spending 3K or more on a new unit is not an option. In order to help reduce overall costs, virtualization is one step in which a company can add in more server as needed without adding in physical hardware. This helps to lower energy consumption, spending capital and increases return on investment.

The second question to ask is "what operating systems can I virtualize?"
That depends on the host operating system. In the case of Parallels server, there are 3 different variants. The first one allows you to run the virtualization software under various blends of Linux. With this setup, you can setup and deploy many different types of Linux, Unix, and Windows based servers within virtual machines.

The second type of virutalization comes in the form of a WIndows host application. With this setup, you can deploy many different types of Linux, Unix, and Windows based servers within virtual machines.

Thei third type of virtualization, and the newest to the market comes in the form of Parallels Server for Mac. This allows you to deploy many different types of Linux, Unix, Windows, and Mac OS X Server. This is the only solution in the world which not only allows you to virtualize all the existing hosts as previously mentioned, but it is currently the only one which allows you to virtualize Mac OS X Server (both Leopard and Snow Leopard). This is able to be virtualized because of the EULA from Apple which states that only Mac OS based hardware can virtualize Mac OS X Servers. This solution offers the most choice for IT administrators as it allows them to run a host built on top of UNIX, but also virtualize that hosts Operating System within a virtual environment.
stacks_image_0CE3F172-9D20-407E-8DE6-AE528090B3EF
To the right you will see an example of how a virtualized environment might look. We can see that the host server is loaded up with a fairly powerful CPU and RAM set, with an internal RAID 5 storage system for redundancy and better read / writes that software based RAIDS.

To further enhance this type of solution to enable host sharing of virtual containers should a host fail or go offline, you could add in an XSAN based back end to host all the virtual environments on. In cases where one host has to come down for maintainence, upgrades, or has physically failed, its easy to repoint and start up the virtual environment on a new host.

With the Parallels Hypervisor running inbetween the Host OS and the virtual environments, you are given the options of how much RAM you wish to allocate to the entire virtual environment, as well as how much RAM you wish to allocate to each virtual instance of an Operating System.
A virtual environment, which might only act as a primary or secondary domain name server, might only need to have 512 MB of RAM allocated for them to run effiiciently, while another server acting as a mail, calendaring, and address book server might require much more RAM in order for services to run effectively.

Through the Management Console, you can see which virtual machines are running, what operating system they are running, how much memory and CPU they are using up, and the hosts main system information.
stacks_image_637E0E10-8232-403B-8423-B64A9752C891
stacks_image_FF9060AE-D4A4-4D0D-BDD4-4F21B0F73012

Once inside the management console, you can edit the hosts settings. This will allow you to manage a few different options within the host, one of those being Memory management so that you can allocate only "X" amount of memory to be used for the hypervisor and not reduce the hosts overall RAM.

If however, the host server has ample amounts of RAM, managing this specific feature should not be required as the memory management within Mac OS X Server is very effective.

Other features include the Parallels management IP address setup, automatic login to the console at launch time from a workstation or server, the servers name based on either the FQDN of the server or a custom name to help identify the server, and the security and compression level which the application runs under.