EUC Layers: Horizon Connectivity or From NSX Load Balancers with Love

Another layer that will hit your end users is the connectivity from the client device to the EUC solution. No intermitted errors allowed in this communication. Users very rarely like connection server are not reachable pop-ups. Getting your users securely and reliably connected to your organization’s data, desktops, and applications while guaranteeing connection quality and performance is key for any EUC solution. For a secure workspace protecting and reacting to threats as they happen even makes software-defined networking more important for EUC. The dynamic software is required. And that all for any place, any device, and anytime solution. And if something breaks well….

Rest of the fire

One of the first things we talk about is the need for reliable load balance several components as they scale out. And for not getting into all the networking bits in one blog post, I am sticking with load balancing for this part.

As Horizon does not have a one package deal with networking or load balancing, you have to look use an add-on to the Horizon offering or outside the VMware Product suite. Options are:

  • interacting with physical components,
  • depending on other infrastructure components such as DNS RR (that is a poor man’s load balancing) preferably with something extra like Infoblox DNS RR with service checks,
  • using virtual appliances like Kemp or NetScaler VPX. VPX Express is a great free load balancer and more.
  • Specific Software-Defined Networking for desktops, using NSX for Desktop as an add-on. Now instantly that question pops up why isn’t NSX included in, for example, Horizon Enterprise like vSAN? I have no idea but probably has something to do money (and cue Pink Floyd for the earworm).

And some people will also hear about the option of doing nothing. Nothing isn’t an option if you have two components. At a minimum, you will have to do a manual or scripted way of redirecting your users to the second component when the first hits the load mark, needs maintenance or fails. I doubt that you or your environment will remain long loved when trying this in a manual way…..

The best fit all depends on what you are trying to achieve with the networking as a larger picture or for example load balancing specifically. Are you load balancing the user connections to two connection servers for availability, doing tunneled desktop sessions, or doing a cloud pod architecture over multiple sites and thus globally. That all has to be taken into account.

In this blog post, I want to show you using NSX for load balancing connection server resources.

Horizon Architecture and load balancers

Where in the Horizon architecture do we need load balancers? Well, the parts that connect to our user sessions and a scaled out for resources or availability. We need them in our local pods and global load balancers when we have several sites.

Externally:

  • Unified Access Gateway (formally known as Access point)
  • Security Server (if you happen to have that one lying around)

Internally:

  • Workspace ONE/vIDM.
  • Connection Servers within a Pod, with or without CPA. However, with CPA we need some more than just local traffic.
  • AppVolumes Managers.

And maybe you have other components to load balance, such as multiple vROPS analytical nodes for user interface load not hitting one node. As long as the node the Horizon for adapter connects to or from is not load balanced.

Load Balancers

To improve the availability of all these kind of components, a load balancer is used to publish a single virtual service that internal or external clients connect to. For example, for the connection server load balanced configuration, the load balancer serves as a central point for authentication traffic flow between clients and the Horizon infrastructure, sending clients to the best performing and most available connection server instance. I will keep the lab a bit simple by just load balancing two connection server resources.

Want to read up more about load balancing CPA? EUC Junkie Bearded VDI Junkie vHojan (https://twitter.com/vhojan) has an excellent blog post about CPA and impact of certain load balancing decisions. Read it here https://vhojan.nl/deploy-cpa-without-f5-gtm-nsx/.

For this one here, on to the Bat-Lab….

Bat-Labbing NSX Edge Load Balancing

Let’s make the theory stick and get it up and running in a Horizon lab I have added to Ravello. Cloned from an application blueprint I use for almost all my Horizon labs and ready for adding a load balancing option NSX for Desktop. The scenario is load balancing the connection servers. In this particular example, we are going to one-armed. this means the load balancer node will live on the same network segment as the connection servers. Start your engines!

Deploying NSX Manager

How do your get NSX in Ravello? Well either deploy it on a nested ESXi or import method to deploy NSX directly on Ravello Cloud AWS or GC. I’m doing the last. As you did not set a password you can log in to the manager with user admin and password ‘default’.
That is the same password you can use to go to enable mode, type enable. And if you wish config t for configuration mode. Flashback to my Cisco days :))….In configuration mode, you can set hostnames, IP and such via CLI.
But the easiest way is to type setup in basic/enable mode. Afterwards, you should be able to login via the HTTPS interface. Use that default password and we are in.

NSX - vTestlab

Add a vCenter registration for allowing NSX components to be deployed. On to the vSphere Web Client. Add this point you must register an NSX license else you will fail to deploy the NSX Edge Security Gateway Appliance.

Next prepare the cluster for a network fabric to receive the Edges. Goto Installation and click the Host Preparation tab. Prepare hosts in your cluster you want to deploy to (and have licensed for VDI components or NSX for Desktop is no option). Click on actions – install when you are all set.

NSX - Prepare Host

For this Edge Load Balancer services deployment, you don’t need a VXLAN or NSX Controller. So for this blog part, I will skip this.

Next up deploying an NSX Edge. Go to NSX Edge and client on the green cross to add. Fill in the details, configure a minimum of one interface (depending on the deployment type) as I am using a one-arm – select the pools, networks and fill in the details. In a production, you would also want some sort of cluster for your load balancers, but I have only deployed one for now. Link the network to a logical switch, distributed vSwitch or standard vswitch. I have only one, so the same network standard vSwitch. Put in the IP addresses. Put in a gateway and decide on your firewall settings. And let it deploy the OVA.

If you forgot to allow for nested in the /etc/vmware/config and get You are running VMware ESX through an incompatible hypervisor error. Add vmx.allowNested = “TRUE” to that file on the ESXi host nested on Ravello. Run /sbin/auto-backup.sh after that. If you retry the deployment this will normally work.

Load Balancing

We have two connection servers in vTestLab

Connection Servers

Go back to the vSphere web client and double-click the just created NSX edge. Go to Manage and tab Load Balancer. Enable the Load Balancer.

Horizon LB - Enable Global

Create an Application Profile. For this configuration, I used an SSL pass-through for HTTPS protocol with SSL-Session persistence in the below example. The single threaded NSX reallyt realy suitable for SSL offloading here. But I should have read the documentation a bit better as source IP is documented. Testing shows the source IP persistence works better. Probably SSL sessions are reinitiated somewhere along the line, and SSL-sessionid gives you a new desktop more often than with source IP.

For this setup, you can leave the default HTTPS service monitor. Normally you would also want to have service checks on for example the Blast gateway (8443) or PCoIP (4172) if components use this.
Next setup your pool to include your virtual servers (the connection servers) and the service check, monitor port, and connections to take into account.

NSX Hor Pool Detail

Next up create the virtual server with the load balancing VIP and match that one to the just created pool.

Virtual Server

After this look at the status and select pool

NSX Pool Status.png

Both are up.
You can now test if an HTTPS to 10.0.0.12 will show you the connection server login page.

Connected.png

Connected. Using HTML Access will fail with an error connecting to the connection server (Horizon 7.1) as I did not change the origin checking. You can disable this protection by adding the following entry to the file locked.properties (C:\Program Files\VMware\VMware View\Server\sslgateway\conf) on each connection server:

balancedHost=URL via loadbalancer such as vdi.euc.nl
portalHost.1=UAG FQDN
portalHost.2=UAG FQDN
portalHost.3=UAG FQDN
checkOrigin=false

Restart the VMware Horizon View Connection Server service.
And of course, you would add a DNS record to 10.0.0.12 to let your users use the connection to the connection servers, like vdi.vtest.lab. And use an SSL certificate with that name.

Now the last check if the load balancing is working correctly. I kill off one of the connection servers.

Man down

And let see what the URL is doing now:

Admin after man down

Perfect the load balancer connects to the remaining connection server. This time for the admin page.

This concludes this small demonstration of using NSX for Load Balancing Horizon components.

– Happy load balancing the EUC world!

Sources: vmware.com

VCAP-DTM Deploy Prep: Horizon Lab on Ravello Cloud importing OVA

In my last post I was writing about creating a lab for your VCAP-DTM prep. Read it here VCAP-DTM Deploy Prep: La La Land Lab and Horizon software versions. In that post I mentioned the cloud lab option with Ravello Cloud that I’m using myself. With appliances the are some o did you look at this moments while deploying them on Ravello Cloud. There are two or three appliances to take care of depending on your chosen architecture: vROPS, vIDM and VCSA. Two of those you can also do on a VM, vCenter on Windows and vROPS on Windows or Linux. For vROPS, 6.4 is the last version with a Windows installer.

I personally went with one vCenter on Windows combined with composer (Windows only), so I will skip that one. For vIDM you will have to use the OVA.

Okay, options for OVA’s and getting them deployed: 1) directly on Ravello or 2) use nested hypervisor to deploy to, or 3) use a frog-leap with a deployment on vSphere and upload those to Ravello. The first we are going to do as the second creates a dependency with a nested hypervisor, wasting resource on that layer, getting the data there, traffic data flow, and for this lab I don’t want the hypervisor to be used other than for composer actions required in the objectives. The third, well wasn’t there a point to putting labs in Ravello Cloud.

Now how do I get my OVA deployed on Ravello?

For this we have the Ravello import tool where we can upload several VM’s, disks and installers to the environment. We first need to have the install bits for identity manager and vROPS downloaded from my.vmware.com.

In Ravello Cloud go to Library – VM – +Import VM. This will either prompt you to install Ravello Import Tool (available for Windows and Mac) or start the import tool.
In the Ravello import tool click on Upload (or Upload a new item). This will open the upload wizard. Select the Upload a VM from a OVF, OVA or Ravello Export File source. And click start to select your OVA location.

Grab Ravello Import Wizard - VM from OVA

Select the vIDM OVA and upload.

Grab - Ravello Upload There she goes

But are we done?
No grab vROPS as well.

Grab - Ravello Upload vROPS as well.png

If the upload is finished we will need to verify the VM. As part of the VM import process, the Ravello Import Tool automatically gets the settings from the OVF extracted out of the OVA. Verify that the settings for this imported VM matches its original configuration or the one you want to use. You can verify at Library – VM. You will see your imported VM’s with a configuration icon. Click your VM and select the configuration, go through the tabs to check. Finish.

It normally imports the values from the OVF, it will sometimes screw up some values. When you have multiple deployment options like vROPS you will have to choose the default size. vROPS import will be set either to extra small deployment 2vCPU 8GB or very large. Or use the one you like yourself. Same goes with the External Services. I won’t put them in (yet). Checking the settings from the OVA yourself up in the next paragraph.

Now how do I get the information to verify to?

You can from the sizing calculations done in designing the solution ;). But an other wat is to look in the OVA. OVA is just an archive format for OVF and VMDK’s that make up the appliance.

We need something to extract the ova’s. Use tar on any Linux/Mac or 7Zip on a Windows. I am using tar for this example on my mac. First up getting vIDM in running my test lab.

Open a terminal and go to the download location. Extract the ova with tar xvf. xvf stands for verbosely extract file followed by the filename. Well not in that order, but that’s the way I learned to type it ;).

That give us this:

Capture - tar - ova

Here we see the appliance has four disks, system, db, tomcat and var vmdks.

If we look in the OVF (use VI) file, at the DiskSection we will see need to have system in front and bootable. Followed by DB, Tomcat and last var.

Still in the OVF file, next up note the resource requirements for the vIDM VM. We need that figures later on to configure the VM with the right resources. In the VirtualHardwareSection you will find Number of virtual CPUs and Memory Size sections. We will need 2 vCPUs and 6 GB of vRAM (6144). And one network interface, so reserve one IP from your lab IP scheme. Okay ready and set prepping done.

Deploying a VM from the Library

Go to the application you want to add the VM to. Click the plus sign and select the imported VM from the list. In the right pane customize the name, network, external settings and all the things you like to have set.

GRab - Ravello Add imported VM to App

Save and update the Application.

Wait for all the background processes to finish, and the VM is deployed and starts. Open a console to check if the start-up goes accordingly. And it will not 😉 When you have opened a console you will notice a press any key message that the appliance fails to detect VMware’s Hypervisor and you are not supposed to run the product on this system. When you continue the application will run in an unsupported state. But we are running in a lab and not production.

IF YOU ARE READING THIS BLOG AND (MERELY) THINK ABOUT RUNNING PRODUCTION ON RAVELLO OR RUNNING PRODUCTION WITH THE IMPORTED VIDM LATER ON, GO QUIT YOUR JOB AND GO WALK THE WALK OF SHAME FOREVER.

Grab - Ravello Press Key

Press any key if you can find the any key on your keyboard. And yes you will have to do this all the time you start-up. Or use the procedure highlighted at this blog post https://www.ravellosystems.com/blog/install-vcenter-server-on-cloud/  to change /etc/init.d/boot.compliance (Scroll to 4 action 2 in the post, or to MSG in the file). Do it after you have configured the VM and the required passwords. But sssst you didn’t hear that from me…..

Back to the deployment and configure the VM with hostname, DNS and IPv4. Save and restart network. After this the deployment will continue with the startup.

And now you have a started appliance. We need the install wizard for IDM. Go to the vIDM URL that is shown on the blue screen in the console. For example, https://hostname.example.com. If this is the first time it will start the install wizard. Put in the passwords you want, select your database and finish.

After that you are redirected to the login screen. Log on with your login details and voila vIDM is deployed.

Grab - Ravello vIDM

Bloody Dutch in the interface, everything on my client is English except for the region settings. Have the “wrong” order in Chrome and boom vIDM is in Dutch. For the preparation and the simple fact that I cannot find anything in the user interface when its in Dutch I want to change this. Change the order in Chrome://settings – advanced settings – Languages – Language and input Settings button – drag English in front of Dutch to change the order. Refresh or click on a different tab and voila vIDM talks the language required for the VCAP-DTM or to find stuff…

Grab - Ravello vIDM English

Aaand the same goes for vROPS?

You can do the same with the vROPS deployment. Ravello doesn’t support the ovf properties normally used for setting vROPS appliance configuration. You miss that nifty IP address for the vROPS appliance. At the same time you have the issue that vROPS doesn’t like changes too much, it breaks easily. But follow more or less the same procedure as vIDM. For vROPS set the Ravello network to DHCP. Put in a reservation so the IP is not shared within your lab and is shown with the remote console. The IP reservation is used in the appliance itself. It is very important that an IP is set correctly on first boot, else it will break 11 out of 10 times. I have also noticed that setting a static IP in Ravello is not copied to the appliance, use a DHCP for vROPS works more often.

And now for vROPS:

  • Press any key to continue the boot sequence.
  • The initial screen needs you to press ALT+F1 to go to the prompt.
  • the vROPS console password of root is blank the first time you logon to the console. You will have to set the password immediately and it’s a little strict compared to for example the vIDM appliance.
  • the appliance (hopefully) starts with DHCP configured. And you can open a session to the hostname.
  • [Optional if you don’t trust the DHCP reservation] Within vROPS appliance. Change the IP to manual to stay fixed within vROPS so it will not break when changing IP’s. Use the IP it received from the DHCP, do not change or you will have to follow the change IP configuration procedure for master IP (see a how to blog post here: http://imallvirtual.com/change-vrops-master-node-ip-address/):

Changing vROPS DHCP to static:
Run /opt/vmware/share/vami/vami_config_net. Choose option 6 and put in your values, choose option 4 and put yours in and change hostname etc……

Next reboot the appliance and verify the boot up and IP address is correct. If you get to the initial cluster configuration your ready and set.

Other issues failing the deployment are resolved by redeploying the VM, sometimes by first re-downloading and re-importing the OVA in Ravello.

Grab - vROPS First Start

Do choose New installation and get it up for the VCAP-DTM objectives.

If you happen to have enough patience and your application is not set to stop during the initial configuration, you will have a vROPS appliance to use in your Horizon preparations.

So appliances are no issue for Ravello?

Well I do not know for all appliances, but for Horizon the appliance only components that are needed for a VCAP-DTM lab can be deployed on Ravello.

 

-Happy Labbing in Ravello Cloud!

 

Sources: ravellosystems.com, vmware.com

VCAP-DTM Deploy Prep: La La Land Lab and Horizon software versions

VCAP-DTMmmmmm. After securing the VCP-DTM for version 6 and getting the pass results in for the version 7 DTM Beta, my sniper target is set for the VCAP-DTM’s. Maybe I should cut down on Battlefield 1 a bit ;). Anyhow…..

As the title of this post suggests, first up the deploy exam. Version 6 as version 7 VCAP’s are not yet out. Deploy is possibly the one that fits my person a bit lesser than the design part, but it is always good to have the “weakest” out-of-the-way the fastest. But there is no requirement that you should do deploy first, if you want design out of the way first go with that one.

Sniper Rifle target

With the VCAPs I have attempted and by hearing of the experience from those that have tried, next to actually knowing what you’re doing time management is (still) the key of securing the VCAPs. I think the actually knowing bit is pretty okay for most that will attempt this exam. Maybe some bit of practice in the Mirage parts for myself. And that is exactly needed for time management. Know your weak(est) and strong(est) points in the list of exam objectives. And next to that, with time management comes drill drill drill. And where better to drill than in a lab. Or to put it in other words, you will need a lab for the deploy!

VCAP-DTM Deploy

Now where are we with DTM?

Exam Topics aka Objectives

You will find a lot of blog post explaining how to prepare and going through all the exam objectives. And I do mean a lot. I am not putting in a how to study for that objective in this blog post. Use your google-fu for that.

The exam objectives for this post are important for what components you need to have in your lab.

On the mylearn page of the exam the exam topics are in expendable sections and clickable white papers, documents and such to prepare. Just go to: https://mylearn.vmware.com/mgrReg/plan.cfm?plan=88780&ui=www_cert. I haven’t seen an other PDF exam blueprint document for this exam on the VMware site.

Some bloggers will offer their packages of collected set of documents for preparation. One for example is offering theirs on: http://www.virtuallyvirtuoso.com/vcap6-dtm/.

VCAP6-DTM Component Versions

When going through the VCAP6 objectives we will need the following components and their versions of the Horizon Suite:

  • Horizon 6.2 Components: CPA, Connection Server, Security Server and Composer.
  • Pools: Linked clone PCoIP pool (Windows 7), RDSH Farm (W2K8R2/W2K12R2), Application Pools (Evernote). Reference machine Windows 7 and RDS version for ThinApp and App Volumes.
  • vSphere and vSAN 6.0: vSphere HA/DRS Cluster resources for management and pools. VSAN Storage.
  • Identity Management: vIDM 2.4.1
  • Application Layer Management: App Volumes 2.9, ThinApp 5, version 5.1.1.
  • Image Management: Mirage 5.4
  • Endpoints: Web-based, Horizon Clients, Kiosk.
  • Operations Management: vROPS for Horizon version 6.1.0.
  • Supporting Infrastructure/Tools: Active Directory (DNS,DHCP), GPO, MSSQL Database server, VMware OS Optimization Tool (OSOT) with support for Windows 7/8, File Services ThinApps Repository, syslog and Windows 2012R2 Jump Host.

The easiest way to get the VMware bits is to go to the Horizon Enterprise edition download on my.vmware.com and select the version 6.2. You need evaluation or an entitled my VMware user to access those. You can use this link for your bits: https://my.vmware.com/group/vmware/info?slug=desktop_end_user_computing/vmware_horizon/6_2.

VCAP Lab Download bits

Download OSOT here: https://labs.vmware.com/flings/vmware-os-optimization-tool.

Strange, wondering why they did not put Access Point or UEM in the exam objectives. Access Point for example is designed to be deployed with Horizon version 6.2. A well less bits to put in the lab.

For supporting Infrastructure and tools, and client versions it is up to you, at least put in the supporting versions.

Study Lab options

The deploy part is a lab based exam. Hands-on experience with the Horizon suite is crucial for success. Not everyone has a home lab, cloud lab credits or have enough resources on their notebooks to put in all the resource hungry Horizon suite components, you can use a combination of lab options in your exam preparations. Don’t forget the Horizon suite versions that are used in the VCAP version and components in your study lab. Practice with the right version, or know what have been changed between versions what takes a little more preparation time.

Get command line experience in practicing with vdmadmin, lvmutil, client and dct command line options, web interface locations, RDP to servers, SSH to appliance and log / config file locations.

Home

This can be a lab in a notebook and to some people having a home lab that are offering more services and resources than a small country uses in a decade. Home labs are excellent for build and break your own. You will not have any permissions issues. Downside mostly are the resources required.

Cloud

Again this provides good experience in build and break your own. Accessible from anywhere. Downside mostly are the resources required and the costs that are involved.

If you are a 2017 vExpert like me, Ravello (https://www.ravellosystems.com/go/vexpert/lab-service-description) still offers 1000 CPU hours per month to vExperts. Build your lab, configure an application start-up and stop procedure and set your lab to stop after practicing. For example put in 2:00 hours of studying and after that your lab will shut down and no CPU cycles will be wasted.

You can even simulate the exam lab speed and put your lab in a cost optimized far away cloud provider location. Pretty good for the time management preparations.
Downside for Ravello is the support of VMware OVA appliance deployment, there are some tips and tricks needed to get appliances uploaded to Ravello. Or optionally go for Windows components or nested deployments.

I’m currently building my lab in here: (yes status stopped in screenshot and Windows 10 is my client)

Ravello vExpert VCAP-DTM Prep

Hands on Labs.

VMware Hands on Labs are an excellent place to practice with a whole scale of VMware products. Use the manual to be guided through the labs, or just click it away and go on your own. Choose from the mobility labs for example: http://labs.hol.vmware.com/HOL/catalogs/catalog/125.

I personally use HOL-1751-MBL-1-HOL a lot. Downside no composer as Horizon 7 instant clones is used, version mismatch with exam lab and no vROPS for Horizon. For vROPS for Horizon I use Testdrive. You also aren’t administrator on Windows hosts and there is no Internet connection to get some missing piece in.

VCAP-HOL1751

You start with 1hr:30min, and you can extend the lab time up to 8 times with one hours. Topping up to 9hr:30minutes of lab time per enrollment. Amazing discovery Mike!

Testdrive

VMware Testdrive is the EUC demo environment. Need to show the customer some part they are missing or need some extra’s to make your point, open up a testdrive for the customer and let them show see it. As a superuser I also misuse it to work on some vROPS for Horizon parts. You are admin in vROPS so testing a metric set for a dashboard or showing policies without breaking the customers vROPS environment. The rest of the components are limited in what you can do and practice over there. But that wasn’t the use case of Testdrive in the first place.

Time management studying for the exam

Time management starts with studying. Plan your exam date and schedule your exam up front. Take enough time to prepare and work through the objectives. How much depends on your own strong and weak points. But do schedule the exam, else you will have no target to work to and that VCAP-DTM will be a never-ending story.

Time management throughout the Exam Lab

You can navigate through the lab exercise scenario’s. Go through the objectives. Use you notepad to put an order for easy or though ones. Get the easy one’s done and out-of-the-way. Labs that require deployments, captures, synchronisation or otherwise take time to finish, start-up those actions and go to the next. Don’t waste time watching progress bars……

There are dependencies between questions and skipping a part of a question because you are waiting for a deployment can be tricky for your mind if your also working through the scenario. You have to make sure you come back to that incomplete task and finish it.

ticktock

Test Center Check

If you have the opportunity and have multiple options for test centers in your friendly neighborhood, be sure to check out what lab setup they have. I know where I would go if I had to choose between test centers that have 21″ or 17″ screens. Or ask on twitter or Reddit if someone has experience with the test center.

– Happy prepping your exam!

Sources: vmware.com, ravellosystems.com