VMWare

From CafeWiki

Jump to: navigation, search

Subtopic Links:

ESXi

Fusion


Discover the VM...

If you have not experienced any the following, your geekiness should be called into question:

  • I have to re-install my OS because of some hardware failure such as RAM, Hard Drive, Motherboard, Video Card, Super I/O controller (for all you really ancient ones), or flux capacitor.
  • I have to re-install my OS because it is showing signs of corruption
  • I have to re-install my OS because my old computer is too slow for me (but it's just fine for mom) and I need an upgrade. Oh yeah, and I have to do a fresh install for mom.
  • I have to re-install my OS because three months have elapsed and I'm getting the shakes
  • I have to re-install my OS because... Actually I don't need a reason.

Have you noticed a theme?

Over time even the staunchest of geeks can grow weary of the pace of installing an OS so this is where virtual machines come into play. Most virtual machines exist in the X86 world, and provide the ability to create virtual computer instances that are agnostic of the real hardware platform they operate on. As a result, by upgrading your server hardware, you can simply move your virtual machine onto the new hardware without having to start from scratch. A virtual machine can be created, copied, and deployed beside copies of itself in a virtual or even real network with each virtual machine serving a different purpose or perhaps the same purpose as another providing greater robustness through redundancy.

Consider for example the following list of virtual machines all residing on a single hardware server platform:

  • Web Server
  • File Server
  • Database Server
  • Mail Server
  • DHCP Server
  • VPN Server
  • Media Server
  • VoIP Server

Each one of the above mentioned server is something that we normally take for granted in a workplace, and if one of the above servers has problems it usually does not affect any of the other servers because they all historically have operate on dedicated hardware at least in an enterprise environment. One server box for each network service has other reliability advantages as well. For example through the deployment of dedicated database server, keeping the integrity of the software packages and configuration becomes orders of magnitude less complicated if that server only maintains a single important purpose. Thus the reliability of your entire enterprise improves if you can deploy discrete, special purpose machines. However for the typical home geek, even though most of our current and future money is burned by our collection of computer hardware, we rarely have enough functional computers to handle each of those tasks in a one task, one server type enterprise model. So instead we get a fairly powerful computer, store it in the closet or the basement, and run all of those servers in one neat package. It all looks good, because for the home the performance is not an issue. But the bliss does not last forever, at some time a hardware component will fail, or perhaps your prototyping of some cool new technology has caused some package corruption, or maybe someone hacked your mail server, the list goes on. This would cause the loss of all of those services until you can re-architect and re-install all of those services, getting it running the way you want it.