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 Licensing • Uses core XenApp technology XML WI User • Delivers and controls DDC Servers VM Host (XenServer, Hyper-V, VMware) Web Service • IMA, licensing, Web Interface, Web Service access to virtual desktops • • • • VDA technology independent User authentication / single sign on VM power management ICA policy decision AD VDAs (VMs, Blade PCs) XenDesktop Architecture DDC VDA Workstation Pool Manager IMAProxy XML Svc (VMWorkstation or blade PC) (VM or blade PC) Citrix Desktop Svc Citrix ICA Svc Drivers “XTE” Svc Controller Svc WCF IMA VDA Registration DDC Server VDA WCF VDA Desktop Service Controller Service DDC  Service starts, looks up farm OU  DC for all at SCPs in that OU  Service Service queries selects one DDC random, IMA up DDCKerberos computerticket account  looks OS retrieves for DDC and initiates a connection through WCF  Service validates that caller is member of “Controllers” group, and sets configuration from XML Blob XML Blob LDAP AD  DDC service receives connection  Service looks up VDA computer account  DDC checks that computer account (SID) is in published group in IMA  Service initiates WCF connection to VDA and sends XML blob  Call succeeds, VDA marked registered Troubleshooting VDA Connectivity XenDesktop Brokering End user Web Interface Launch.ica Clicks on desktop group DDC Request for brokering StartListening() Desktop Svc StartListening() ICA Svc (PicaSvc) ICA Stack (Listening) VDA XenDesktop ICA Connection VDA End user ICA Connection To DDC: Exchange Ticket CGPService Desktop Svc Authentication Logon Lock() SetRemote PushPrelogonData() ICA Svc (PicaSvc) PicaDisplayMgr ConnectionAccept() TcpIp.sys ICA Stack Thinwire 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 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 Before you leave… • Recommended related breakout sessions: • Debugging XenApp and XenDesktop Issues by Lalit Kaushal. • 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
© Copyright 2024 Paperzz