What is Citrix Resource Manager and Installation Manager?

Citrix Resource Manager (RM) is a tool that is used to manage resources on single or multiple MetaFrame servers. RM enables the ability to collect, display, store, and analyze data about system performance, application or process use, and user activity. RM provides real-time system monitoring, reporting of system activity, and billing reports to charge users for use of resources using a summary database.
In XenApp5 Resource Manager is moved to EdgeSight. We cannot connect to RMSummaryreport database from XenApp5. But still we can see some of the reports from Report Center in Access Management Console. One of the important reports is Policy Report.

Installation Manager will not be in the part of Citrix installation setup. It should be downloaded from the Citrix website and installed separately. We need to have PowerShell already installed in the server. Install the IM component in the workstation/system you want to manage from and the IM utility in the XenApp servers. After installing the we can access it through the Windows management console. We can select the shared .msi file path from where the application to be deployed and the server and the time of installation. We can also schedule command-line task to install .exe files or to run some commands or queries in the servers

Posted in Citrix XenApp | Tagged , , | Leave a comment

Explain Independent Management Architecture (IMA)?

Independent Management Architecture (IMA) provides the framework for server communications and is the management foundation for MetaFrame Presentation Server. IMA is a centralized management service comprised of a collection of core subsystems that define and control the execution of products in a server farm. IMA enables servers to be arbitrarily grouped into server farms that do not depend on the physical locations of the servers or whether the servers are on different network subnets.
IMA runs on all servers in the farm. IMA subsystems communicate through messages passed by the IMA Service through default TCP ports 2512 and 2513. The IMA Service starts automatically when a server is started. The IMA Service can be manually started or stopped through the operating system Services utility.
IMA can be defined as a SERVICE, PROTOCAL and as a DATASTORE.
IMA Service: IMA Service is the central nervous system of Presentation Servers. This service is responsible for just about everything server-related, including tracking users, sessions, applications, licenses, and server load.
IMA Data store: Which stores Presentation server configuration information, such as published applications, total licenses, load balancing configuration, security rights, Administrator Accounts, Printer configuration, etc?
IMA Protocol: Which is used for transferring the ever-changing background information between Presentation servers, including server load, current users and connections, and licenses in use.
Ports used by IMA:
2512: Used for Server to Server Communication
2513: Used for CMC to Data store Communication

“Independent Management Architecture” is a term Citrix uses to describe the various back-end components that make up a CPS environment. In the real world, IMA consists of three components that we actually care about.
It is a database (called the “IMA Data Store”) used for storing Citrix Presentation server configuration information, such as published applications, load balancing configuration, security rights, policies, printer configuration, etc.
A Windows service (called the “IMA Service”) that runs on every Presentation Server that handles things like server-to-server communication.
A protocol (called the “IMA Protocol”) for transferring the ever-changing background information between Presentation Servers, including server load, current users and connections, licenses in use, etc.
In Presentation Server, the IMA protocol does not replace the ICA protocol. The ICA protocol is still used for client-to-server user sessions. The IMA protocol is used for server-to-server communication in performing functions such as licensing and server load updates, all of which occur “behind the scenes.”
If we open IMA data store database with SQL Enterprise Manager, we’ll see it has four tables:
DATATABLE
DELETETRACKER
INDEXTABLE
KEYTABLE
IMA data store is not a real relational database. It’s actually an LDAP database. IMA Data Store Size  1MB per server.
We can’t access the IMA data store directly through SQL Enterprise Manager. (technically you can, but if you run a query you’ll get meaningless hex results.) If we try to edit any of the contents of the data store directly in the database, it will be definitely corrupt.
There’s a tool on the Presentation Server installation CD called “dsview.” There is another tool called “dsedit” a “write-enabled” version of dsview

There are many reasons that the IMA Service doesn’t start
1. IMA Service load time
2. IMA Service subsystem
3. Missing Temp directory
4. Print spooler service
5. ODBC configuration
6. Roaming Profile

Check the Windows Registry setting: HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\IMARuntime\CurrentlyLoadingPlugin
If there is no value specified in the CurrentlyLoadingPlugin portion of the above Windows Registry entry then the IMA service could not connect to the data store or the local host cache is missing or corrupt.
If a CurrentlyLoadingPlugin value is specified the IMA Service made a connection to the data store and the value displayed is the name of the IMA Service subsystem that failed to load.
If administrators see an “IMA Service Failed” error message with an error code of 2147483649 when starting the Presentation Server the local system account might be missing a Temp directory which is required for the IMA Service to run.
Change the IMA service startup account to the local administrator and restart the server. If the IMA Service is successful in starting under the local administrator account then it is likely that a missing Temp directory for the local system account is causing the problem.
If the Temp directory is not present then manually create one as >Temp. For example: C:\Windows\Temp
Also verify that the TMP and TEMP system environment variables point to the temporary directory. Restart the server to restart the IMA Service

Posted in Citrix XenApp | Tagged , , , | Leave a comment

What are the different types of Citrix Load Evaluators and how it works?

1. CPU Utilization
2. Memory Utilization
3. Page Swap
4. Application User Load
5. Context Switches
6. Disk Data I/O
7. Disk Operations
8. IP Range
9. Page Faults
10. Scheduling
11. Server User Load

QFARM /LOAD command executed in a Presentation Server farm will display all servers in the farm along with each server’s respective load value. Each and every Presentation Server generates its own “score” and sends this information to the data collector in the respective zone. This score will be a decimal number between 0 and 10,000, with zero representing a “no load” situation, and 10,000 indicating the particular server is fully loaded and is not accepting any more connections. Citrix Load Management is handled by load evaluator and its simply a set of rules that determine a particular server’s “score”, or current load value. It is the “score” that determine the decisions that distribute loads within the server farm. Load evaluators can be applied to servers and/or published applications. If any servers in the Zone go down then Load Evaluators are used to overcome the situation. In default XenApp installation there are Advanced and Default Load Evaluators are there.D
Default Load Evaluator includes only two rules, Load Throttling and Server User Load.
Advanced Load Evaluator includes four rules, CPU Utilization, Load Throttling, Memory Usual and Page Swaps.

Preferred Load balancing is the feature in XenApp Platinum edition, which allows you to configure preference for the particular users to access the applications in the XenApp farm.
We can see this in Server properties in Advanced Management Console. In Memory/CPU > CPU Utilization Management, there will be the third option called “CPU sharing based on Resource Allotments”
To give more resources to particular application in the server, we can configure in Application properties > Advanced > Limits and Application important in Access Management Console. So if you set the Application importance to High, then when those application is used by the users will get more CPU cycles than the users accessing other applications

To give more resources to the users, we can configure it in Citrix Policies in XenApp Advanced Configuration. To enable it go to the policy properties > Service Level > Session Importance > enable, and assign preferred Importance Level (High, Medium, Low)

Posted in Citrix XenApp | Tagged , , , , | Leave a comment

Describe ZDC (Zone Data Collector) election process in detail?

In case ZDC is not be available, another server in the zone can take over that role. The process of taking the role is called ZDC election. Server Administrators should choose the Zone Data Collector strategy carefully during the farm design itself. When an election needs to occur in a zone, the winner of the election is determined by the following criteria
1. Highest version of Presentation Server first
2. Highest rank (as configured in the Management Console)
3. Highest Host ID number (Every server has a unique ID called Host ID).

When the existing data collector for Zone failed unexpectedly or the communication between a member server and the Zone Data Collector for its zone failed or the communication between data collectors failed, then the election process begins in the Zone. If the server is shutdown properly, it triggers the election process before it goes down. The servers in the zone recognize the data collector has gone down and starts the election process. Then the ZDC is elected and the member servers send all of their information to the new ZDC for the zone. In turn the new data collector replicates this information to all other data collectors in the farm.

Note:
The Data Collector election process is not dependent on the Data Store. If the data collector goes down, sessions connected to other servers in the farm are unaffected .The data collector election process is triggered automatically without administrative interference. Existing as well as incoming users are not affected by the election process, as a new Data Collector is elected almost instantaneously.

C:\ QueryHR.exe

Showing Hosts for “10.22.44.0”

————————————-
Zone Name: 10.22.44.0
Host Name: TEDDYCTX02
Admin Port: 2513
IMA Port: 2512
Host ID: 4022
Master Ranking: 1
Master Version: 1
————————————–
To see the Host ID number and its version, run queryhr.exe utility (with no parameters).

Each server in the zone has a rank assigned to it. The administrator can configure such that the servers in a zone can be ranked to make the server as the most desired to serve as the zone master or ZDC. The ties between servers with the same administrative ranking are broken by using the HOST IDs assigned to the servers.
When a Presentation Server starts or when the IMA service starts, the IMA service starts trying to contact other servers via the IMA protocol on port 2512 until it finds one that’s online. When it finds, it queries it to find out which server is acting as the data collector. The winner of this Zone Data Collector election is determined by the newest version of the IMA service. We can control which server will act as data collector by keeping that server the most up-to-date.

Data Collection Election Priority

Whichever server has the most recent version of the IMA Service running. (This may include hotfixes) and the server with the highest preference set in the data store
Basically data collectors and data store are not really related. The Data Store holds permanent farm configuration information in a database, and the data collector tracks dynamic session information in its RAM.
In addition to their primary role to provide dynamic farm information for admin consoles or for incoming connection requests, data collectors also take part in the distribution of configuration changes to Presentation Servers in the farm. When we make a changes in a presentation server that change is written to the local host cache of whichever server we connected to, and then immediately replicated to the data store. Presentation Server only looks for changes in the central data store every 30 minutes. Whenever a change is made to the Data Store, that change is sent to the data collector for the zone.

The Data Collector then distributes that change (via IMA port 2512) to all of the servers in its zone, allowing each server to update its own local host cache accordingly. Furthermore, if we have more than one zone, the initial data collector contacts the data collectors in the other zones. It sends its change to them, and in turn those data collectors forward the change to all of the servers in their zones.

Coolest part is if the change is larger than 64k, the data collectors don’t send the actual change out to its zone. Instead they send out a notification which causes the servers in the zone to perform an “on demand” sync with the central data store. However it’s rare for a single change to be more than 64k in size.

The data collector election priority settings in the management console:
Presentation Server Java Management Console > Right-click on farm name >Properties > Zones > highlight server > “Set Election Preference”

We can totally control which server is our data collector by manually setting the preferences in the Java console. We can manually configure four levels of Zone’s Data Collector election preference options:

  • Most Preferred
  • Preferred
  • Default Preferred
  • Not Preferred

The important thing to remember is that these preferences will be ignored if a newer server is up for election.

Posted in Citrix XenApp | Tagged , , , , , , , | Leave a comment

Explain Citrix Load Levels?

We can get Citrix Load levels from QSERVER /APP and QFARM /APP at the command prompt.

Load values can be in between 0-10000.

The following are explanations of the load levels:

9999          : No load balancing installed
0 to 9998  : “normal” load level
10000!      : Application is disabled for this server
10000       : Load is at 100%
10001        : Out of licenses
10002       : Indicates that no ICA connections, listener is disabled, are available on that server.

A few other conditions also cause this code to be returned:

1. If logons have been disabled on the server
2. If the server is out of swap space – check load balancing administration and change page file from 2097152 to 500 on the problem server. If the application is disabled
3. If it is an anonymous application and no logon allowed for anonymous users
4. For multi-homed servers, the selection for LAN adapter is “All network adapters configured for this protocol” instead of a specific LAN adapter
5. Check the connection limit on all listener ports (ICA and RDP) because this has been found to affect the load balancing parameters and cause the 10002 load level.
6. If the connection limit has been changed from “unlimited” to “2,” you may not be able to connect to a published application and will get the error message: “Cannot connect to the Citrix server. The Citrix server you have selected cannot be located.”
*You may also delete and recreate the listeners for that protocol and reorganize the page file. If the servers are built from a ghosted image, it may be necessary to delete the page file, recreate the page file, and reboot the server.

Posted in Citrix XenApp | Tagged , , , , , | Leave a comment