Robert's Virtual

Building a Virtual Network - Part I

A brief intro to virtual machines

So, what is a virtual machine? Well for starters, virtual machines are the basis for our network. Other than that, you'll find a plethora of definitions and opinions all across the web. That being said, here is my 2 cents. Keep in mind, this is a macro view and is by no means exhaustive.

  • A virtual machine is a like a computer (guest machine) running within a computer (host machine).
  • A virtual machine can function just like a physical machine on a network; other machines don't know they're communicating with a VM.
  • Virtualization can be managed via software or hardware.
  • Each VM uses the resources of the host machine; RAM, NIC, CD, etc… and its access to those resources in controlled by the Virtual Machine Manager (VMM).
  • VMWare has a decent white paper on the subject @ It's only 11 pages long, but well done.
  • Here a a few screenshots to give you an idea of what a VM looks like within the host.
files that make up a virtual machine
Virtual machine files
a virtual machine running
Virtual machine running

The virtual machine manager

Whatever product you select, each has an underlying VM Manager (VMM) and they come in two basic flavors, type 1 and type 2. The type 1, also known as hardware management allows the virtual machine manager direct access to the host's hardware. This type of manager, is referred to as a hypervisor, is the most efficient and maintains the best separation of VM’s. VM’s also perform better using hardware managed virtualization.

For example, Microsoft’s Hypervisor, Hyper-V requires: An x64-based processor. Hyper-V is available in x64-based versions of Windows Server 2008—specifically, the x64-based versions of Windows Server 2008 Standard, Windows Server 2008 Enterprise, and Windows Server 2008 Datacenter.

The processor must support hardware virtualization; for example chips such as the, Intel Virtualization Technology (Intel VT) or AMD's Virtualization (AMD-V).

Also, hardware-enforced Data Execution Prevention (DEP) must be available and be enabled. Specifically, you must enable the Intel XD bit (execute disable bit) or AMD NX bit (no execute bit). Basically DEP prevents code being executed in a non-executed memory region.

VMWare’s ESX has Different Requirements.

Type 2 VMM's, such as Java VM make requests to the host operating system for access to hardware. This adds another layer of processing.

Finally, there is a hybrid of the two, such as VMWare Server, which gives limited direct access of the hardware by the guest OS.

simple example of VMM's 

Why use virtual machines when real hardware is readily available??

  • You could create a virtual network and carry it with you on your laptop.
  • You can test out new operating systems without endangering your bootloader.
  • Many servers utilize less than 20% of their resources, namely processing. Running more than one server class OS on a single physical machine makes better use of system resources.
  • Combining several servers on a single physical machine saves:
    • Rack space
    • Cooling costs
    • Electricity costs (think green)
    • Hardware costs
  • Backup and restoration is a snap – only a few files to worry about. OK, this one is subject to debate as far as backup strategies for VM's.
  • Migration from one physical machine to another is a breeze. You can upgrade or replace your physical computer and migrate your VM's in minutes versus hours due to a rebuild.
  • Snapshots make recovery from “experimenting” easy.
  • You can create and distribute VM’s with identical configurations.
  • You can add and additional hardware without actually purchasing any!

Next, we install VMWare Server...

1 2 3