So, you want to improve your knowledge of virtualization. Doesn’t matter if it’s Hyper-V, VMware, Xen or KVM the major decision of Physical vs. Virtual lab is the same. If you are new to virtualization your first thought may be to go out and purchase some dedicated hardware to run your lab sessions. There’s a lot you can do with a couple of PC’s or entry level servers, network storage and a switch. You could practice live migration labs, various clustering configurations, virtual switch configuration and various Virtual Desktop Infrastructure (VDI) configurations. However, this approach has some of the same draw backs as enterprises that have physical first approaches vs. virtual first approaches.
This is a great time to practice not just the technical part of a virtualization strategy but also the same financial and operational aspects of a virtualization strategy. Just like in the enterprise you should examine the requirements of your lab. What solutions and features are you looking to implement in your environment? Does any of the scenarios you are looking to implement actually require physical resources.
Let’s take a look at some of the scenarios and see if a physical lab is required.
Running the Hypervisor
This is the first major requirement of any virtualization lab. You need to be able to run a minimum of two hypervisors in most scenarios. The big question is can you virtualize the hypervisor? This is the first question you ask when looking at a workload in the enterprise. Looking at say a Oracle instance you need to answer the basic question if the instance itself can be virtualized from a technical perspective. This is an area that has advanced as both virtualization software and hardware based virtualization features have improved. My most popular post not only talks about running an hypervisor inside another hypervisor but also running what’s called a nested VM.
Running a Virtual Machine
The second requirement of any virtualization lab may sound pretty simple as well, the ability to run a VM. This is where we can get a little complicated. In a physical lab it’s very straight forward. You install your hypervisor of choice and then you use the management tools of that platform to deploy your VM. This requirement doesn’t change when looking at it from a virtualized lab perspective. You still need to be able to run a VM inside of your virtualized hypervisor. This is more of a technical issue on each platform. I’ve found the most consistent method is to use either VMware ESXi (Free) or VMware Workstation to allow this capability. This is called a nested VM. However, once you nest a VM this brings in questions around networking. How does networking work for a nested VM.
Again this is why I like using VMware Workstation and ESXi for the base hypervisor. The best way to talk through networking in a virtualized lab is to reference my video on the topic.
The most difficult requirement to meet would be for distributed switches across multiple hosts. In a physical lab you have a physical switch to use as a cross connect between hypervisors and thus distributed switches. This is primarily an issue with vSphere inside of VMware Workstation as VMware is the furthest along with production class distributed switches. VMware workstation doesn’t use a virtual switch but something much closer to separate configuration that can be better described as hubs. A work around to this issue would be to use a full vSphere which has a proper virtual switch.
One of the major features of virtualization is the ability to migrate a running virtual machine (VM) from one physical host to another without any downtime. The common requirements for live migration is like computing hardware, shared storage and networking. Most vendors are claiming that a SAN is no longer required for live migration but from a performance and scale perspective you want to be most familiar with using shared storage in your lab. The big question is what do you do for shared storage. This is actually the easiest of topics that we’ve addressed. You can solve this challenge by just running a NFS or iSCSI appliance as a VM within your base hypervisor. Another advantage is that you can “thin provision” more storage to the SAN appliance than physically available.
Laptop vs. Workstation
So, what type of hardware do you need to run a decent lab on a single piece of hardware. Do you need a rig like I use here? Or can you get by with just a beefy laptop? The bottom line is that you can do a great deal of a system with an i5/i7 and 8GB of RAM. But there are very few labs you can’t do with a system with 16GB of RAM which is becoming a common option for laptops. Outside of RAM the other big consideration is storage I/O. Virtualization is both storage and memory intensive. I would say that an SSD is almost a must. Especially if you plan on running multiple nested machines like in a VDI configuration. You can take a look at my laptop configuration here.
Generally speaking you can do everything in a virtual lab that you can in a physical lab. Some practical issues are scale and experience on specific vendor solutions. If you want to know how a Dell, HP or Cisco switch will be configured in your virtual network this can’t be done in a pure virtual lab. This is the same case with other external dependencies such as SAN storage. You want to know what challenges exist in configuring the previous mentioned network devices with Jumbo frames and the challenges related to SAN performance then virtual labs can’t get you that experience. In my role I don’t need that level of interaction but you may find your requirements are different from mine.