Friday, May 27, 2011

VMWare for Beginners

This post is for beginners.  No hate from the peanut gallery!
My life changed when i found out about vmware.  (It also changed when i found out about 3tera, but that's for a different post.)  Getting into VMWare wasn't the easiest thing mainly because i'm a hardware guy.  If you virtualize my hardware, what am i supposed to do?  But the wonderful thing about vmware is that you can make hardware virtually; this means you can make as much hardware as you want with no cost! 

VMWare could be called a computer emulator.  An emulator is software that acts like hardware.  The easiest example of a hardware emulator i can think of is one i used back in high school and college: the TI-83.  I would open this app on my PC and i would be presented with a graphical interface that looked exactly like the TI calculator i had in my hand.  I could do everything with the emulated calculator that i could do with my physical calculator. 

That's what VMWare does, except it does it for a computer.  The simplest computer has only a couple pieces: a motherboard, processor, ram, hard drive, keyboard, mouse, and monitor.   VMWare emulates all of that (and more). 

To get started with vmware, go to vmware.com and sign up for an account (it's free).  Then look for the vmware player.  It's the simplest version of vmware.  Once you've got it installed, open it.  You'll be presented with a few options, you'll want to create a new virtual machine.  The wizard will help you create your computer.  The first thing it'll ask for is an installation CD.  Find your trusty windows xp, windows 7, ubuntu, or debian installation CD and pop it in your drive.  VMWare will inspect the cd and virtually put together the hardware for your computer.  Go through the rest of the wizard and power on your virtual machine.  You'll notice that you'll get a quick bios screen, then on to installation.  At this point, nothing is different from setting up a physical computer.  Let windows or linux install and you'll end up with a full blown computer emulated on your computer.

The really cool thing about this is that you can run a linux based computer inside your windows computer.  Or if you have programs or devices that only work in windows xp but you have windows 7, you can run xp in a vm and load the program there (this is essentially the basis behind xp mode in windows 7). 

Once you get more comfortable with VMWare, you can get the free VMWare server installed on your desktop (warning, this won't work on your computer if you're using a home/home premium version of windows).  The nice thing about vmware server is that you don't have to have a window open for each vm running.  You can run them in the background; with vmware player, if you close the window, the vm goes into standby.

I have VMs for several different things:
  • my canon scanner which isn't compatible with windows 7. I have a very trimmed down version of windows xp running in a vm.  Whenver i want to scan something i boot up the vm and plug in the scanner.
  • I play around with ubuntu and debian to try to increase my linux prowess.  The cool thing is running windows apps through wine on ubuntu in a vm running on windows.  Try saying that 10 times fast!
  • I have an old dvd ripper program on a stripped down windows xp machine.  This allows me to make an avi file from my dvd movies so i don't have to jump up and put in a dvd when i want to watch a movie.
  • I run a sharepoint website for my family.  It uses windows 2003 in vm.
  • I run a development linux box to test OTRS and other linux based open source software.
The nice thing is that last thanksgiving, i bought a desktop computer with 8GB of RAM and a 1TB hard drive.  My desktop normally only needs 2GB of ram to run, so that leaves me 6GB that i can dedicate to VMs.  Since most of my VMs are stripped down to only perform one or two tasks, they don't require much.  I can run all my VMs at once (except for sharepoint) and they all run fairly well.