Category Archives: Citrix XenDesktop

Nutanix and VMware APIs for Array Integration (VAAI) – Quick Tip



In the second of my series of Quick Tip’s with Nutanix I wanted to cover off  VMware APIs for Array Integration (VAAI).

The Nutanix platform supports VAAI which allows the hypervisor to offload certain tasks to the array. This vSphere feature has been around a while now and is much more efficient as the hypervisor doesn’t need to be the “man in the middle” slowing down certain storage related tasks.

Nutanix support all the VAAI primitives for NAS

  • Full File Clone
  • Fast File Clone
  • Reserve Space
  • Extended Statistics

If you are not aware of what these primitives mean, I’d suggest reading the VMware VAAI Techpaper.

For both the full and fast file clones an  NDFS “fast clone” is done meaning a writable snapshot (using re-direct on write) for each clone is created. Each of these clones has its own block map meaning that chain depth isn’t anything to worry about.

I’ve taken the following from Steven Poitras’s Nutanix Bible

The following will determine whether or not VAAI will be used for specific scenarios:

  • Clone VM with Snapshot > VAAI will NOT be used
  • Clone VM without Snapshot which is Powered Off –> VAAI WILL be used
  • Clone VM to a different Datastore/Container –> VAAI will NOT be used
  • Clone VM which is Powered On –> VAAI will NOT be used

These scenarios apply to VMware View:

  • View Full Clone (Template with Snapshot) –> VAAI will NOT be used
  • View Full Clone (Template w/o Snapshot) –> VAAI WILL be used
  • View Linked Clone (VCAI) –> VAAI WILL be used

What I haven’t seen being made clear in any documentation thus far (and I’m not saying it isnt there, I’m simply saying I havent seen it!), is that VAAI WILL only work when the source and destination resides in the same container. This means consideration needs to be given as to the placement of ‘Master’ VDI images or with automated workloads from vCD or vCAC.

For example, if I have two containers on my Nutanix Cluster (Master Images and Desktops) with my master image residing in the master images container, yet I want to deploy desktops to the Desktops container VAAI will NOT be used.

I don’t see this as an issue, however more of a ‘Gotcha’ which needs to be considered at the design stage.

Nutanix Networking – Quick Tip

I

‘ve spent the past 4 months on a fast paced VDI project built upon Nutanix infrastructure, hence the number of posts on this technology recently. The project is now drawing to a close and moving from ‘Project’ status to ‘BAU’. As this transition takes place, I’m tidying up notes and updating documentation. From this, you may see a few blog posts  with some quick tips around Nutanix specifically with VMware vSphere architecture.

As you may or may not know, a Nutanix block ships with up to 4 nodes. The nodes are stand alone it terms of components and share only the dual power supplies in each block. Each node comes with a total of 5 network ports, as shown in the picture below.

Back_of_Nutanix

Image courtesy of Nutanix

The IPMI port is a 10/100 ethernet network port for lights out management.

There are two 2 x 1GigE Ports and 2 x 10GigE ports. Both the 1GigE and 10GigE ports can be added to Virtual Standard Switches or a Virtual Distributed Switches in VMware. From what I have seen people tend to add the 10GigE NICs to a vSwitch (of either flavour) and configure them in an Active/Active fashion with the 2 x 1GigE ports remaining unused.

This seems to be resilient, however I discovered (whilst reading documentation, not through hardware failure) that the 2 x 10GigE ports actually reside on the same physical card, so this could be considered a single point of failure. To work around this single point of failure, I would suggest incorporating the 2 x 1GigE network ports into your vSwitch and leave them in Standby.

With this configuration, if the 10GigE card were to fail, the 1GigE cards would become active and you would not be impacted by VMware HA restarting machines in the on the remaining nodes in the cluster (Admission Control dependant) .

Yes, performance may well be impacted, however I’d strongly suggest  alarms and monitoring be configured to scream if this were to happen. I would rather manually place a host into maintenance mode and evict my workloads in a controlled manner rather than have them restarted.

Managing a ‘Master’ VDI Image across multiple sites | Made easy with Nutanix



You are working on a large virtual desktop deployment using Active/Active datacenters, you have multiple use cases and multiple master images. With an Active/Active setup, your users have the possibility of being in DC1 one day, and DC2 the next.

So, what do you do when you have a requirement for the image to be available in case of a site failure? Nutanix make this easy for us, using protection domains and per-VM backups.

What is a protection domain?

A protection domain is a VM or group of VMs that can be backed up locally on a cluster or replicated on the same schedule to one or more clusters. Protection domains can then be associated with remote sites.

It is worth noting that protection domain names must be unique across sites and a VM can only reside in one protection domain.

A protection domain on a cluster will be in one of two modes:

  • Active – Manages live VMs, makes, replicates and expires snapshots
  • Inactive – Receives snapshots from a remote cluster

A Protection Domain manages replication via a Consistency Group.

What is a consistency group?

A Consistency Group is a subset of the VMs within the Protection Domain. All VMs within a Consistency Group will be snapshotted in a crash-consistent manner and have snapshots created at each replication interval.

What is a snapshot?

A snapshot is a read-only copy of the state and data of a VM at a point in time. Snapshots for a VM are crash consistent. This means that the VMDK on disk images are consistent with a single point in time. The snapshot represents the on disk data as if the VM crashed. These snapshots are not however application consistent meaning the application data is not quiesced at the time of the snapshot. With some server workloads this could cause us some issues for recovery, however for our VDI master image this is not an issue – the master image is likely going to be powered off the majority of the time. Snapshots are copied asynchronously from one cluster to another.

What are per VM Backups?

A per VM backup give the ability to designate certain VMs for backup to a different site, such as a group of desktop master images. Not all legacy storage vendors offer the ability to replicate at a VM level, normally an entire LUN or Volume replicated at a single time.

 Where am I going with this?

There are many solutions to replicate data, however Nutanix provides this capability, albeit at a small cost, within its platform. No additional components are necessary and it even has an SRM plugin. The key feature is Nutanix integrates with vSphere to make this is a seamless process.

Andre Leibovici posted a great article Disaster Recovery – Failover and Failback with Nutanix which explains the process and includes a video which is below.

Working with vSphere 5.5 and Nutanix  check out my Nutanix Configuration with vSphere 5.5 post

Nutanix Configuration with vSphere 5.5

Over the past few weeks, I’ve been involved in a fast paced VDI project that is planned to scale up to 10K seats.

nosan
Of  late, I’ve not had much involvement with VDI projects and have been focussing more on Private Cloud projects, however this project quickly got my attention as Nutanix were the chosen vendor for the solution.
Given this constraint, the design process was easy, made even easier with the first phase use case.
For those not already aware of Nutanix, here is a great video explaining How Nutanix Works and gives a great insight into the offering.
I wanted to share some of the configuration changes we made to during the build phase and to the vSphere 5.5 platform.

Nutanix Build

First off, Nutanix have recently changed the way they ship their blocks to site. They used to be shipped with a specific flavour of VMware ESXi, however with added support for KVM and Hyper-V, as well as there being a number of different ESXi versions used in the workplace, they found customers always wanting to change the out of the box software. Nutanix now installs the Nutanix Operating System (NOS) controller virtual machine (CVM) and a KVM hypervisor at the factory before shipping. If you want to use a different hypervisor (such as VMware ESXi) nodes must be re-imaged on site and the NOS CVM needs to be reinstalled. Sound daunting? Well, it’s not really.
Nutanix will provide you with two tools named Orchestrator (Node imaging tool) and Pheonix (Nutanix Installer ISO). Once you have these files and your chosen hypervisor ISO, you’ll need to download and install Oracle VM VirtualBox to get underway. This process is very well documented so i’m not going to replay that here, however I would suggest:
  1. Ensure the laptop/desktop you are configuring the Nutanix block from has IPv6 enabled. IPv6 is used for the initial cluster initialization process.
  2. If configuring multiple Nutanix blocks, only image 4 nodes at a time. We attempted 8 at a time, however imaging this many nodes at a time proved troublesome for the installer.
  3. Keep your ESXi VMkernels and CVM VM’s on the same subnet. This is well documented, however for security we had to attempt to split these on different VLANs. This caused some issues with the auto-pathing feature.

I’ll point out here, after we configured out first, 2 block, 8 node cluster, we decided to manually install the second 2 block 8 node cluster and skip using the automated imaging process. This process again is very well documented and took less than 1 hour to have 8 VMware ESXi nodes up and running with storage presented to all nodes. Compare that to the traditional way and this is still a very impressive setup time.

When you’ve built your nodes, boot them into the BIOS and configure the Power Technology from Energy Efficient to Max Performance to ensure power savings don’t dampen performance.

vSphere Configuration

In this particular environment, we were making use of Nutanix de-duplication, which increases the overhead on each CVM. We therefore increased the RAM on each CVM from the default of 16GB to 32GB and set a vSphere reservation to ensure it always has this physical RAM available.

Nutanix have done a very good job with their documentation which detail recommended configurations per vendor for things such as HA and DRS in vSphere. After reading an Example Architecture blog by Josh Odgers I decided to add an advanced parameter to my HA configuration to change the default isolation address by adding “das.isolationaddress1 | Nutanix Cluster IP address”. I chose the cluster IP address over a CVM IP address for a simple reason. If a CVM hosting the cluster IP address fails, the cluster IP automatically is moved to another CVM in the cluster. The cluster IP is a new configuration option that was released for Hyper-V support, but we can make good use of it in the VMware world.

Each CVM resides on local SSD storage in the form of a 60GB SATA DOM. When you logon to the vSphere client and try and deploy a new workload you will have the option of deploying out to this 60GB SATA DOM SSD storage. This deployment was solely going to be used for a VDI project, therefore all workloads would be provisioned directly from a broker meaning we can control in the broker which datastores the workloads will reside in.  So, to avoid any confusion and to stop an over eager admin deploying out to the SATA DOM disk, I created a Datastore Cluster with all Storage DRS and IO options disabled and named it along the lines of “Nutanix NOS Datastore – Do Not Use”.

Overall, the Nutanix devices are very easy to deploy and you can be up and running in next to no time. Now, I’ve managed to get all this down in a post, I can do some performance tests for my next post!

Citrix PVS | Windows 7 BSOD

During a recent project, I was at the deployment stage of the PoC. This particular piece of work was using VMware vSphere as the underlying hypervisor, with Citrix XenDesktop as the broker solution and Citrix Provisioning server for the image deployment.

It was a relatively small PoC, just to test out the designs to ensure they would stand up in the pilot phase, and to ensure we had relevant communication ports open.

The install went very smoothly, until I started to create the VHD’s with Provisioning server and boot test machines from that VHD image. Whilst the image conversion completed without any ‘major’ errors in the log (there were a number, but not to worry about) and the image we copied was in perfect health, the VHD would constantly produce a BSOD.

Now, I had already followed Citrix recommendation to ensure the servers and the desktops were making use of the VMXNET3 network adapter. I had also installed the Microsoft hotfix described here to resolve the known issues with the VMXNET drivers to no avail.

After going through a few different troubleshooting steps mentioned in forums (such as removing the MS hotfix above, then removing the PVS software from the target, reinstalling the hotfix the the PVS software) I was starting to become a little frustrated. A colleague then cast his eye over everything when we discovered the the VMware tools were out of date on both the desktop image and the PVS server. Although these had been initially updated after the VM templates were deployed  the hosting infrastructure was upgraded from 5.0U2 to 5.1 U1 during that day, carried out by a separate team within the customers IT department. As soon as the tools were updated to the latest revision on both the PVS server and the desktop image, the image was re-imported into the PVS server, and as if by magic the issue was resolved.

Lesson learnt – Keep an eye on VMware tools versions and ensure (where possible) they are up to date and consistent when using Citrix PVS.

EMEA vBrownBag Presentation

As I mentioned in the post EMEA vBrownBag I’m Presenting!! last night I presented alongside my Xtravirt colleague Grant Friend on the EMEA vBownBag. We had a few people on the WebEx live and had some good questions asked throughout the session.

The presentation was a re-run of the presentation we ran at the July 2013 London VMUG and covered some pinpoints and tips and tricks post a 4K seat VDI deployment across EMEA.

A big thanks to Gregg Robertson and the vBrownBag team for inviting us on, and thanks to Grant Friend for presenting alongside me again!!

If you missed the presentation, you can view below.

 

London VMUG July 4th – I’m presenting!!

The next  London VMUG is nearly upon us, this time round I’ll be presenting alongside my Xtravirt colleague Grant Friend.

The London VMUG takes place on Thursday 4th July 2013 from 08:30 until 17:00. It will be in it’s usual location at London’s Chamber of Commerce and Industry, 33 Queen Street, London, EC43 1AP.

Our session (we hope!) will be an interactive session, discussing the approach and pitfalls of a 4000 seat VDI deployment throughout the EMEA region. We will both be first time presenters at the VMUG, so if you choose to attend, please be gentle!

The agenda is yet to be finalised but a preliminary agenda is below.

VMUG Agenda

 

As always, the lineup looks good with key presentations from Veeam’s Hans De Leenheer and Pernix Data’s new evangelist Frank Dennaman , it should be a good day, followed by vBeers. Get yourself registered here early and see you there!

Windows 7 – Default Profile for VDI

I’ve managed to get a fair few EUC projects under my belt now ranging from small 50 seat deployments up to 4000 seat cross country deployments. Some have been from cradle to grave, whilst others have been bit part roles.

I’ve seen multiple issues in some deployments, many of which generally point back to the default profile. One common theme I’ve noticed (especially with Windows 7) is people often underestimate the importance of the Windows 7 default profile in their master image, so much so, I decided to write some “How to…” posts on a tried and tested method of creating a Windows 7 image with a correctly configured default profile. I wrote three posts which can be found over on my company blog site:

Windows 7 – The Default Profile Part 1

Windows 7 – The Default Profile Part 2

Windows 7 – The Default Profile Part 3

If you are planing an EUC deployment or even working on one now, I’d suggest having a quick read.

 

Office (Outlook) Customisation with VDI

During a recent engagement I hit upon an issue where I had a stateless desktop, no roaming profiles and no persona management available to me, yet my customer wanted to have Microsoft Outlook automatically connect to Exchange without any user interaction.

I messed around with a few ideas, but didn’t want to make any dramatic changes to my customers current environment as this was all for a PoC. After some trial and error with various methods I decided to use the Office Customization Tool to forcefully inject the Exchange profile settings into the Office installation. This is not something I have done for a long time since my desktop support days, so thought I would write this post to refresh mine and perhaps others memories.

I’m not going to delve into what else the Office Customization tool in Office 2010 can do, Microsoft have this covered off in TechNet here http://technet.microsoft.com/en-gb/library/cc179097(v=office.14).aspx

Firstly either ensure you have your Office 2010 media mounted to your CD/DVD drive or  you have the media available on a network share.

Open the command prompt and change to the location of MS Office 2010.

Launch the OCT by issuing the following command: setup.exe /admin 

Select Product

You will be promoted if you would like to create customzation or modify an existing one, select create new and select your version of Office from the list.

Welcome Screen

From the navigation pane select Outlook Profile and select ‘New Profile’, give the profile a meaningful name.

New Profile

From the navigation pane select ‘Add Accounts’ and Select ‘Customize additional Outlook profile and account information’  then click ‘Add’.

Add AccountA new wizard will appear that allows you to choose a number of different accounts, in my case I selected Exchange, then click ‘Next’.

Exchange SettingsYou are then prompted to add your Exchange settings (don’s add mine it’s just an example!) Before clicking next click ‘More Settings’ and select the ‘Cached Mode’ tab.

Exchange Cached ModeSelect the option to ‘Configure Cached Exchange Mode’ and ensure all boxes are unchecked.

Click ‘OK’ then Click ‘Finish’. Ensure that the new account is the selected account for both ‘Deliver new mail’ and ‘Default e-mail account’ options.

default Accounts

Save the file to the root of your C:\ by clicking ‘File>Save As’ and ensure the filename has no spaces in it.

SaveAs

 

You are now ready to install Office using your custom file. To do so, execute the following command: setup.exe /adminfile c:\outlookmsp.msp (replace with your filename!!)

CMD LaunchAfter a few seconds pause, the Office Installation screen will appear, simply run through the Wizard.

Office Wizard