My VMware Workstation Virtual Cloud Sandbox
How I virtuallize my entire lab to test and evalute IaaS Cloud Computing software using VMware Workstation.
As a technologist and evangelist working at Eucalyptus I am lucky enough to install and test Eucalyptus along side our competitors products. As you can imagine this can really tax a lab environment. Eucalyptus provides me with a massive test/lab environment with awesome capabilities but I wanted something that I would have control over and take advantage of virtualization technologies that I learned while working at VMware.
While at VMware, everyone ran VMware Workstation to virtualize ESX, along with running a small vSphere environment on our laptops. The goal of this virtual sandbox was to build a lab that could virtualize anything and everything I needed. This would not be a lab where I would test performance…I have an environment at Eucalyptus for that, but something that I could use to spin up any IaaS cloud platform, control all aspects of the network and store the virtual machines in case I need to spin them up later.
I have two such sandbox machines. One is an HP DL380 G6 with 32GB RAM and 8x 73GB 15K RPM SAS drives. The second machine is a Lenovo Thinkpad X201 which makes a ideal portable sandbox. Let’s look at what makes up this portable sandbox.
Host OS: Windows 7 Professional x64 – VMware Workstation supports Windows and Linux, I would prefer Linux, but in testing VMware Workstation 9 support is more complete and easier to use while running on Windows.
Processor: To allow nested/nested 64-bit virtualization we need to test the processor to be sure Intel VT and EPT are supported. CoreInfo by Mark Russinovich is a quick easy tool to run to verify the processor capabilities.
Memory: As much memory as the machine will allow. The Lenovo X201 maximum is 8GB.
Disk: The largest SSD the machine allows, two would be best to split the load. On this machine there is 1x 120GB SSD. Notice there is also a 1TB D:\ on this system. This is a USB 3.0 portable drive for storage of ISO’s, VM’s that are not needed and extra software. Only the most current ISO’s and VM’s are stored on C:\.
VMware Workstation: This is the core application to build a virtual lab. Besides the core functionality of virtualizing guests, this includes nested/nested 64-bit virtualization. VMware Workstation provides a lab platform allowing the creation of snapshots, easy capturing of videos of the virtual machine and portability of the virtual machines across not only Workstation but also other VMware technologies.
When not portable, the X201 is docked which provides an additonal 120GB SSD for even better performance and the virtual machines are backed up to a 2TB NAS to be shared across the lab.
VMware Workstation 9 Nested / Nested Virtualization: Workstation 9 makes it easy to do nested/nested virtualization, therefore, no more editing VMX files. Create a virtual machine and edit the Virtual Machine Settings > Hardware > Processros > Check the box next to “Virtualize Intel VT-x/EPT or AMD-V/RVI” this adds capabilities to virtualize hypervisors like Xen and KVM and run nested 64-bit virtual machines in those hypervisors. To virtualize VMware ESXi, during the creation of the virtual machine, select ESXi.
VMware Workstation Networking: Using the VMware Workstation Network Editor allows for the customization of the networking for the lab. VMware Workstation 9 supports up to ten virtual switches on a Windows host system. These can be Bridged, Host Only or NAT, and also supports an internal DHCP server. Below on VMnet8, I’ve turned DHCP off to support a configuration in the lab that I was working on.
Anti-Virus Protection: I recommend always using an anti-virus program and for Windows 7 I use Microsoft Security Essentials. I exclude the “Virtual Machine” folder from virus scanning to help performance.
This lab is easily created on most current machines with Intel i5 or i7 processors, 8GB of RAM and the addition of an SSD running Windows 7 x64. Adding VMware Workstation and some simple configuration changes, this lab can support almost anything I can throw at it.
In the next few posts we will explore using the lab to learn about cloud computing. Next up….Install Eucalyptus