# General

When implementing VMware Horizon View Pools with a large number of desktops (large = exceeding the limit of a single /23 or /24 bit subnet), there are basically 3 options to properly arrange network connectivity for the virtual desktops within a VMware Horizon View environment:

1. Option 1: Create a single large subnet in which all of the virtual desktops can be added.
2. Option 2: Create multiple smaller subnets. Preferable, each subnet is a /23 or /24 bit subnet.
3. Option 3: Create a single large subnet in which all of the virtual desktops can be added and limit the broadcast domain by making use of private VLANs.

Method
Single large subnet
• Only a single VMware Port group is needed on the VMware Distributed Virtual Switch
• Creation/updating VMware Horizon View pools can be done through the VMware Horizon View GUI
Multiple smaller subnets – Multi VLAN
• Multiple port groups needed on the VMware Distributed Virtual Switch
• Creation/updating VMware Horizon View pools requires the use of command line interfaces
Single large subnet + private VLANs
• Only a single VMware Port group is needed on the VMware Distributed Virtual Switch
• Creation/updating VMware Horizon View pools can be done through the VMware Horizon View GUI
• Additional security because VDIs can not communicate with each other
• Additional configuration of Private vlans

# Multi-VLAN Networks

In a /23 subnet their are 512 IP addresses, but only 510 are usable. Therefore the number of required VDI VLANs per datacenter is maximum equal to: (Total number of desktops) / 510.

For example if you want to run 1250 desktops per datacenter you will need 1250/512 = 2,45 ==> 3 VLANs per datacenter

 Datacenter VLAN ID Subnet Maximum amount of VDIs Example DC01 100 192.168.100.x/23 510 DC01 101 192.168.101.x/23 510 DC01 102 192.168.102.x/23 510

DHCP will be used to provide virtual desktops with an IP address. Within an VMWare Horizon View environment, it is best practice to keep the DHCP lease periods low, it is recommended to set the leases between1 and 8 hours.

To be able to assign multiple VLANs / subnets to the same VMware Horizon View pool, multiple network labels per pool need to be defined. Every portgroup on the VMware vSphere networking level gets a Network Label. By using PowerCLI you are able to add those Network Labels to a VMware Horizon View pool.

From a management perspective, it is advisable to use vSphere Distributed Switches (vDS) if you would like to use Network Labels. If the vDS is properly configured, you will have to add the port groups only once on the vDS and this configuration will be distributed to all of the hosts in the vSphere cluster

Before creating a VMware Horizon View desktop pool, the necessary port groups on the vDS need to be defined and each portgroup will have to be attached to a VLAN network with a /23 subnet. It is important that the physical routers and switches are also correctly configured to support those multiple port groups.

Next, VMware Horizon View pools can be created and the necessary port group network labels can be added to the VMware Horizon View pools. Each VMware Horizon View pool will have its own maximum amount of VMs per network label.

The figure below shows the proposed design (example is shown for a VMware Horizon View pool with a maximum of 1530 Virtual Desktops per datacenter):

For more info regarding configuring & defining multiple network labels per pool, please refer to http://pubs.vmware.com/horizon-62-view/topic/com.vmware.view.integration.doc/GUID-9A451937-CCE8-4AA0-A4C6-903A3B5880EE.html or http://pubs.vmware.com/horizon-7-view/index.jsp#com.vmware.view.integration.doc/GUID-9A451937-CCE8-4AA0-A4C6-903A3B5880EE.html or http://vhojan.nl/horizon-view-best-practices-multi-vlan-network/

# Multi-VLAN Networks

To assign multiple Network Labels to a VMware Horizon View Desktop Pool, the following steps need to be performed:

Step 1: Properly configure the required portgroups on the Virtual Distributed Switch

Make sure that the proper port groups have been defined on the Virtual Distributed Switch.

For this VMware Horizon View environment, only 1 portgroup will be needed within the Virtual Distributed Switch within a datacenter. This portgroup will be attached to a certain VLAN ID with a corresponding /23 subnet network.

However, when expanding the project to include more users more portgroups will need to be added.

Step 2: Create the necessary VMware Horizon View pools

Within the VMware Horizon 6 View administrator console, create the necessary VMware Horizon View pools in which you want to add the Network Label.

Step 3: Obtain and Export NIC and Network Label Information

Before you can assign multiple network labels to a pool, you must obtain NIC and Network Label information and export that information to a network label configuration file. For a full-clone pool, you obtain information about the NICs configured on the template that you use to create the full-clone pool. For a linked-clone pool, you obtain information about the NICs configured on the parent virtual machine that you use to create the linked-clone pool. You obtain network label information from the available network labels configured on the ESXi hosts in the cluster on which the desktop pool is to be deployed. When you export the NIC and Network Label information to a network label configuration file, you set the maximum number of virtual machines that can be provisioned with IP addresses from each network label. You should allow a certain number of virtual machines for overhead. For example, if a network label VLAN allows a maximum of 510 IP addresses to be assigned to virtual machines, you might set the maximum number to 500.

• Launch command Export-NetworkLabelSpecForLinkedClone -Vc_id $(Get-Pool -DisplayName “xxxx”).vc_id -ClusterPath$(($pool.resourcePoolPath.Split(“/”) | Select -first 4) -join “/”) -ParentVM$pool.parentVMPath -ParentSnapshotPath $pool.parentVMSnapshotPath -MaxVMsPerNetworkLabel 500 -NetworkLabelConfigFile c:\label.txt where xxxx is equal to the displayname of the pool • The result of the above command is the creation of an exported Network Label Configuration file C\label.txt Example – Exported Network Label Configuration File #Network Label Configuration Spec (UTF-8) #WARNING! Setting enabled flag to false will #turn off the automatic network label assignment #for newly provisioned desktops. enabled=true #Parameter Definition for NIC nic1=Network adapter 1 #Parameter Definition for Network network01=management network02=dmz network03=servers network04=vdi-01 network05=vdi-02 #Network Label Attribute Definition #Expected format: #<nic_param>.<network_param>.maxvm=<max vm for network label> ####nic1.network01.maxvm=500 ####nic1.network02.maxvm=500 ####nic1.network03.maxvm=500 ####nic1.network04.maxvm=500 ####nic1.network05.maxvm=500 Step 4: Verify and Edit a Network Label Configuration File After you generate a network label configuration file, you must verify its contents and edit it to specify the NIC and network label pairings to assign to the pool. The following procedure needs to be executed: • In a text editor, open the network label configuration file c:\label.txt that was created in the previous smtp. • For each NIC and network label pairing that you want to assign to the pool, remove the comment marks (####). • Verify that each network label is assigned to only one NIC. • Verify that only one type of network label is used for the pool. A NIC can be configured with a standard network switch or distributed virtual network switch. • Save your changes In the below example, all networks are assigned to nic1. This configuration can support a pool of up to 1000 virtual machines. Example – Edited Network Label Configuration File #Network Label Configuration Spec (UTF-8) #WARNING! Setting enabled flag to false will #turn off the automatic network label assignment #for newly provisioned desktops. enabled=true #Parameter Definition for NIC nic1=Network adapter #Parameter Definition for Network network01=management network02=dmz network03=servers network04=vdi-01 network05=vdi-02 #Network Label Attribute Definition #Expected format: #<nic_param>.<network_param>.maxvm=<max vm for network label> ####nic1.network01.maxvm=500 ####nic1.network02.maxvm=500 ####nic1.network03.maxvm=500 nic1.network04.maxvm=500 nic1.network05.maxvm=500 Step 5: Update a desktop pool that will use Multiple Network Labels You can use VMware Horizon View PowerCLI cmdlets to update an automated full-clone or linked-clone desktop pool that will use multiple network labels: Option Actions Update a linked-clone pool Run the Update-AutomaticLinkedClonePool cmdlet and specify the path to the network label configuration file with the -NetworkLabelConfigFile parameter. Update a full-clone desktop pool Run the UpdateAutomaticPool cmdlet and specify the path to the network label configuration file with the -NetworkLabelConfigFile parameter. • Log in to a VMware Horizon View Connection Server with an administrator account • Launch “View PowerCLI” (run as administrator) • Launch command Update-AutomaticLinkedClonePool -Pool_id$(Get-Pool -DisplayName “xxxx”).pool_id -NetworkLabelConfigFile “c:\label.txt” where xxxx is equal to the displayname of the pool