We've been talking about the virtual data center and all the advantages it has. But how do you move from a traditional hardware-based server model to a virtual data center? Moving from a hardware-based data center to a virtual data center is done with a combination of strategy, technology, and processes.
Strategy
Once the decision is made to move toward a virtual data center, there are two strategies for making the move: containment and consolidation. In most cases, a data center moving to a virtual data center will use both strategies to eventually achieve the full benefits of being a virtual data center.
The strategy of containment is the practice of not deploying any existing applications for customers on virtual servers. Let everything that is running on the hardware-based data center keep running the same way. Pretty simple, right?
The downside of containment is that the data center won’t get any benefits from its old applications running this way. The data center will operate like two data centers, one will be virtualized, and the other will be a traditional hardware-based data center. On the one hand, if you are the data center manager, this helps with future costs of new customers and their applications, but on the other hand, you are still stuck with all the costs of running all the old applications the old way. With this strategy, it could take years before deriving all the benefits and savings of the virtual data center.
The second strategy, consolidation, is the solution for moving applications that are running in the old hardware-based data center model to the virtual data center model. The technology used in order to consolidate and convert current hardware-based servers to virtual servers is known as P2V (physical to virtual) software. VMware’s P2V is called vCenter Converter. It was developed by VMware to quickly convert local and remote physical machines into virtual machines without any downtime. Many companies develop their own version of P2V software.
The illustration below summarizes how a non-VMware data center is changed into a VMware virtual data center using vCenter Converter.
Technology
To understand what P2V software does, it’s important to understand what drivers do. Drivers are software used by computers to enable different hardware components of a computer to operate. Drivers enable communication between devices in a way similar to a translator, such as Google Translate, which renders information into a language the user is capable of understanding. Each hardware device needs a driver in order to communicate with the other computer components.
Think of it as a speaker addressing a room full of people who each speak a different language. Each listener needs an interpreter to translate what the speaker is saying into the language that they are able to understand.
If you replace the ‘speaker’ with an OS and each ‘listener’ with a computer component (hard drive, CPU, RAM, video card, printer, etc.), and each ‘interpreter’ with a driver (Label Driver A, Driver B, etc.), this should give you a visual representation of how drivers help everything communicate with each other in a server.
If a part in a server is changed, it will be necessary also to install a new driver that speaks the language of the new part, to act as its interpreter.
Changing the OS is like putting a new speaker in the room that speaks a different language from the old speaker. It will be necessary to change the interpreters (drivers) for each listener (device) to drivers that know the language of the new OS and each listener's language. P2V’s role is to make sure all the listeners can understand the speaker by matching up the speaker’s language with all the listeners’ languages.
For example, a data center that is running 100 servers all using OS A but needs to convert all the hardware-based (non-virtualized) servers to run the same applications on virtual servers using OS B would use P2V software to go through a server running on OS A and convert all the required drivers for OS B. Now, all the applications that were running on the original hardware-based server will work on the new virtual server. The new virtual server is now doing all the things the old hardware server was doing, and the end-user can’t tell the difference!
In a nutshell, P2V software performs the following actions,
- Looks at the existing hardware server and determine what size the virtual server will need to be.
- Creates the virtual server and configures it so it will work in the system correctly.
- Copies the data on the hardware server to the virtual server.
- Cleans up the virtual server image.
- Gets rid of any unnecessary applications and drivers.
- Adds any new application needed.
- Adds any new drivers that are needed.
Processes
One issue with going through old hardware servers and converting them to virtual servers is that it takes time. The more applications on the server, the more time it takes. Sometimes you can take a server offline for a while to do the conversion, but in some environments, it is not desirable to withhold user access, even temporarily, to applications.
There are two approaches to converting a hardware server to a virtual server. Each has advantages and disadvantages.
The preferred approach is called a cold conversion. To do a cold conversion, the applications on the server must be shut down in order to convert everything to the virtual server. Because all the applications are shut down, there are no changes going on while the conversion is being done. This is basically a copy of the old server being moved to the new virtual server. Although widely used, one downside to this method is that it may inconvenience some users who won’t be able to use the applications while the conversion is being done.
A hot conversion is done without shutting the applications down. End-users are happy that they can keep using the applications; however, there is a chance that changes taking place on the application during the conversion process may be lost.
Why are changes lost in the conversion process? Remember we said it takes time for the P2V software to read the old hardware server image and then convert it to the new virtual server image. If a change occurred in an application after it was read, but before it was converted to the virtual server and users were switched over to using the virtual server, those changes would be lost.
This is one reason data centers often set standard times for maintenance when users will not be able to use applications so this kind of work can be done using cold conversion. But sometimes shutting off an application from users is just not possible and, in those cases, hot conversion is the only way to make the change from a hardware-based server to a virtual server.