Showing posts with label Citrix. Show all posts
Showing posts with label Citrix. Show all posts

Slow and Choppy Day: Using Citrix Director and HDX Insight


When you’ve been supporting remote users, you hear it all.   Someone called the help desk or worse you.
“Not sure what it is but my vm is slow today?”
“My mouse just keeps wigging out?”
“Everyday from 3pm to 5pm it gets boggy?”
“I’m at my grandmother’s house today and nothing works.” (Yup…True story)

They are tons of great 3rd party monitoring tools out there and many would help you troubleshoot the issue.   We all wish we could buy them all but hey we are on a budget right!   So let’s use what we have.  For those that are running Citrix XenDesktop 7.x with the Platinum license, you have many of the tools and information to help your users specifically XenDesktop Director and NetScaler HDX Insight.  

Here is some key info to pass along to the Level 1 or 2 helpdesk staff.

The General Windows Stuff via Director
It is always a habit to pop open Task Manager or Resource Manager on Windows to check things out and this is still a great place to start even in a virtual environment. The nice thing is you can do it right from Director.    Check to see if something is “Not Responding”?  Something pegging?  Using a ton of memory?  Basic but always a good place to start.  





Session Details in Director
Do not overlook the info here. Often we jump right to the Latency and say must be some poor connection.   Often it can be…like your grandmother’s wifi she shares with all her condo friends.  But the  simple things like “Connected via” and “Launched via”  can tell you a lot of how the user is connecting too.  For example,  we’ve seen users who have VPN’d in first then connected via StoreFront to their XenDesktop vm or XenApp app.  This has added 100ms since they were VPN’ing in first.   “Launched via” may actually show your VPN controller or some other internal server signifying they are connecting from the “inside” but you know they are remote. Why the do this?  Because they always have done it that way.




Machine Details via Director
I usually look at Session Details first to get a sense of the users network conditions.  Assuming they are ok …say < 250ms … based on the issue, I look at the storage.  Storage has been an issue for VDI performance for a long time.  Many are moving to Flash Arrays and this is becoming less of an issue but still something to check as it can greatly contribute to a poor user experience.   In the example, below you can see the disk is queue up….no wonder nothing is happening.



NetSclarer HDX Insight
Again this advanced feature makes it possible to isolate and manage your ICA network performance.    When users are accessing remotely, the big challenge is determining if the issue is internal or external.  Remember that example where someone said everyday from “3-5am” it is slow.   The screenshot below isn’t flashy and at first glance is boring but it does show that the WAN latency has been consistent over the past week.   So maybe it isn’t your stuff that is causing the slowness.   Internet surge?  Partner’s WAN connection?




Hopefully this help give you a sense of how to use the information in Director and HDX insight to start that troubleshooting exercise.  No tool will flat out tell you the problem.   You need to look at the info and read those tea leaves a little.

Good luck.

Citrix Desktop Studio: Found invalid data while decoding

We just added another Citrix Desktop Deleivery Controller (DDC) 5.6 FP1 to our farm.   But when launching Desktop Studio on the new server and viewing HDX policy was blank and a refresh threw the following error:


The "Found invalid data while decoding" tipped me off that it couldn't read or render the polices from the database.  Low and behold we didn't have the same or latest Citrix Group Policy Management installed on the new DDC. So just closed Desktop Studio, installed them, and re-opened Desktop Studio and there they were. 

Citrix outlines it in in CTX1314601 for XenApp but applies to XenDesktop as well.  Citrix Group Policy Management comes with the latest XD install media as well.


Citrix PVS to multiple vlans

Citrix provides basic guidance on how to multi-home your Provisioning Servers (PVS) with CTX120955.  But what if you have multiple vlans for desktops in which you want to stream to?  Well this is how we did it.

Environment
Citrix XenDesktop 5.6.1 
Citrix Provisioning Server 6.1
VMware ESX 4.1 U1
Cisco Nexus 7000

Network/Firewall
A few things to point out.
- All vlans were separated by the firewall.
- Used one PVS farm for all desktop vlans.
- All firewall rules were setup to all outbound access to the DDC.

Citrix Provisioning Services (PVS) Setup
PVS Physical Server Specs
- HP DL380 (dual-core 48G RAM)
- 1G Network Team for management vlan access
- 10G Network Team for desktop vlans
- 2 x 146GB (RAID1) for OS
- 6 x 146G (RAID5) for local vDisk storage


We are using this PVS configuration for XenDesktop so...

  • the 1G team is for all PVS, DDC, SQL, AD, etc communication. 
  • the 10G team (streaming only) is setup using the HP Network Configuration Utility (NCU) and vlan tagging and has 5 desktop vlans on it. We could just have 1 vlan but each desktop vlan is segmented by a firewall and we don't want to stream through that which is why trunk down all the desktop vlans to the PVS 10G ports and configure with 802.1q so they are directly on the vlan. 

Citrix XenDesktop Setup
Each XenDesktop virtual desktop (VDA) has 1 vnic on a desktop vlan. 

TFTP Setup
There are a few options here but first we
- Had a pair of Citrix TFTP server(s) on each desktop vlan providing TFTP/PXE but...
- are moving to Infoblox TFTP services to provide this so we don't need all those TFTP servers.

It is seems overly complex but is fairly straight forward and best of all meets the requirements for desktop segmentation and allows you to manage only 1 PVS farm.

Interested to hear how you do PVS.

XenDesktop 5 and Database Mirroring

Background:
We setup our two XenDekstop 5 Desktop Delivery Controllers (DDC) and then configured our new DDC SQL database to be mirrored.  As result, you must update the DDC's database connection.

A side note, you don't need to do this for Provisioning Services (PVS) since you can specific the failover mirror in the install wizard.  As result, just follow the PVS db setup best practices and the mirror ahead of time and your are all set. 

Additional Info:


Change XD5 Database Connection
http://support.citrix.com/article/CTX127538


DB Mirroring Best Practices
http://support.citrix.com/servlet/KbServlet/download/25938-102-649422/XD_Database_Mirroring_Best_Practices.pdf
 


PowerShell SDK Download
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=50633a1f-a665-425d-923c-1a269f8ac084
 
Our solution:
  1. Run Windows Powershell Module
  2. Run set executionpolicy unrestricted
  3. Run get-BrokerDBConnection (to see current connection)
  4. Run the following powershell cmdlet (Just replace the server names and database name in bold).
$MirroredConnectionString =
'Server=SQLServerA.test.com;Initial Catalog = CTX_XDDDC_5x; Integrated Security = True;
Failover Partner=SQLServerB.com'


$brokers = Get-BrokerController
foreach ($broker in $brokers)
{
$brokerDNSName = $broker.DNSName
Set-ConfigDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-ConfigDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
Set-AcctDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-AcctDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
Set-BrokerDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-BrokerDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
Set-HypDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-HypDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
Set-PvsVmDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-PvsVmDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
Set-ProvDBConnection –DBConnection $null –adminaddress $brokerDNSName
Set-ProvDBConnection –DBConnection $MirroredConnectionString –adminaddress $brokerDNSName
}


You only need to run this on one DDC.  To confirm that that the change took place.  Run get-BrokerDBConnection to see the update connection.

Slow Citrix XenDesktop 5 and XenDesktop 5 SP1 MMC

Slow Citrix XenDesktop 5 and XenDesktop 5 SP1 MMC when launching Desktop Studio

Problem: XenDesktop 5 Desktop Studio launches slowly and snap-in fails to load and/or get the following error(s):

"Adding snap-in to console"


"This snap-in not responding"

 



Note: Also, I have seen this in Provisioning Services (PVS) as well


Resolution:  Go to IE > Tools > Internet Options > Advanced and uncheck "Check for publisher’s certificate revocation" in security section.