Parallels’ Virtuozzo 4.0 virtualisation suite boasts an improved user interface and better tools for configuring and moving workloads
Parallels Virtuozzo Containers 4.0 is a server virtualisation suite that enables applications to be installed into multiple ‘containers’ hosted by a single Windows or Linux server operating system.
Each container functions as if it were a separate instance of the host operating system, with the result that software in the containers can modify operating system parameters without affecting the host or other containers.
In contrast to hypervisor-based virtualisation systems, which require administrators to maintain and license a separate operating system for every virtual machine, the containers approach means you need maintain and license only one host operating system for each physical server. Containers also make more efficient use of hardware resources, making it possible to run about three times more applications on a system with multiple containers than would be the case using a hypervisor and multiple virtual machines.
In version 4.0, Parallels has focused on manageability, adding an improved user interface and better tools to configure workloads and move them around.
We tested Virtuozzo Containers 4.0 on a system running Windows Server 2003 Enterprise Edition. The suite is also available for servers running Linux 2.4 and 2.6 kernels.
The installation utility supports nine language options, including five European ones. The Microsoft Visual C++ Redistributable package is required and as it was not present on our host system, the installer automatically added it. Next it added the Virtuozzo virtualisation components, checked for product updates and suggested we download two hot fixes. We ticked the appropriate box and the installer downloaded and installed the updates.
It then went on to add Parallels Infrastructure Manager (PIM), before asking us to insert the Microsoft installation disk so it could add the Windows Server 2003 Application Server, Indexing Service and Networking Services components. In all, the installation took about 40 minutes on our modest lab system, and we found it remarkably easy compared with configuring many hypervisor-based systems.
Most day-to-day management of Virtuozzo will be done using the web-based PIM console, which was configured to use SSL encryption, and uses a non-standard TCP/IP port to avoid clashing with other web servers running on the host.
PIM can manage multiple host servers running Linux and Windows and servers located in local and remote datacentres. It enables administrators to perform normal management tasks such as creating, backing up and migrating containers. In tests we were able to change the amount of RAM and disk space allocated to containers, with the changes being instantly reflected in the container rather than needing a reboot to take effect. Thus, if a container ran out of disk space while installing some software, the virtual disk space allocated to it could be expanded and the installation resumed without any further interruptions.
Using PIM, containers can be migrated from one host to another without any downtime, and migration can be done over normal LAN connections and between hosts with different processors. SAN storage is not required. Containers are also fully compatible with Microsoft Cluster Services. Hosts can be clustered so that any applications running in containers are automatically failed over to another host using the active/passive mode. Containers running cluster-aware applications can also use active/active clustering to provide complete high availability.
In our tests, PIM provided the fairly common two-panel hierarchical view of our environment, and it was nicely integrated into the Windows environment. If you select physical servers and containers in the left panel, the right-hand display shows resource utilisation and various management options for that server or container, including one to open a Terminal Services Remote Desktop.
The installer also added the Parallels Management Console (PMC) locally to our host Windows server, which could be used for fine-grained server management, such as inspecting graphs of network traffic. However, this tool must be run locally on the server and cannot manage multiple systems.
PIM supports role-based access, so it could display different options depending on which person was using it. The administrator account had the complete view of four main headings in the left-hand panel, which could be expanded or collapsed as desired. The Infrastructure heading listed physical servers, which could be grouped, for example, by location and then by rack description.
The complementary Logical heading allowed the servers to be grouped, this time by arbitrary attributes, such as the host operating system, or the group of users that manages them. A Management section presented a list of administration tools, including ones for managing patches and controlling task workflow.
Finally, the Setup section has tools to configure various aspects of the Virtuozzo environment, such as licensing and network configuration. To configure our Virtuozzo environment for normal operation we needed to visit the Setup Network section to create a pool of IP addresses that could be allocated to our containers, and ensure that this range did not conflict with the address used by our server.
Both PIM and PMC have a wizard to create new containers. We used the PIM one, which asked for a name and a few other details before creating and starting a new container. We opted for a virtual network interface connected to our LAN, which was assigned an address from the pool we defined earlier. Rather than use DHCP to assign the address, it was statically assigned to a virtual network interface card in the container. This configuration should prove useful for supporting applications that reject configurations using DHCP-assigned addresses. Containers can also be connected to virtual switches that remain isolated from any physical LAN.
Next we wanted to define security settings for our container so a specific user could log into PIM and control only this container. We used the Security option from the PIM Setup section to define a new user and assign the appropriate rights. When that user subsequently logged into PIM they could see only the Infrastructure heading and our chosen container. Besides working with its own database of users, PIM can also be integrated with LDAP directories.
Although containers are based on the host operating system, they do not necessarily reflect changes made to the host. For example, user accounts that have been added to the host are not available in the container. A patch management tool can be used to control whether patches applied to the host are automatically applied to containers. The suite also comes with a migration tool to convert physical servers to containers.
Software can be installed into containers either by downloading the installation package to the container and installing it normally, or by using templates. Templates apply the same approach to applications that Virtuozzo itself takes with operating systems, enabling an application to be deployed once instead of each container having a separate instance of the code.