Using VMware Server 2 for Production Servers

BTGAndy
BTGAndy used Ask the Experts™
on
I want to look at moving a couple of our servers to VMware Virtulization because we have run out of physical hardware. Because we have no budget for virtulization at the moment i was looking at VMware server 2 because it's free. Then once i can show what benefits Virtulization can do i will look into better paid solutions (if we need to) and move all our servers to virtual servers.
The servers are 2003 and not very resource intensive, one is a WSUS server and another one is a SNMP data collector server.

My question is, can i use VMware Server 2 for my production servers, is it reliable, does it have good performance.
Does anyone else use VMware server 2 for production servers at the moment and if so what do you use them for.
Also is there anything else worth looking at instead, i only know of VMware because of it's popularity, but we will be looking into buying software (hopefully) once i can prove how good virtulization is.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
You can and we do.

You can even purchase support on vmware server 2 from vmware (or for small quantities an vmware reseller) We use them mostly for development purposes, though we have 1 (large) prod box running 20 instances of XP for remote users.

You will still need to purchase additional Windows OS licences.

Performance is reasonable, providing you're careful with memory allocation, and don't overallocate. Have at least 1GB for the host (depending upon what the hosts's doing you might need more)

Similarly Microsoft Virtual Server is also free, and has mostly the same feature set. If you have Microsoft select already then this means you're not going to be passed from one vendor to the next if there are any issues (though personally I've never seen any VM specific issues, and i've used both products in production)
I second Ignatius recommendation on VMWare Server; in our case, we migrated our entire infrastructure off to VMServer. We had the complete package: domain controller, a handful of web apps, a couple of SQL instances and file servers as well. Later on we moved email & SMTP gateways off to a separate host running VMWare Server -this was back on version 1.
The very first thing I would advice you to do is: run the hosts on Linux. Preferrably CentOS -though I don't know if they've solved an incompatibility between some libraries shipped with the latest versions of CentOS (read: http://www.myrotarycar.com/blog/index.php/2009/11/16/centos-5-4-vmware-server-2-issues/)
Linux hosts can be better tweaked and will offer a smaller footprint which will directly translate to more resources available to your VM machines.
Also, the fact that you can use Vmware Converter to make identical images of existing systems doesn't hurt either.
I have VMWare server up on a 2008 Std host.  Three ubuntu servers for web.

It's surprising how very little resources are actually used.  CPU on each VM is less than 5% (of the virt.processor...not the total CPU capacity), and RAM is less than 80MB of the 768 that was provisioned for each.

I've got plenty of room for 10 more lightweight servers.  If site traffic (and new site features) increase, I can easily allocate more RAM or move to new hardware...much easier than handling 3 separate physical servers.

Next step is to move a Server 2000 box to VM.  Still need it for an old barcode printer, but the PIII server is held together with chewing gum and Scotch tape.
Hello there,

We use a set of dual vmware servers for production without much incident. While we would have preferred to run ESXI, as I now do personally, the cost for the server just couldn't be justified. VMware server performs admirably, with notable differences in performance when run on a Linux host. That's more than likely just the lack of overhead from not having a GUI.

We even have a custom backup script for a ubuntu host that I wrote performing our backups across NFS shares. You can feel free to use it as well. You will only really need to define your variables, the rest takes care of itself.

Hope you enjoy Vmware Server 2 :-D
#! /bin/bash
#
#  Developed by Darrell Breeden
#  For Open Source Solutions
#
#  Distributed under the GPL license. You are free to make
#  modifications, as long as the original header remains untouched
#  minus new version information. 
#
#
#  V1.0     5-11-2009    Darrell breeden
#
############################################

### First, we will get a list of all running machines and dump that file to a temp location

vmrun -T server -h https://localhost:8333/sdk -u username -p password list | awk '{print $2}'| nl > /tmp/schedule

#  Schedule will appear in the following format
#   
#    1	running
#    2	moodle/moodle.vmx
#    3	mail.ossfb.com/mail.ossfb.com.vmx
#    4	support.ossfb.com/support.ossfb.com.vmx
#    5	new_web_server/new_web_server.vmx

#  Now we will declare some variables

counter=2
schedule=/tmp/schedule
vm=`grep $counter $schedule | awk '{print $2}'`
user= user
password= password
address= https://my.server.ip.address:8333/sdk
max=`tail -1 /tmp/schedule | awk '{print $1}'`&& max=$(($max + 1))
source='/var/lib/vmware/Virtual\ Machines'
dest='/media/disk/vmbackup'


### Sanity Check : Checks to Make Sure user is Root

if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
   else echo "User Validation Completed"
        echo "You are Root. Executing Script"
        sleep 5
fi

### Now we will build the for / while loop to suspend the machines.

while [ $counter -lt $max ] ;
do 

echo "Suspending $vm"
vmrun -T server -h $address -u $user -p $password suspend "[standard] $vm"
counter=$(($counter + 1))
vm=`grep $counter $schedule | awk '{print $2}'`
sleep 60

done

### Now we will copy the virtual machines to the End Destination

echo "Machines are Backing Up"

cp -vrf $source $dest

echo "Machines Have Been Succesfully Backed Up"

sleep 180

### Now We will Resume all of the Virtual Machines

counter=2
vm=`grep $counter $schedule | awk '{print $2}'`

while [ $counter -lt $max ] ;
do 

echo "Starting $vm"
vmrun -T server -h $address -u $user -p $password start "[standard] $vm"
counter=$(($counter + 1))
vm=`grep $counter $schedule | awk '{print $2}'`
sleep 60

done

echo "All Files are Backed Up Completely." | mailx -a "Subject: Backup complete on $(date +%m/%d/%Y)" admin@domain.com

rm $schedule

Open in new window

Author

Commented:
Thank You to everyone who responded i have awarded the points evenly between you all.
I never thought of using Linux to host the virtual server but because we have no knowledge of using Linux i think we will have to stick with Windows. Hopefully down the line we can look at ESXi but i've got to wait for the budget for that.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial