Building a healthy/efficient lab is an important part of my job – and it can be very time consuming. When you think about it, it really is like building a small-size datacenter, without some of the complexities (custom applications,large data sets…) but also with unique challenges: most of the times you can count on a very limited amount of resources. If you want to simulate anything similar to a real-life scenario, things can get really hard.
Virtualization is what allows most of our home/demo labs in the first place, but more often than not, resource contention is the first wall you run into. Especially in the “disk” department, that’s easily the most common bottleneck of any lab (closely followed by RAM).
The early years (a short, sad story)
In my early days as a pre-sales, I simply couldn’t afford a decent demo lab. At home, it was impossible because of costs, space and power. At work, let’s just say some of my previous employers were… “overly prudent” about even small investments.
I would make do with what I could get my hands on: an old, single CPU, as-noisy-as-a-jet-fighter 1U rack server given as a demo unit by a distributor, with a pair of SATA disks. I installed ESX 3.5 on it (sacrificing the soft-RAID1 array I had created since there was no hope the controller would work with ESX), created a handful of VMs but as soon as a couple of them were running, performance became ridiculously bad. But after all, I was even able to install ESXi 4.1 on it and do a mini-POC of VMware View 4.1 with that box, using a couple of VMs there and one of my PC… Good times! (well, at least it seems fun NOW… 😉 )
I also tried using my everyday laptop as a lab with VMware Workstation, a few years ago… with equally – or even more – depressing results because of the poor performance.
My current “labtop”
When I joined Veeam in 2012, I was really quite fortunate. As a Systems Engineer, I was entitled to a very powerful (and expensive, I might add) laptop to use as a demo lab.
So I picked up a high-end mobile workstation with some pretty impressive specs for 2012:
- Intel Core i7 2860QM “Sandy Bridge” CPU (Quad-core, 2.5 GHz, 8MB L3 cache)
- 16 GB DDR3 RAM
- 128 GB SSD + 750 GB SATA HDD
- 15,6″ Full HD IPS 1920×1080 display
- Dual graphics: Intel HD 3000 + nVidia Quadro 2000M
Later on, I expanded the RAM to 24 GB and swapped the SSD with a larger one (256 GB).
I wanted to have a lab where I could “virtually” (pun intended) test all scenarios and platforms where Veeam solutions can be used – and that proved to be quite a challenge.
As of now (June 2014) my lab contains:
- A vSphere environment composed of 3 ESXi hosts (2 in a cluster and 1 stand-alone) and 1 vCenter Server (Windows)
- A Hyper-V environment composed of 2 clustered hosts (with a CSV) and 1 stand-alone host
- A Windows 2012 SMB3 server (used to host some of the Hyper-V VMs and for miscellaneous management stuff)
- 3 virtual storage arrays: an HP VSA, an Openfiler instance and a NetApp Simulator
- A “virtual VTL” (mhVTL) to test tape backups
- A WAN emulator (WANem) VM to simulate slow/geographic links, mainly to test Veeam B&R’s WAN Acceleration
- A Windows Server VM for Veeam Backup & Replication
- A Windows Server VM for Veeam ONE
- A Windows Server VM running System Center Operations Manager (SCOM) and Veeam Management Pack
When both the vSphere and Hyper-V environments (plus the three “storage” VMs) are fully up and running, almost all 24 GB of RAM are consumed and I’m very much at the edge of swapping to disk – but it works fine.
The SCOM VM is never active at the same time as the nested hypervisor environments, since it needs a boatload of RAM (Anything less than 6 GB makes it unusable) and, more importantly, it has its own simulator software that generates data and alerts without a “real” infrastructure. By the way, this really cool simulator is part of the Veeam MP Resource Kit which you can freely download from Veeam’s website.
All VMs inside my nested hypervisors are as stripped-down as they can possibly be, since hosts have tiny amounts of RAM (3-4 GB each). But I managed to set up a domain with two Domain Controllers, one on vSphere and the other on Hyper-V. I also have an Exchange Server on vSphere and a SQL Server on Hyper-V, plus several Windows/Linux VMs on both environments. Everything is very minimal, but it works fairly well.
On vSphere I even went further and built a nested vCloud Director environment last year to show Veeam Backup & Replication’s integration with vCD. I ended up down-sizing the vShield Manager virtual appliance to 768 MB of RAM (anything less than that and the application server doesn’t come up) and the vCloud Director appliance to 2.5 GB. It takes quite a bit to boot… but it works fine. I created an Org vDC with a couple of vApps composed of ultra-tiny Linux VMs (Damn Small Linux, Slitaz) and backed them up with Veeam Backup & Replication.
Each of the two nested hypervisor environments (vSphere, Hyper-V) has several data stores for the VMs, some of which are on the SSD and others on the SATA disk. For vSphere I created both iSCSI and NFS datastores, for Hyper-V some VMs are on the iSCSI CSV and others on the SMB3 share.
The SSD does a good job and things are normally pretty quick, even with a good number of VM running.
Below here you can find a (simplified) scheme of what my lab looks like.
Pros & Cons
Using a laptop as a lab can obviously be limiting in terms of growth and completeness, but until now it’s been really handy for me: I am able to run a demo anywhere, even on a train or in a bunker with no external connectivity, since all I need is in my laptop.
Space and noise are not an issue, same goes for power – I can leave the lab on for days without spending a fortune. I can also transfer large amounts of data (backups, ISOs and so on) to/from my “parent” PC to VMs in the lab without taking unreasonable amounts of time.
Of course, one downside is that my lab is powered down for a good part of the time. Since I installed VMware Tools for nested ESXi things got easier, but I still take 5-6 minutes (minimum) to switch everything off before I can shut down my PC. This can be frustrating if (like me) you’re very often on the road and the time you have is very fragmented – whenever I need to decently test and document something, finding even a single hour without interruptions can be difficult.
I see many IT pros with very impressive setups… my lab probably looks like a Playmobil House in comparison. But all considered, I must say I’m quite happy with it!