E N D
1. Independent Management Architecture Internals
Kapil Ramlal
Tim Card
Global Escalation Team,Citrix Systems, Inc.
2. Agenda
3. Agenda
4. What is the IMA Service? A collection of subsystems that control the various features of the Citrix Presentation Server (CPS) family of products
Allows the use of the Presentation Server Console (PSC) or the Access Suite Console for centralized administration
5. IMA Subsystems A subsystem is a DLL (*.dll) file.
These make IMA modular so that new subsystems can be added or existing subsystems can be modified
The subsystems interact via a messaging layer
It routes data to the subsystems on the Presentation Servers in the farm
These dynamics link libraries can be found in the following directory:
C:\Program Files\Citrix\System32\Citrix\IMA\Subsystems
6. Agenda
7. Farm Data Static - Data Store (DS)
Information that changes infrequently
Published applications, load evaluators, Citrix administrators, Citrix policies etc.
Local Host Cache (LHC) is a subset of data contained in the DS
Located on every server Dynamic Data Collector (DC)
Information that changes frequently
Sessions, disconnected sessions, load, etc.
Responsible for resolutions
8. IMA Data Structures Dynamic Data
Located in tables which are stored in memory on the Data Collector (Dynamic Store).
Can be viewed by using QueryDS.exe (not installed by default, located on the CPS media)
Connected and Disconnected Sessions
Server capabilities
Published applications, servers online, servers offline, etc.
9. IMA Data Structures Local Host Cache (LHC)
An Access database located on every CPS server in the farm
(\Program Files\Citrix\Independent Management Architecture\imalhc.mdb)
A subset of the Data Store containing only information required by that server
Allows the server to operate if the Data Store goes down
Must exist and be accessible for the IMA Service to start
10. IMA Data Structures LHC Troubleshooting
DSMAINT VERIFYLHC [ /AUTOREPAIR ]
DSMAINT RECREATELHC
Must stop IMA service
PSRequired set to 1
LHC is backed up - IMA.MDB.BAK
DSMAINT COMPACTDB [/DS] [/LHC]
LHCSizer Counts number of records in LHC
Enable Resolution Failure Event logging PSE400W2K3R02 HKLM\Software\Citrix\IMALogResolutionFailure
LHC ODBC Event Logging
PSE400W2K3R02 [#115579]
11. IMA Data Structures Data Store
Can be an Access, MSDE, SQL, Oracle, or DB2 database
The Central Repository for static farm information such as:
Number of servers
Published applications
Installed licenses (FR3 and below only)
Citrix Administrators
Installed Printers
Load evaluators
12. Starting the IMA Service
13. IMA Components Review
14. IMA Components Review
15. Agenda
16. IMA Case Studies Real World Examples
17. IMA Service Fails to Start During Installation of Presentation Server Turn on MSI tracing (msiexec /i mps30.msi /l*v c:\msi.log)
Start IMA service returned error in CTX_MF_IMA_StartIMAService Error = 1068
net helpmsg 1068
The dependency service or group failed to start
Did all of the dependent services start?
Resolution
Enable The IPSec Services
18. IMA Service Fails to Start During Installation of Presentation Server
19. Troubleshooting IMA hang issues
20. Troubleshooting with QueryDS.exe Case Study
Users unable to connect to published applications
Qfarm /load shows a zero load value
Troubleshooting
queryds /table:ServiceTable
Name: 0
Host: XPSERVER
Resolution
Chfarm into an access datastore then rejoin the farm
Review CTX103017 for more information
21. Troubleshooting with QueryDS.exe
22. IMA Query Timeout
23. IMA Query Timeout Fix
24. Farm Data Key Case Study CPS server appears to be offline
Presentation Server Console displaying inconsistent session information
25. Farm Data Key Case Study Troubleshooting
Using Citrix DSView (included with the support tools on the Citrix Presentation Server Media), you can compare the DATA registry value on the CPS server to whats in the Farms Data Store
The DATA value on the server can be found at:
HKLM\Software\Citrix\IMA\DataName: DATAType: REG_DWORDData: Farm ID - Hex Value
(Must add permissions to the Data registry key to see its values)
26. Farm Data Key Case Study Using Citrix DSView running on a CPS server, navigate to the following:
ServerNeighborhoods ?
FarmName[CLASS-ContextNode] ?
subFarmName[CLASS-ContextNode] ?
FarmData[CLASS-BaseClass] ?
ATTRIBUTE-FarmData ?
Hex Value identifying FarmData value
27. Farm Data Key Case Study Using Citrix DSView running on a CPS server, navigate to the following:
ServerNeighborhoods ?
FarmName[CLASS-ContextNode] ?
subFarmName[CLASS-ContextNode] ?
FarmData[CLASS-BaseClass] ?
ATTRIBUTE-FarmData ?
Hex Value identifying FarmData value
28. Farm Data Key Case Study Using Citrix DSView running on a CPS server, navigate to the following:
ServerNeighborhoods ?
FarmName[CLASS-ContextNode] ?
subFarmName[CLASS-ContextNode] ?
FarmData[CLASS-BaseClass] ?
ATTRIBUTE-FarmData ?
Hex Value identifying FarmData value
29. Farm Data Key Case Study Using Citrix DSView running on a CPS server, navigate to the following:
ServerNeighborhoods ?
FarmName[CLASS-ContextNode] ?
subFarmName[CLASS-ContextNode] ?
FarmData[CLASS-BaseClass] ?
ATTRIBUTE-FarmData ?
Hex Value identifying FarmData value
30. Farm Data Key Case Study Using Citrix DSView running on a CPS server, navigate to the following:
ServerNeighborhoods ?
FarmName[CLASS-ContextNode] ?
subFarmName[CLASS-ContextNode] ?
FarmData[CLASS-BaseClass] ?
ATTRIBUTE-FarmData ?
Hex Value identifying FarmData value
31. Farm Data Key Case Study Using Citrix DSView running on a CPS server, navigate to the following:
ServerNeighborhoods ?
FarmName[CLASS-ContextNode] ?
subFarmName[CLASS-ContextNode] ?
FarmData[CLASS-BaseClass] ?
ATTRIBUTE-FarmData ?
Hex Value identifying FarmData value
32. Farm Data Key Case Study Using Citrix DSView running on a CPS server, navigate to the following:
ServerNeighborhoods ?
FarmName[CLASS-ContextNode] ?
subFarmName[CLASS-ContextNode] ?
FarmData[CLASS-BaseClass] ?
ATTRIBUTE-FarmData ?
Hex Value identifying FarmData value
33. Farm Data Key Case Study Resolution
Check the FarmData value in the registry and ensure that it compares to the value in the Farms Data Store
34. The On-Ramp Dilemma PROBLEM:
Introducing a new server to the Farm, causes all incoming connections to the farm to be routed to it. Thus creating an On-Ramp condition, and eventually causing the server to become overloaded with sessions until no more connections are accepted.
This creates a Black Hole symptom in the Farm
Often seen during peak production hours
35. The On-Ramp Dilemma TROUBLESHOOTING:
Capturing Common Diagnostic Facility (CDF) tracing on the IMA subsystems responsible for Load Management, on the member servers and the Zone Data Collectors (ZDC) revealed the cause within the Load Management subsystem of IMA
The Citrix Development Team introduced advanced Load Management algorithms that better calculate the Load Bias values and allows for tuning a Slow Start Load Balancing method
36. The On-Ramp Dilemma Fix RESOLUTION:
Slow-Start Load Balancing!
This uses Intelligent Load Biasing
Can be Tuned via the registry
37. Gateway Validation Interval Case Study ISSUE:
Gateway Validation Interval Registry Value Introduces Application Launch Failures in High Latency Environments
Troubleshooting:
Attempts to launch published applications fail with this error message:
Additionally, when Web Interface is used, a launch.html file may be returned instead of a launch.ica file (right-click and select Save target as on the application icon)
38. Gateway Validation Interval Case Study TROUBLESHOOTING:
Capturing CDF tracing on the zone data collectors, on the following IMA modules revealed the cause of the issue:
MF_DLL_Wsxica
MF_Service_CtxXmlSS
IMA_Sals_MfServer
IMA_Subsystems_Browser
IMA_Subsystems_MfServer
IMA_System_System
IMA_Runtime_DynamicStore
IMA_Runtime_ZoneManager
IMA_Runtime_HostResolver
IMA_Runtime_PersistentStore
IMA_Runtime_Runtime
IMA_System_Message
39. Gateway Validation Interval Case Study RESOLUTION:
Setting the GatewayValidationInterval to a lower value in high latency environments can cause a problem launching applications in remote zones.
Citrix Technical Support does not recommend this registry value for high-latency environments.
40. Agenda
41. Introduction to Citrix MedEvac
42. Introduction to Citrix MedEvac What is Citrix MedEvac?
A Windows 32-bit Utility used to simulate the ICA client browsing requests to test XML,Terminal Services,IMA & RPC functionality
Uses method of Isolation based on Citrix Presentation Server Farm architecture to isolate Farm functionality
43. Introduction to Citrix MedEvac The Citrix MedEvac Utility can be used anytime where isolating a problem Server is difficult (with respect to load balancing, XML, Terminal Services and RPC)
To troubleshoot connectivity issues with published resources, such as the mysterious black hole issue
To run direct health checks against Citrix Presentation Servers
44. Introduction to Citrix MedEvac
45. Introduction to Citrix MedEvac
46. Demos
47. Introduction to Citrix MedEvac It verifies the following:
The XML service
The IMA service
The Termsrv Service
The RPC service
48. Open Forum