VMware Horizon 5.2: Space Reserved For Expansion Of VMs

When a new VMware Horizon Pool gets created and an error occurs while deploying the Virtual Machines, the only thing you can see under Inventory -> Pools is a small X next to the pool name.

Screen Shot 2015-04-08 at 2.40.15 PM

 

Once you select the pool and edit it, you can see the pool’s settings and also any errors:

Horizon View - Error During Provisioning

 

Error during provisioning: Datastores unable to accommodate the new virtual machine because of one or more errors. Space reserved for expansion of VMs. VMware has a great article about this error, which can be found here.

This error does only happen when creating linked clones.
Starting with Horizon View 5.2, View Administrator checks the total total used space on a datastore does not exceed the storage overcommit level you selected for the datastore.

From VMware’s knowledge base article #2047492:

How Horizon View 5.2 or later selects datastores for linked clones

Datastore selection in Horizon View is based on the virtual machine population density. An easy way to think about population density is as a ratio of the amount of used space to the total effective capacity.

The used space contains not only the amount of space that is currently occupied on disk, but also the space needed to power on the provisioned virtual machines. Horizon View makes additional adjustments to the used space calculation to make better decisions in a real Horizon View environment. The total effective capacity is the total size of the datastore multiplied by the overcommit level.
Population density is defined in this formula:

population density = virtual used space / (total datastore capacity * overcommit level)
During provisioning or rebalance operations, Horizon View selects the datastore with the least population density.

Overcommit levels are defined in this table:

Option Storage Overcommit Level
None Storage is not overcommitted.
Conservative 4 times the size of the datastore. This is the default level.
Moderate 7 times the size of the datastore.
Aggressive 15 times the size of the datastore.
Unbounded View Manager does not limit the number of linked-clone desktops that it creates based on the physical capacity of the datastore. It is up to you to calculate the space and determine that the number of virtual machines you want to place can be supported by the datastore.*

* Select Unbounded only if you manage your own linked-clone desktops.

The Storage Overcommit level can be set when you create a new pool and select the datastore. When setting Storage Overcommit to Unbounded, Horizon View will not limit the number of linked clones based on the physical capacity of the datastore.

Horizon View Storage Overcommit

Login VSI Launcher Waiting

Every now and then, I am running a couple of VDI benchmarks. Most of the time when I run a benchmark, I re-build my whole VDI environment incl. Login VSI systems on my Shuttle DS81s (I use 10 for ~100 VDI desktops). This time, I set-up 3 Login VSI Launcher VMs and 50 VDI desktops for a quick test.

When I tried to start the test, my Login VSI Launcher was stuck in the status “waiting” and I got the following error:
The current user does not have permission to enumerate and/or logoff the user sessions on the launcher

LoginVSI

 

This is not the first time that I have run into this error but I always forgot how I fixed it. Well, this time, I had a couple of minutes to take a screenshot and actually write down how to fix it for the future.

In my case, my Launcher-VMs are running Windows 7 64bit. If you run any Desktop OS, you have to enable remote RPC manually via the registry on each individual VM, or you could just create a template.

I followed these steps to get it working:

  1. Open the Registry Editor and go to HKEY_LOCAL_MACHINE -> System -> CurrentControlSet -> Control -> TerminalServerScreen Shot 2015-03-30 at 5.41.36 PM
  2. Change the decimal value of AllowRemoteRPC from “0” to “1”Screen Shot 2015-03-30 at 5.41.55 PM
  3. Try to start your Login VSI workload again. For me this did the trick and it started to work.Screen Shot 2015-03-30 at 5.44.03 PM

Common Commands For Cumulus OS

In my previous blog post Install Cumulus OS On A Quanta T3048-LY2R SwitchI covered the installation process of Cumulus OS via ONIE, Open Network Install Environment.

After I installed the OS on my switch, I started to configure it. The configuration is basically the same as configuring a Debian Linux system. Obviously there are some additional features but compared on a high level, that’s what it basically is. The following commands should come in handy while managing your switch:

Note: ifconfig has been deprecated in favor of iproute2 tools

Eth0 is used as the management interface and swp-ports are the front-panel ports

show link status: ip link show
enable a port: ifup swp5
disable a port: ifdown swp5
show port configuration: ifquery swp5
display link information: sudo ethtool swp5
configure static IP for management interface: add the following to /etc/network/interfaces:
auto eth0
iface eth0
address <IP-address/subnet>
gateway <gateway-IP>
set duplex settings: add link-duplex <full | half> to /etc/network/interfaces. Needs to be specified per interface.
set jumbo frames: add "mtu 9216" to /etc/network/interfaces. Needs to be specified per interface.
configure SWP1 for VLAN 100: add the following to /etc/network/interfaces:
auto swp1
iface swp1
  bridge-pvid 100
show current status of all ports: netstat -i
change hostname: vi /etc/hostname & vi /etc/hosts
configure DNS: vi /etc/resolv.conf
set timezone: sudo tzconfg
set ntp: sudo vi /etc/ntp.conf & ntpd -q
show command history: history

I hope this list of commands comes in handy for some you.

Install Cumulus OS On A Quanta T3048-LY2R Switch

Most network switches come pre-loaded with the manufactures Operating System. Cisco, Juniper and HP ship always their hardware with OS bundled together. Over the last couple of years, more and more white box switching and routing gear found its way into the enterprise sector. With software-defined-networks becoming more and more popular, white box switches become more relevant and many modern datacenters like the idea of a Linux based OS for their switches. It makes the administrative process easier, since Linux/Unix skills are widely common in this day and age.

Cumulus Networks makes use of white box switches and develops their own OS, called Cumulus OS. Cumulus OS is Debian based and provides you the common Linux commands plus some additional OS specific commands. Currently Cumulus OS supports only a couple of switches ranging from 1GbE to 10GbE and all the way to 40GbE. Cumulus Networks does not sell the actual switches, instead it only sells their software which is available as a yearly subscription.

Screen Shot 2015-03-24 at 5.22.04 PM

 

I got my hands on a Quanta T3048-LY2R. The T3048-LY2R has 48x 10 GbE SFP+ and 4x 40 GbE QSFP+ ports. Each 40 GbE port can be configured for 40 GbE or 4x 10GbE ports which would offer up to 64x 10GbE SFP+ ports. Further details can be found here. The white box switch together with a Cumulus OS license cost you roughly $6000. Price-wise this switch cannot be beaten by any of the big brands out there.

The T3048-LY2R gets shipped with ONIE installed. Open Network Install Environment combines a bootloader with a modern Linux kernel and BusyBox. ONIE provides a platform which allows you to install any network OS on a bare metal switch. Once you power on the switch, you’ll automatically be dropped into the ONIE:/ # shell.

I used a USB stick to install Cumulus OS on my T3048-LY2R:

  1. Download the latest Cumulus OS to your local machine
  2. Rename the Cumulus OS image to onie-installer and place it on a usb drive which has been formatted with VFAT.
  3. Plug-in the USB stick.TheONIE auto-discovery should automatically detect the USB stick and find the image.
    1. Ifauto-discoveryhas been disabled, you can re-enable it by running
      onie# /etc/init.d/discover.sh start
  4. Once the auto install starts, you should see the installation running through several steps
    ONIE:/ # tiaONIE: Executing installer: file://dev/sda1/onie-installer
    Verifying image checksum ...l
    /bin/sh: tial: not found
    ONIE:/ # OK.
    Preparing image archive ... OK.
    Dumping image info...
    Control File Contents
    =====================
    Description: Cumulus Linux
    OS-Release: 2.5.1-5227ded-201503051128-build
    Architecture: powerpc
    Date: Thu, 05 Mar 2015 11:55:31 -0800
    Installer-Version: 1.2
    Platforms: accton_as4600_54t, accton_as6701_32x, accton_5652, accton_as5610_52x, dni_6448, dni_7448, dni_c7448n, cel_kennisis, cel_redstone, cel_smallstone, cumulus_p2020, quanta_lb9, quanta_ly2, quanta_ly2r, quanta_ly6_p2020
    Homepage: http://www.cumulusnetworks.com/
    Data Archive Contents
    =====================
    -rw-r--r-- build/Development 96092160 2015-03-05 19:55:30 sysroot.squash.xz
    -rw-r--r-- build/Development 44 2015-03-05 19:55:31 sysroot.squash.xz.sha1
    -rw-r--r-- build/Development 1824 2015-03-05 19:55:31 uboot_env.tar.xz
    -rw-r--r-- build/Development 44 2015-03-05 19:55:31 uboot_env.tar.xz.sha1
    -rw-r--r-- build/Development 4186672 2015-03-05 19:55:30 uImage-powerpc.itb
    -rw-r--r-- build/Development 44 2015-03-05 19:55:31 uImage-powerpc.itb.sha1
    Partitioning /dev/mmcblk0... done.
    Formatting /dev/mmcblk0p1... done.
    Formatting /dev/mmcblk0p3... done.
    Validating sha1 for uImage-powerpc.itb... done.
    Validating sha1 for sysroot.squash.xz... done.
    Installing OS-Release 2.5.1-5227ded-201503051128-build into image slot 1 ...
    Copying sysroot into /dev/mmcblk0p5... done.
    Verifying sysroot copy... OK.
    Verifying sysroot copy... OK.
    Erasing 128 Kibyte @ 800000 - 100% complete.
    Validating sha1 for uboot_env.tar.xz... done.
    Updating u-boot environment variables... done.
    Updating u-boot environment variables.
    Success: System provisioning complete. Rebooting...
    umount: can't umount /tmp.iYvd9w: Invalid argument
    umount: can't remount rootfs read-only
    The system is going down NOW!
    Sent SIGTERM to all processes
    Sent SIGKILL toRestarting system.
    U-Boot 2010.12 (Oct 15 2013 - 13:54:14)
    CPU0: P2020, Version: 2.1, (0x80e20021)
    Core: E500, Version: 5.1, (0x80211051)
    Clock Configuration:
    CPU0:1200 MHz, CPU1:1200 MHz,
    CCB:600 MHz,
    DDR:400 MHz (800 MT/s data rate) (Asynchronous), LBC:37.500 MHz
    L1: D-cache 32 kB enabled
    I-cache 32 kB enabled
    Board: Quanta LY2R P2020, Rev A
    I2C: ready
    DRAM: Detected UDIMM TS256MSK64V3N
    Detected UDIMM(s)
    DDR: 2 GiB (DDR3, 64-bit, CL=6, ECC off)
    SD/MMC : 4-bit Mode
    FLASH: 128 MiB
    L2: 512 KB enabled
    MMC: FSL_ESDHC: 0
    LY2R U-Boot
    Product Name : LY2R
    Model Name : QUANTA LY2R
    Serial Number : SN
    Part Number : 1LY2BZZ000X
    Label Revision Number : 1
    Hardware Version : 1.0
    Platform Version : 0xf2f1
    Release Date : 2014/4/12
    MAC Address : c4:54:44:61:ea:b4
    Set ethaddr MAC address = c4:54:44:61:ea:b4
    PCIe1: Root Complex of Slot 1, x2, regs @ 0xffe0a000
    01:00.0 - 14e4:b846 - Network controller
    PCIe1: Bus 00 - 01
    In: serial
    Out: serial
    Err: serial
    Net: eTSEC1: PHY is Broadcom BCM5461S (2060c1)
    eTSEC1
    Hit any key to stop autoboot: 0
    ** local boot **
    Booting primary image...
  5. After the primary imagehas been loaded successfully, youshould be dropped into the Cumulus OS login prompt.
    1. The default username is cumulus and the password is CumulusLinux!
  6. You’re all set. Enjoy your new switch with the Cumulus OS!

Optimize your VMware VDI template

People who use Horizon View or plan to use it, are always looking for the perfect template configuration. We all ask ourselves, did I turn everything off, did I install all the software which my user need, did I miss some registry entry?

While going through the same thoughts, I came across the VMware OS Optimizing Tool. If you ask me, this is exactly what you need if you want to build a stella template for your Horizon View setup.

The VMware OS Optimizing Tool is for free and helps to optimize Windows 7/8/2008 and 2012. In order to run the software, you will need Windows 7/8/2008 or 2012 and .Net Framework 3.5 SP1 installed.

VMwareOptimizingTool

To get started with VMware OS Optimization Tool, download it from here and either start it on your Horizon View template or on a different machine, which can access the Horizon View template.

Once started, you can either run an Analysis of the local machine or of a remote machine:

Screen Shot 2015-03-17 at 3.04.55 PM

If you select Analyze, you have to choose the Optimization Template Name. Select the proper template, based on the OS of your template.
Next, hit the Analyze button and wait a few seconds until you receive the result of your work.

Screen Shot 2015-03-17 at 3.10.31 PM

As shown on the image above, I ran the VMware OS Optimization Tool on my Microsoft Windows 7 Enterprise template and it detected 20 un-optimized settings, as the graph in the top right corner shows.
Luckily this tool can automatically fix all u-optimized settings with a simple click on Optimize.

After you ran the optimization wizard, you can take a look under History, which shows you when an optimization task ran and you can rollback to the previous state.

Screen Shot 2015-03-17 at 3.20.39 PM

Overall, the VMware OS Optimization Tool seems like a great tool to keep in your tools repository and come in handy when building a Horizon View template. All optimization made by this tool, are based on the VMware OS Optimization Guide.