Virtualization !! Great idea !!
Well, its been a while this virtualization technology has been out.
Its stable, and i never had problems with it.
I’m running on IBM x346 fully loaded. Yup, RAM and Hard drive pushed to the max.
In the initial deployment, i had wanted to purchase several of these boxes and use them without virtualization. Well, i did buy about 6 of them and a few other machines. Total costs was about half a million (Can’t remember the actual pricing, i didn’t pay for it. My office did. <grin>)
I had to deploy 6 different servers for different services. I bought these servers about a year back. After the servers arrived, it was time to start loading the OS. I thought i might want to try to use Virtualization.
So i commenced an initial study of the services that i need to provide and i came up with this all in the name of better utilization without degradation in service performance.
How did i achieve utilization with tolerable performance degrade without spending too much money?
Make a list of the services’ activities
1. List out all the services that you want to virtulize (I assume 1 service is 1 server).
2. For each of the server, list out the time where the service is expected to be in full swing (full utilization, aka peak period).
3. For each of the server, list out the time where the service is expected to do virtually nothing (low utilization, aka lull period).
Pair the services up
1. Pair up the services. Pair a peak period service with a lull period service.
eg. An intranet service that runs high utilized during the day, pairs up with a backup server that is lowly/not utilized during the day.
eg. You could also pair up an intranet server that has high utilization during the day, and a print server that is lowly utilized.
The main objective of this is to avoid putting two high utilization services on the same physical server. But even if you do, you can use Virtual Server 2005 to manage and balance the CPU utilization between the 2 services. So its not really an issue, but its good to avoid.
Fine tune these services
1. You can use the Server Manager site to manage the CPU utilization of each of the Virtual Machines. Tune it such that they do not contend with each other. Even if you don’t fine tune, Virtual Server does a pretty good job balancing the performance.
2. Observe the services that you deploy for a few weeks, making notes of performance and utilization. If services are paired and deployed properly, they will not content with each other for resources.
The Big Advantage
1. If you’re using Windows Server 2003 R2 Enterprise, and using Virtual Server 2005 R2 Enterprise, you are allowed to run another 4 Virtual Machines on the server without having to pay for licenses and stay legal.
2. If the physical server encounters hardware problems that impairs performance, you can move the Virtual machine to another physical server quickly and restore service. (It happened once on me, and i was able to freeze the virtual machine, copy to another physical server of different HAL over my GE network, it was up and running in minutes.) I don’t think repairing and restoring the service is this fast. 🙂
3. I didn’t have to pay for additional hardware which i will not utilized well over the 24 hours cycle in a day.
Yup, i did buy the 6 servers in the end, but only deployed 3 of them to house the 6 services i need to provide. No one complained about performance. They were surprised that these machines was virtual servers. They discovered when one of the physical machine had a problem and cannot be brought up in time, i restored services in minutes and i reported hardware problem. They were saying, "Wah, IBM engineers on site standby with hardware?!?!." I said "No, My Virtual Servers did the job and the server is still down."
But IBM engineers did do a good service. They were down the very afternoon to rectify and fault after i reported a hardware failure in the morning. 🙂 A pat on the back for both IBM engineers for speedy service and Microsoft for the fabulous Virtual Server 2005 technology.
This is the format that made it all possible for the quick uptime of the service. Kudos for the invention of virtualization. I heard VMWare also has another competing virtualization technology. My stand, use whichever you prefer. As for me, i chose Microsoft Virtualization because i could hammer just 1 party for any problems. 🙂