WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Resources
    • Nested Virtualization
  • VMware Nostalgia
  • Apple

Horizon View in a box using new Horizon View Config Tool

03.07.2014 by William Lam // 1 Comment

The folks over at VMware Labs have really been on fire lately. Last week, they help release another exciting new Fling called Horizon View Configuration Tool. This latest Fling, also known as VCT was developed by Marilyn Basanta, who works over in our EUC organization. Marilyn's goal for this first release of VCT was simple, to enable customers to easily and quickly deploy a basic Horizon View 5.3 environment from scratch. I had the chance to meet up with Marilyn this week in person to discuss some of my feedback regarding VCT and something that really stood out to me was that she really understood the importance of Automation. If you compare this to the manual approach today, which has many moving parts not to mention the learning curve for new VMware customers , you can see why a solution like VCT would be a valuable tool for our customers.

vct-5
After VCT was announced, I knew I had to give this a spin in my home lab! After quickly glancing at the documentation, I deployed VCT and found a couple of interesting tidbits that you should be aware of before getting started.

  • In addition to deploying VCT, you will need to also deploy the VMware Studio virtual appliance which is used to provision Windows OSes
  • A standalone ESXi host that is not managed by vCenter Server
  • All virtual machines provisioned by VCT are "Zeroed Thick" and not Thin (minus VCT/Studio as you can specify)
  • At least 19GB of memory is required, not including desktops you would provision

I went through a "full" VCT deployment in my home lab which I also included an Active Directory instance and here are the resource requirements for each Virtual Machine which I know some folks were interested in:

VM vCPU vMEM vDISK DISK TYPE
View Config Tool 1 512 MB 14 GB THIN
VMware Studio 1 512 MB 50 GB THIN
Active Directory 2 2 GB 16 GB ZEROED THICK
VCSA 2 8 GB 125 GB ZEROED THICK
Horizon View 2 4 GB 20 GB ZEROED THICK
Horizon Composer 2 4 GB 20 GB ZEROED THICK

For a first release where a user can just provide a Windows Server 2008 ISO and specify a couple of parameters and just sit back and watch this entire environment provision automatically is very impressive. However, I thought what would be even cooler is if we can further reduce the barrier for customers to try out this awesome tool. I did a bit of digging around in the VCT appliance and found that there are a couple of "tweaks" err "hacks" that you could perform to help reduce the footprint of your Horizon View setup.

Disclaimer: These optimizations is something that I spoke to Marilyn about and among other things and she is well aware of some of these early limitations which hopefully will be addressed in future releases of VCT.

For optimization #1 and #2, you will need to perform this before you start the VCT wizard. For optimization #3, this can be done after your Horizon View environment is up and running

Optimization # 1 - Enable "Thin" provisioning of VCSA

SSH to your VCT appliance and edit the following file /apache-tomcat-7.0.27/webapps/vct/WEB-INF/classes/deploy_vCenter.py and ensure it looks like the below (changes highlighted in blue):

deploy_vm = ["/ovftool/ovftool", "-n=" + name, "-ds=" + datastore, "-dm=thin", "-nw=" + network, "--acceptAllEulas", "--noSSLVerify", vcenter_path, "vi://" + esx_username + ":" + esx_password + "@" + esx_host ]

Optimization # 2 - Enable "Thin" provisioning for Windows VMs (View, Composer & AD)

SSH to your VCT appliance and edit the following file /apache-tomcat-7.0.27/webapps/vct/WEB-INF/classes/deploy_ova_studio.py and ensure it looks like the below (changes highlighted in blue):

ssh_command = "sh /opt/vmware/share/ovftool/ovftool --name=\"" + name + "\" --datastore=\"" + datastore + "\" -dm=thin --network=\"" + network + "\" " + path + " vi://" + esx_username + ":" + esx_password + "@" + esx_host

Optimization # 3 - Reduce VCSA memory

For a small environments or POCs, you can run VCSA with 4GB of memory. The default from VMware is 8GB, but this is not the minimal and will depend on the size of your environment (# of VMs/Hosts).

With these simple modifications, you can significantly reduce the amount of storage required and more importantly reduce the amount of memory down to ~14GB if not more due to other memory saving techniques such as VMware TPS. If you already have an existing Active Directory server, you can even further reduce it. The primary reason I was interested in reducing the resource requirements (which I am always a fan of) is that I wanted to demonstrate that you could easily get a fully working Horizon View environment running on top of an Apple Mac Mini! How cool is that!? I mean anyone can be walking around with a Mac Mini that includes everything to run or demo a full Horizon View 5.3 environment. The deployment in my environment took about ~3hrs, I suspect it was slow due to my spinning rust and it should be much faster on an SSD. I was also able to get away with just needing 91.8 GB of storage (all powered on) for the base infrastructure, of course you should allocate a bit more if you want to actually deploy additional desktops.

vct-10
I  highly recommend those of you who are interested in Horizon View to give VCT a try and if you have any feedback or features you would like to see, please leave a comment on the Flings webpage. I know Marilyn is very interested in hearing customer feedback and how she and her team can better improve VCT in the future. Great job again Marilyn, very cool solution and glad to see there is no shortage of innovation at VMware!

Categories // Apple, Horizon View, VCSA, vSphere 5.5 Tags // fling, horizon composer, horizon view, mac mini, VCSA, VCT, vcva, vSphere 5.5

Exploring VSAN APIs Part 3 – Enable VSAN Traffic Type

03.06.2014 by William Lam // Leave a Comment

In addition to having a minimum of one SSD and one HDD to contribute to the VSAN Cluster, an ESXi host must also have a VMkernel interface that is enabled for VSAN traffic. In the vSphere Web Client, this is done by going into each ESXi host and under the Networking section and editing the VMkernel adapter to allow for a particular traffic type.

vsan-traffic-type-0
From a vSphere API perspective, this operation is actually exposed at the vSphere Cluster level which took me by surprised since enabling the other types of VMkernel traffic type is done else where. You will need to use the ReconfigureComputeResource_Task() method and specify a list of ESXi hosts using spec->vsanHostConfigSpec->HostSystem and list of VMkernel adapters that you wish to enable VSAN traffic type on using spec->vsanHostConfigSpec->networkInfo->port->device. The neat thing about doing it at the cluster level is you only need to make a single API call versus having to go to each and every ESXi host. To demonstrate the above operation, I have created a vSphere SDK for Perl sample script called vsanHostTrafficTypeMgmt.pl

Disclaimer:  These scripts are provided for informational and educational purposes only. It should be thoroughly tested before attempting to use in a production environment.

To check the current VSAN configuration for a given vSphere Cluster, you can run the “query” operation:

./vsanHostTrafficTypeMgmt.pl --server vcenter55-1.primp-industries.com --username root --cluster VSAN-Cluster --operation query

vsan-traffic-type-1
As you can see from the output above, there are no VMkernel adapters listed that have VSAN traffic type enabled.

To simplify the sample script, as part of the "enable" operation, I have added a --vihost option which requires you to specify a particular ESXi host in which you wish to enable VSAN traffic type. You will also need to provide the --vmk option to specify the list of VMkernel interfaces you wish to enable VSAN traffic type.

./vsanHostTrafficTypeMgmt.pl --server vcenter55-1.primp-industries.com --username root --cluster VSAN-Cluster --operation enable --vihost vesxi55-1.primp-industries.com --vmk vmk0

vsan-traffic-type-2
The "disable" operation is just the opposite of the enable, providing the same input of ESXi host and VMkernel interface.

We can now re-run our "query" operation and we should now see that all of our ESXi hosts have vmk0 enabled with VSAN traffic type:

vsan-traffic-type-3

  1. Exploring VSAN APIs Part 1 – Enable VSAN Cluster
  2. Exploring VSAN APIs Part 2 – Query available SSDs
  3. Exploring VSAN APIs Part 3 – Enable VSAN Traffic Type
  4. Exploring VSAN APIs Part 4 – VSAN Disk Mappings
  5. Exploring VSAN APIs Part 5 – VSAN Host Status
  6. Exploring VSAN APIs Part 6 – Modifying Virtual Machine VM Storage Policy
  7. Exploring VSAN APIs Part 7 – VSAN Datastore Folder Management
  8. Exploring VSAN APIs Part 8 – Maintenance Mode
  9. Exploring VSAN APIs Part 9 – VSAN Component count
  10. Exploring VSAN APIs Part 10 – VSAN Disk Health

Categories // VSAN, vSphere, vSphere 5.5 Tags // VSAN, vSphere 5.5, vSphere API

Exploring VSAN APIs Part 2 – Query available SSDs

03.05.2014 by William Lam // Leave a Comment

When enabling VSAN, users have the option to specify how the disks (SSD/HDD) will be added to VSAN either automatically (recommended) or manually claimed by the end user.

vsan-disk-query-0
If you decide to manually claim your disks on each ESXi host within the VSAN cluster, then you will probably need to figure out which disks are SSD and HDD for you to create your VSAN disk groups. If you have used the vSphere Web Client to perform this operation, you will notice there is a toggle for displaying "eligible" disks for VSAN which can also be obtained programmatically using the vSphere API.

vsan-disk-query-1
On each ESXi host, there is a vsanSystem manager that provides various methods for disk management and the one that we are interested in is called QueryDisksForVsan(). To demonstrate this functionality, I have created the following sample vSphere SDK for Perl script called vsanQueryDisksForUse.pl. The script will query each ESXi host in a vSphere Cluster and return a list of disks which specifies if they are eligible for use with VSAN and whether the disk is an SSD or not.

Disclaimer:  These scripts are provided for informational and educational purposes only. It should be thoroughly tested before attempting to use in a production environment.

To check for the list of available SSD/HDD, run the following command:

./vsanQueryDisksForUse.pl --server vcenter55-1 --username root --cluster VSAN-Cluster

vsan-disk-query-2
Using this information, you can then use the AddDisks_Task() method to create your own VSAN Disk Groups on each ESXi host. As you can see, it is a couple more steps if you opted for manual mode and I would recommend letting the vSphere platform automatically take care of this for you.

  1. Exploring VSAN APIs Part 1 – Enable VSAN Cluster
  2. Exploring VSAN APIs Part 2 – Query available SSDs
  3. Exploring VSAN APIs Part 3 – Enable VSAN Traffic Type
  4. Exploring VSAN APIs Part 4 – VSAN Disk Mappings
  5. Exploring VSAN APIs Part 5 – VSAN Host Status
  6. Exploring VSAN APIs Part 6 – Modifying Virtual Machine VM Storage Policy
  7. Exploring VSAN APIs Part 7 – VSAN Datastore Folder Management
  8. Exploring VSAN APIs Part 8 – Maintenance Mode
  9. Exploring VSAN APIs Part 9 – VSAN Component count
  10. Exploring VSAN APIs Part 10 – VSAN Disk Health

Categories // VSAN, vSphere, vSphere 5.5 Tags // ssd, VSAN, vSphere 5.5, vSphere API

  • « Previous Page
  • 1
  • …
  • 416
  • 417
  • 418
  • 419
  • 420
  • …
  • 560
  • Next Page »

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Programmatically accessing the Broadcom Compatibility Guide (BCG) 05/06/2025
  • Quick Tip - Validating Broadcom Download Token  05/01/2025
  • Supported chipsets for the USB Network Native Driver for ESXi Fling 04/23/2025
  • vCenter Identity Federation with Authelia 04/16/2025
  • vCenter Server Identity Federation with Kanidm 04/10/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025

 

Loading Comments...