310 likes | 2.2k Views
How to Troubleshoot the XenDesktop VDA. Karen Sciberras Escalation Engineer. Agenda. How to troubleshoot effectively XenDesktop Architecture Troubleshooting VDA Connectivity Tools Case Studies. Effective Troubleshooting. Narrowing down the faulting component
E N D
How to Troubleshoot the XenDesktop VDA Karen Sciberras Escalation Engineer
Agenda • How to troubleshoot effectively • XenDesktop Architecture • Troubleshooting VDA Connectivity • Tools • Case Studies
Effective Troubleshooting • Narrowing down the faulting component • Collect further information for rapid debugging • Avoids different root causes treated as same issue • Avoids issue being handed around the teams • Helps resolving the root cause instead of the symptoms
How to effectively troubleshoot issues? • Understand the architecture • Learn the shortcuts and tips • Preserve the VDA state
XenDesktop Broker System Architecture • Desktop Delivery Controller (Broker) Farm • Uses core XenApp technology • IMA, licensing, Web Interface, XML • Delivers and controls access to virtual desktops • VDA technology independent • User authentication / single sign on • VM power management • ICA policy decision Licensing Web Service WI DDC Servers VM Host (XenServer, Hyper-V, VMware) User LDAP ICA WebService LDAP AD VDAs (VMs, Blade PCs)
XenDesktop Architecture DDC Pool Manager IMAProxy Citrix Desktop Svc Citrix ICA Svc VDA Workstation(VM or blade PC) Workstation(VM or blade PC) XML Svc Controller Svc WCF “XTE” Svc Drivers IMA
VDA Registration DDC Server VDA WCF XML Blob Controller Service Desktop Service VDA DDC IMA Service starts, looks up farm OU Service queries DC for all SCPs in that OU Service selects one DDC at random, looks up DDC computer account OS retrieves Kerberos ticket for DDC and initiates a connection through WCF DDC service receives connection Service looks up VDA computer account Service validates that caller is member of “Controllers” group, and sets configuration from XML Blob DDC checks that computer account (SID) is in published group in IMA LDAP Service initiates WCF connection to VDA and sends XML blob Call succeeds, VDA marked registered AD
XenDesktop Brokering End user Web Interface DDC Launch.ica Clicks on desktop group Request for brokering StartListening() Desktop Svc ICA Svc (PicaSvc) StartListening() ICA Stack (Listening) VDA
XenDesktop ICA Connection VDA End user ICA Connection To DDC: Exchange Ticket CGPService Authentication Desktop Svc Logon Lock() PushPrelogonData() SetRemote PicaDisplayMgr ICA Svc (PicaSvc) ConnectionAccept() Thinwire TcpIp.sys ICA Stack
ICA Service (PicaSvc) • Orchestrates ICA connection, components, and features • Event driven (Connect, Disconnect, Logon, Logoff, etc.) • State machine per session to handle events
ICA Service Log File • Most important log file in the VDA • Allows us to narrow down the faulting component • How to configure: KB Article CTX118837 • Use trace level 5 • Level 9 is excessive for initial troubleshooting
Anatomy of the PicaSvc log file • Thread ID • Entry/Exits • State Machines Traces • Session IDs • PicaSvc log file common pitfalls • Search terms that need to be avoided. (error, exception, broken) • Instead search for “fail” • Filtering the trace messages
Troubleshooting Tools • XDPing • Clear-text CDF Tracing • Log files: Workstation Agent log, PortICA log • CDF Control • CDF Marker • PerfMon, PsExec,
Case 1 • RPC_S_INVALID_BINDING is not a real error • “ConnectAccept failed” is an ICA stack problem • Next step: CDF • MF_Driver_Wdica • Portica_Driver_Picadd • Portica_Driver_Td • Provide the CDF log with the PicaSvc log for further analysis
Case 2 • First few SwitchDisplayToLocal failure is not fatal. State machine shows success. • No issues found on the VDA • Next step: • Collect traces from DDC and Workstation Agent • Collect network trace from client to verify if ICA Connection attempt
Desktop Delivery Controller Log • Enable Clear-Text CDF tracing • Read through Log file using Session Parser • Historical usage • Detailed Session data • Connection tracking per user or per workstation
KB Articles • XDPing – CTX123278 • DDC and WorkStation Agent Logs – CTX117453 • ICA Service (PortICA Log) – CTX118837 • CDF Marker – CTX124577 • CDF Marker and PSExec – CTX125345 • Session Parser – CTX124012
CDFMarker • CDFMarker may not send a CDF Trace Message from the Command Line - CTX125346 • How to Use CDFMarker and PerfMon when a Process Intermittently Spikes - CTX125347 • How to Use CDFMarker to Add CDF Tracing to Batch Files and Scripts - CTX125486 • How to Use CDFMarker to Mark an Intermittent End User Issue in a CDF Trace - CTX125503 • How to Use CDFMarker and PerfMon to Identify Large LHC Writes - CTX125634 • How to Mark High Bandwidth in a CDF Trace using CDFMarker and PerfMon - CTX125724 • How to Mark a Service Termination in a CDF Trace using CDFMarker - CTX125736 • How to Mark when a Process Crash Occurs in a CDF Trace using CDFMarker - CTX125750
Takeaways • Importance of troubleshooting effectively • XenDesktop Architecture and Logon Process • XdPing • Log file on the DDC Controller Svc and VDA Desktop Svc • Log file on the ICA Service • Remote tracing – CDF Control, CDF Marker and PSExec • Session parser to read DDC log file
Recommended related breakout sessions: Debugging XenApp and XenDesktop Issues by LalitKaushal. Session surveys are available online at www.citrixsummit.com starting Thursday, 7 October Provide your feedback and pick up a complimentary gift card at the registration desk Download presentations starting Friday, 15 October, from your My Organiser Tool located in your My Synergy Microsite event account Before you leave…