Beruflich Dokumente
Kultur Dokumente
Agenda
Server Critical
IMA
Installation Troubleshooting Utilities Programs Datastore Best Practices
Session Critical
Session Components
Client Critical
Client Components
Open Forum
Presentation CD Contents
Todays PowerPoint Presentation Case Studies IMA Files and Registry Reference Document Client to Server Content Redirection Document Multi-Monitor Support Document
IMA Service
The main Citrix Service. The IMA service interacts with the Citrix XML service and Terminal Services. The Data Collector is one of the MF XP servers that holds dynamic farm data (IMA) IMA maintains a persistent connection to the SQL Server (the Data Store) where it stores static farm data.
ODBC
MPS XP Server ODBC Data Store Local Host Cache DSCheck Detect and correct Data Store Errors
2004 Citrix Systems, Inc.All rights reserved.
Resolution
Chfarm into an access datastore then rejoin the farm Review CTX103017 for more information
7 Citrix Company Confidential 2004 Citrix Systems, Inc.All rights reserved.
RMAlertsSS.dll
RMMonitorSS.dll
PSRequired
HKLM\Software\Citrix\IMA\Runtime
Product Plug-ins
PSRequired=1 LHC
LHC
IMA Must be able to connect to the Data Store in order for qfarm to enumerate server
HKLM\SOFTWARE\Citrix\IMA\RUNTIME
CurrentlyLoadingPlugin Indicates which DLL module is being loaded PSRequired If set to one the Datastore must be available SQL Profiler Audit Logins
Use DSMAINT
Config Resets account and DSN to connect to the Datastore RecreateLHC Rebuilds Local Host Cache
Resolution
Enable The IPSec Services
10
IMA Fails to start with File not found Errors or Unable to Locate DLL
Case Study
IMA Fails to start with File no found or Unable to Locate DLL
Troubleshooting
File Monitor Trace 7930 3:56:28 PM ImaSrv.exe:3980 QUERY INFORMATION C:\WINNT\TEMP FILE NOT FOUND Attributes: Error
Resolution Verify TEMP directory exists under %SystemRoot%\Temp and the system account has full control.
12 Citrix Company Confidential 2004 Citrix Systems, Inc.All rights reserved.
Troubleshooting
File Mon (www.sysinternals.com) trace indicated an invalid path was being referenced.
Resolution
Correct the following registry keys values with the correct file path HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders - Common AppData HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explore r\User Shell Folders
13
Troubleshooting
SQLDIAG
%systemdrive%\Program Files\Microsoft SQL Server\MSSQL\Binn Collects SQL Error Logs Collects SQL Server Configuration Collects SQL Database Information
2004-1-24 08:46:32.74 spid355 BobMgr::GetBuf: Bob write not complete after 60 seconds
Resolution
Increase the size of Tempdb Stop and periodically stop and start SQL to purge Tempdb Avoid the Auto grow operation and Do not set the Auto Shrink option
TempDB
14
Member Server
2512
Member Server
Data Store
2512
2512
Member Server
Zone A
Member Server
Member Server
Zone B
1) Change is made on the CMC via TCP port 2513. 2) The member server writes the change to the DS and forwards the information to the DC via TCP port 2512. 3) The DC updates the LHC on the member servers in its zones via TCP port 2512 and forwards the information to all the other DCs. 4) The other DCs send the information to their member servers.
15 Citrix Company Confidential 2004 Citrix Systems, Inc.All rights reserved.
Change Polling
Polling SQL statement Used as a backup method of discovery Example inconsistent WAN Links SELECT COUNT(*),AVG(imalock) FROM KEYTABLE FR3+ 30 minute interval Configurable in registry under HKLM-SoftwareCitrix-IMA-DCNChangePollingInterval
Data Store
16
What is the black hole syndrome? What are the variables that can cause condition? How can it be prevented or lessen the impact?
17
WI Logon Process
1. Browser to logon page through WI 2. Using WIs classes to fwd the information to the Citrix XML Service on servers in the server farms. The designated server acts as a broker between the Web server and servers. 3. The Citrix XML Service on the designated server then retrieves a list of applications from the servers that users can access. 4. The user initiates the next step by clicking one of the hyperlinks on the WI page. 5. The Citrix XML Service is contacted to locate the server in the farm that is the least busy. The XML Service requests a ticket from the least busy server corresponding to the users credentials.
WI
Server Farm
Client
6. The classes finish parsing the template file and send a customized file to the Web browser. 7. The Web browser receives the file and passes it to the client device. 8. The client receives the file and initiates a client session with a server according to the files connection information.
18
WI/Config.xml
Server Farm
2. Configuration file on the WI web server is accessed. inetpub\wwwroot\citrix\pnagent directory 3. Application enumeration request is passed with user credentials from the WI web server to the MetaFrame XP server using Citrix XML Service. 4. Application set data is generated on the MetaFrame XP server and returned to the WI web server.
5. The WI web server passes the application set data back to the client device, where the application and desktop icons are populated. 6. The user clicks to launch an application. 7. The request for an .ICA file is sent to the WI web server.
PN Agent Client
8. The WI web server uses the TEMPLATE.ICA file located on the web server to generate an .ICA file. 9. The WI web server sends the .ICA file to the client device.
19
PN Logon Process
Data Collector
1. user clicks the Citrix Program Neighborhood icon, which calls the ICA Win32 Citrix Program Neighborhood Client (PN.EXE). 2. The ICA Win32 Citrix Program Neighborhood Client reads the parameters stored in the .INI files upon execution. 3. PN.EXE sends the request for Application Sets to WCFRUN32.EXE. 4. WFCRUN32.EXE passes the request to WFICA32.EXE, creating a partial session on the MetaFrame XP server. This connection is data only and does not include graphical information. 5. WFICA32.EXE sends the request to the MetaFrame XP server. 6. The MetaFrame XP server generates the data for the application sets and sends the data back to WFICA32.EXE. 7. WFICA32.EXE receives the data and sends the information to PN.EXE. 8. PN.EXE creates the application sets in the Citrix Program Neighborhood interface. 9. The user double-clicks an application set. 10. PN.EXE sends the request to WFCRUN32.EXE. 11. WFCRUN32.EXE sends the request to WFICA32.EXE. WFICA32.EXE sends the request to the server.
20 Citrix Company Confidential 2004 Citrix Systems, Inc.All rights reserved.
Server Farm
PN Client
22
XML Service
XML request Ticket request with credentials From the Web Interface
MetaFrame XML Presentation Server
XML asks IMA to provide the IP Address of the least busy server in the farm that has the requested publish application published on it. If the XP server is not the Data Collector it needs to contact the zone Data Collector for this information
23 Citrix Company Confidential 2004 Citrix Systems, Inc.All rights reserved.
The XML Server makes an XML request with credentials for a ticket from the least busy server This is done via a TCP Socket Connection between the XML services.
24 Citrix Company Confidential
Term Serv
XE103W2K3022 XE103W2K119
Qfarm
IMA Service
Userdump
Check MDAC Levels on XP and DataStore (SQL 2000 SP 3a) Data Store Locks
2004 Citrix Systems, Inc.All (SQL SP_WHO) rights reserved.
25
MS KB 884554 FIX: A SPID stops responding with a NETWORKIO (0x800) waittype in SQL Server Enterprise Manager when SQL Server tries to process a fragmented TDS network packet
26
The Query timeout fix will allow IMASQL to close the connect and allow the next thread to be processed
2004 Citrix Systems, Inc.All rights reserved.
Print SS
DB_CONNECTION_TIMEOUT
Type: REG_DWORD Data: <timeout value, seconds>
29
Set Data Collectors to latest version Use Data Store Replication to reduce traffic and increase performance Oracle Data Store
CTX103685 Use Oracle Client 8.1.7.2
30
Data Store
31 Citrix Company Confidential 2004 Citrix Systems, Inc.All rights reserved.
Session Critical
32
33
Client Makes an Application Request ICA Listner Stack Receives the Request On 1494 Session stack Notifies of Successful connection
The Terminal Services Device driver Forwards the request To TermSRV Requested application Is launched in the Appropriate session space
Listner stack hands The connection Request to the new Session stack
34
Session Initialization
1. The client makes an application request. 2. The ICA listener stack waits and receives for a TCP request on
port 1494. 3. The independent transport protocol accepts the connection request and passes the request to the Terminal Services device driver. 4. The Terminal Service device driver signals to the ICA protocol extension that a new connection request was received, and the protocol extension forwards it to the Terminal Services service.
5. The Terminal Services service creates a new session stack. 6. The listener stack hands the connection request to the new
session stack.
8. The new session stack notifies the Terminal Services service of successful connection.
9. The new session stack is mapped to an idle session, and a logon screen appears. If no idle sessions exist, one is created. 10. Windows Logon prompts for user credentials. 11. Windows Logon authenticates the user privileges. If a SessionID is already associated with this domain and user name, the user is mapped into the existing namespace, and the previous SessionSpace is reloaded.
35 Citrix Company Confidential 2004 Citrix Systems, Inc.All rights reserved.
12. The Terminal Services service creates a new domain and user name SessionID mapping. If the user has any disconnected sessions, the list of sessions is displayed and the user chooses one for reconnection. Logon occurs.
13. The application is launched by Client Server Runtime Subsystem in the appropriate SessionSpace.
36
Session Initialization Overview Client Verification Phase Connection Initialization Phase TS CALCapability Phase Authenication Phase
ICA Client Virtual Channels TCP Port 1494 Authenication TS Shake 7F7FICA ICA Hand CAL Check ICA Hand Shake 7F7FICA CTX564283 How to Troubleshoot 1003 and 1004 Event Virtual Channels Log Errors Regarding Terminal Server Licensing
Metaframe Server
Module.INI
37
TSCal Explained
Session denied or Temp Token is Issued and Session is allowed. Another TS Cal server w/ TSCals Found?
Original TS Cal server Redirects the Terminal Server to new License Server.
Token is marked On TS Cal Server. Cert. is sent Through the Terminal Server to Client.
Discovery process starts to find a License Server Connection is denied unless A Temp. Token is present
Connection is Allowed
38
Userinit.exe
Cmstart.exe
39
Wfshell.exe
Wfshell Overview
Wfshell runs in every ICA session
Launching Published Applications Auto-Creating Printers Executing the RunOnce REG Key Session Virtual Channels
HKLM >SYSTEM>CCS >Control >Citrix >Wfshell
Speed Screen / SSBA Clipboard Mapping Shadow Indicator Session Sharing Content Redirection TZ Redirection
TroubleShooting LISTDLL (www.sysinternals.com) Will list all dependant DLLs and paths where they were loaded from.
40 Citrix Company Confidential 2004 Citrix Systems, Inc.All rights reserved.
Troubleshooting
Verify if Wfshell.exe running in the users session (CMC) Check Dr Watson Logs
Resolution
In one case wfshell.exe crashes were occurring in the users session. This was caused by older HP drivers and the new client printer name convention in MPS Windows 2003. This was fixed by using the latest drivers from HPs Web Site.
41
42
Client Critical
Win32 ICA Client Core Components Client Case Studies Whats New in ICA Win32 8.0 and 9.0 Clients ? Support News
43
Client Engine Hosts Session Maintains Sessions Connection Center WI MSAM ICO [Systray Icon] Exposed Public API Functional DLLs Client INI Settings
Configuration Files
44
When a Published application is launched, this file is responsible for the connection to the server for the duration of the session.
45
46
WFica.ocx
47
48
Config Files
49
Clients
Destination Server
Client Name A
Client Name B
Server2 Server1
51
Enable Server Drives to Appear as Client Drives when using the PassThrough Client - CTX238200
module.ini [client drive] NativeDriveMapping=TRUE
Present in PN, Full Web Clients and now PNA (8.0 or later).
53
Wfshell.exe
Network Request Word Application Response
Win 32 Client
Word Excel
Queued Virtual Channel Request Excel Application Response Appsrv.ini SucConTimeOut =40
54 Citrix Company Confidential
Launch in Session
Problem Users behind a proxy server are disconnected if the proxy server is set to disable connections based on some specified timeout value.
55
ICA/Http(s) Proxy Server MPS 3.0 Server Http/s XML WI 3.0 Server
ICA/Http(s) Firewall
ICA
ICA/Http(s)
56
Troubleshooting Procedures
Enabling ICA Keepalives on the MPS3.0 Server The exact path to those value(s) are as follows Key: HKLM\System\CurrentControlSet\Control\Citrix Value :ICAEnableKeepAlive = 1 :ICAKeepAliveInterval = (Delta < Proxy_Idle_Time_Value)
Some proxy servers may be intelligent enough to terminate idle sessions if the KeepAlive packet is not from the initiator.
57
ICA
58
59
60
61
Recent Enhancements
Ability to specify which Content Types are redirected: http, https, rtsp, rtspu, pnm, mms Ability to specify which base URLs can be redirected: Eg. *.citrix.com
62
Support News
- 9.0 Client Updates List:
http://support.citrix.com/kb/entry.jspa?externalID=ctx105677#P20_2735
- Updated Client INI Configuration Guide - New ACM Client Package - HRP01 for MF XP 1.0 SP4 - Service Pack 2005.4 for MPS 3.0
http://support.citrix.com/kb/entry.jspa?entryID=6211&categoryID=619#P51_ 8121
Open Forum
64
Session Review
Server Components IMA Service Data Store ICA Session Connection Sequence Session Processes ICA Client Configuration and Tuning
65 Citrix Company Confidential 2004 Citrix Systems, Inc.All rights reserved.
Thank You
66
67