After some prompting on /r/homelab, I decided to write a bit about my home lab. Now, I do more than Horizon-related stuff in my lab, but since my day job consists of designing and implementing Horizon solutions, it’s heavily used for that purpose.
I need a lab in which I can stand up new VMware Horizon and associated support software in a quick and easy manner. Since I do this stuff all day long, I don’t want to have to worry about administering my home lab – I just want it to work. I have some hardware already, and I want to use as much of it as possible. The design should account for failure, and non-lab production workloads, such as DHCP, DNS, etc., are used by the rest of the computing devices in the house, so they will be expected to have a very high level of availability.
Here are some quick and dirty diagrams describing what’s in place:
vSphere Logical Design
My single vSphere cluster is configured for N+1 availability with percentage-based HA policy. DRS is configured and set to Fully Automated, priority 3 and above. DRS rules are used to keep like virtual machines (AD DCs, View Connection Servers, App Volumes Servers, RDS Hosts, SQL database servers) on separate hosts. EVC is not enabled. The cluster has roughly 45GHz of CPU (18 total cores w/HT) and 192GB of memory. These hosts are connected to NFS storage over a single 4 port 1GbE NIC each. Networks serviced include vSphere Management, Server, Desktop, IP Storage, and DMZ.
Note: Click images for full size.
Horizon Enterprise Logical Design
This is where everything starts to come together. Here we have load balanced instances of View, Horizon Workspace Portal, and Mirage – all available internally and externally. Two factor authentication is used for external View connections – not integrated with Horizon Workspace Portal as of yet. App Volumes is used to deliver applications to virtual desktops, as well as RDS hosts. Application pools are available through View, as well as being published through Horizon Workspace Portal. App Volumes also provides user installed application and profile management functionality for View desktops. Mirage is somewhat of a foot note here – it’s not used extensively since I replaced its application layering functionality with App Volumes AppStacks.
Now, let’s talk physical components.
- esxi-01 – Dell T610, Intel Xeon X5675 (6 core, 3.06GHz), 64GB RAM
- esxi-02 – Dell R610, Intel Xeon L5640 (6 core, 2.26GHz), 64GB RAM
- esxi-03 – Dell R610, Intel Xeon L5640 (6 core, 2.26GHz), 64GB RAM
- Synology DS1815+ – 4x Western Digital Red Pro 2TB 7200 RPM, 2x Intel 730 240GB SSD (read/write cache), 6GB RAM
- 2x TP-Link TL-SG2424 24-port 1GbE switches
- 1x ZyXel USG50 dual WAN firewall
- F5 BIG-IP VE Lab Edition load balancer
That’s it for now. Next time, I’ll get deeper into the configuration of the vSphere environment, as well as the individual Horizon Enterprise components.