Virtualization Basics Part 4

Server Consolidation for Industrial Automation

Anyone considering virtualizing their Industrial Automation system needs to first look at the Servers and follow a similar process that one would use for standard commercial systems.  There are some special considerations for the Industrial user however, as well as some special benefits along the way.  The following are some simple steps that are needed, and some elements of guidance for the Industrial Automation user.  Use these in conjunction with other tools and processes that are available from many sources.  One good source is  Using these suggestions you should be able to make your Server Virtualization and Consolidation project flow smoothly.


The first step is to collect data and this will likely take the most time.  You need to take a complete inventory of what you have now for both hardware and software.  The hardware detail needs to include the specifics for the CPU, RAM, HDD size and controller, and the make and model for the NIC(s).  Software details should include specifics regarding versions, node name requirements, license file information, database needs, and any direct ties to hardware.
In the typical Industrial Automation system, you will likely come across older non-Ethernet PLC’s, flowmeter’s, or other data and control devices that may require some special communication cards.  In some cases this may mean that it is not possible to virtualize some elements of the system. These details require noting during the data collection phase.

Another element of software data collection is the current system’s performance levels.  Make note of the current CPU and RAM specifications and utilization.  You may want to run some Performance Monitor logs over the course of a few weeks, or even months, in order to gather enough data to reliably understand the system’s needs.

The collected data should help to define the roles of the servers.  You will want to put this data into some table-like form in order to easily catalogue and sort all of the collected information.  While the processes and data collection styles used by commercial users might be helpful, the number of devices under review is typically much smaller for an Industrial Automation system.  Given the smaller system size,  a simple spreadsheet with rows and columns will likely suffice for the collection media.  For the performance data, you may want to plot and print out some trends that reflect the performance utilization for the period of data collection.


Evaluation of the available hardware and software requirements is the next step.  This means taking a close look at the hardware to determine which of the existing servers will be able to act as Hypervisor or Host systems.  These systems need to have certain performance capabilities and need to have the right individual components supported by your Hypervisor.  The CPU, HDD controller, and NIC are usually the most crucial components for support.  Your Hypervisor vendor should not only be able to provide you a list of supported hardware, but also some level of performance expectations for the particular CPU and RAM configurations.

If your servers are newer they are likely underutilized. You may be able to simply add RAM and/or storage and have a device that can host multiple Virtual Machines.  During this evaluation phase, you can determine which of your hardware boxes are usable, and what improvements they might require to get them to the proper performance level for your system needs.

The other evaluation piece is to determine software needs.  The responsible Industrial Automation software vendors out there are onboard with the virtualization trend and provide information regarding the type, speed, and number of CPU cores that allow them to work best.  However, you should take some of the performance information gathered in the data collection phase and determine the real needs of the software, plus some room for growth.  Often even the best Industrial Automation software provider will overstate the needs just to allow for the most demanding users.  The standard system is likely not taxing to the level of the vendor provided specifications.

One other element of software evaluation would be things like compatibility, dependencies, and shared space.  Does the software vendor say that it is compatible with a virtual environment?  Are the dependent software pieces such as a database, third-party driver, and third-party software capable and supported in a virtual environment?  By reading the provided literature from the vendor, or discussing your plans with their sales or support personnel, you can answer these questions.

Is it possible to put multiple pieces of software in the same Virtual Machine?  Trying to put more software into one machine is one way to increase a physical server’s utilization. This will also help your virtual server consolidation just as much.  It might also help to reduce overall complexity in the system.  In other words, as you review the entire system, do not simply try to replace individual physical machines with virtual machines.  Give the system a good overall review and use the data collected to evaluate everything in order to provide a clean and well performing system.


After getting all the information from the data collection phase, you should now be able to evaluate your current resources and system software needs.  You can now begin to build out the design of the system where you assign roles to the physical hardware, construct the setup of the individual virtual machines, and apportion the various virtual machines to specific physical machines.  The amount of work and knowledge gained prior to this step will greatly affect the amount of effort it takes to complete.  In other words, if you have gathered all the data and evaluated it properly, this step will be a very short one and could result in a one or two page document.

Your result will be a system drawing, a list of VMs to be created, the software that will be installed on the VMs, some node name and address information, a list of things that will not be virtualized, and a list of leftover or backup hardware.


Implementation involves the configuration of the hardware, the actual creation of the VMs, and bringing everything online.  As with any normal Industrial System change process, you will build this outside of your existing production environment, test it, then plan your actual cutover to the new system.  The actual steps here will be unique to your type of Industrial environment and its production requirements.

One thing to keep in mind is that once you have a virtualized system, recreating your system in a test bed type setup will be much easier.  Because the needs for the test bed are less than production, you can use a smaller number of Hypervisor devices in order to keep a running copy of the system somewhere else.

Imagine now that you need to make some change to the system.  Rather than have the old multi-machine system, or a non-complete system for testing changes, you can easily have a complete replica of what is on the plant floor.  This can be handy for any plant engineer, system integrator, or vendor when working on a support issue.  Rather than shipping around X number of physical machines, you simply ship portable hard drives with VMs on them and some basic network configuration information—it is just one more benefit to the Virtualization process.


Other than basic information on looking at what your HDD capacity and controllers are, storage needs are not discussed here.  There are several ways to implement storage in your virtual system with a wide range of capabilities, cost, and complexity.  If your system is small, I would recommend keeping it simple, and just using local storage on the Hypervisor.  If your system is larger, has a greater need for backup and recovery features, and you can afford it, you can look at some of the Fibre Channel (FC) and other network consolidated storage options.

While not discussed in this article from ACP, home of ThinManager, our recommendation is to make one or more of your virtualized servers a Terminal Server, then use those to feed your client stations.  Whether you use Terminal Services or just Virtual Workstations, ACP’s ThinManager platform will go a long way to making management of your system much easier and more feature rich than any other software solution available.

By David Gardner

Tom Jordan

V.P. of Marketing - Automation Control Products