Aug 31 2010

Creating a Virtual Test Lab

Virtualization eases management for IT staff while limiting disruptions to users.

Regardless of an organization’s size, user base or area of responsibility, IT administrators know that service to users accounts for a significant part of their daily routine.

The typical to-do list for any network team should always include user considerations along with overall system needs. From simple user issues to complicated enterprise implementations, the needs of the users should be part of project planning.

Using virtualization software in a test lab provides an excellent way to avoid disruptions to users during an IT project. A virtual operating system can offer foresight into possible bugs and gives developers time to correct them before users ever become aware of them. Creating an environment where software can be tested in an isolated setting, separate from the organization’s infrastructure, gives system engineers a powerful tool to increase network uptime and overall user confidence.

CPU Hardware Support

When creating a virtual test lab, the most important factor is hardware support in the CPU. In the past, buying the most powerful processor enabled the use of any software, but this is no longer the case, as running virtual OSes creates a much heavier load on computers. Therefore, it is important that the CPU supports either Intel’s VT or AMD’s V virtualization technology to ensure the most seamless virtual experience.

These technologies provide on-chip hardware that will run the virtual OS directly within the processor, instead of it being powered by software emulation. With this in place, a user can see the virtual software at the native speed it was designed and not be hampered by slow response times from the CPU. Also, when using on-chip resources, the CPU is free to compute other tasks while running the virtual OS.

Multiple Systems, One Machine

When implementing a new virtual lab, remember that several operating systems can be installed and booted concurrently on a single machine. This makes it possible to create not just a single test platform but an entire network with which to test larger rollouts. Make sure to allow roughly 20 gigabytes of space per OS, but bear in mind this will vary depending on the chosen software. Microsoft Windows takes the most space; Linux software takes much less.

To run multiple instances on the same machine, install as much RAM as the system configuration will allow. Although all virtualization programs allow the tweaking of RAM usage, a good rule of thumb is to use 1GB per OS and 2GB for virtual server installs. Give thought to the use of powerful graphics hardware if you expect to virtualize computer-aided design or other 3D applications.

Choosing a Virtual Software

The market consists of several virtualization software platforms, but the most common are Microsoft Hyper-V, VMware Server, Citrix XenDesktop and Sun Microsystems VirtualBox. All offer a robust set of features to match nearly every scenario, but look deeper to find the best fit for your particular environment.

Your considerations should include expansive USB support for the possible peripherals a lab might need to use during testing, and 3D support for advanced graphics work, which is not supported by every virtual software. Cost alters the landscape of software options: A handful are open-source and free; others can be expensive. On the other hand, the purchased software always comes with the support of a capable team of experts. Open-source leave sysadmins fending for themselves.

Image Management

Once hardware is in place and virtual OSes are installed, you will need to understand virtual image management. The ability to boot several images at once is one of several tools engineers now have available.

The first is an option to save a snapshot of the entire OS before any testing is started. A snapshot is a copy of the image file, in its exact running state, that can be set aside for later retrieval if an error creates an unusable system.

In addition, if multiple users are involved in testing, an image file can be saved to a network location or USB device and passed between systems, which preserves continuity of the test environment.

Virtual Server Advantages

When a server is used as a virtualization platform, systems gain an enormous level of stability. Why? Because virtualizing a server provides instant redundancy. Quite often, a duplicate is made of the primary OS and set as a backup. In the event of a system fault on the primary OS, the secondary can be set to instantly take over the duties of your users — eliminating any user disruption. The primary OS can be repaired, or even rebuilt, and brought back online without the user being alerted to any changes.

Additionally, when server hardware runs virtual systems, there are significant cost savings. One server can conceivably run four to eight server software installs, so only one powerful server might be needed to support a test lab for an entire organization. This also reduces your carbon footprint.

Why a Test Lab?

First and foremost, any test environment makes it possible for network engineers to offer users a trouble-free computing experience. What’s more, testing software thoroughly extends uptime and creates a more stable network. Software can be tested, bugs can be resolved and rollout procedures can be created without ever changing the enterprise network. New software installs bring with them a certain level of unpredictability that worries even the most confident IT administrator, but with a virtualization lab in place, each new application can be tested and retested until every last issue is resolved.