Carl Stalhood

Saturday 30 July 2011

Interview questions 2

What is ICA and what is the advantage of ICA?
The Independent Computing Architecture (ICA) is the communication protocol by which servers and client devices exchange data in a server environment. ICA is optimized to enhance the delivery and performance of this exchange, even on low-bandwidth connections.
The ICA protocol transports an application’s screens from the server it is running on to the user’s client device, and returns the user’s input to the application on the server. As an application runs on a server, MetaFrame Presentation Server intercepts the application’s display data and uses the ICA protocol to send this data (on standard network protocols) to the client software running on the user’s client device.
When the user types on the keyboard or moves and clicks the mouse, the client software sends this data to the application on the server. ICA requires minimal client workstation capabilities and includes error detection and recovery, encryption, and data compression.
Citrix ICA protocol is used for remote application sessions between users and Presentation servers. The ICA protocol supports TCP/IP, NetBIOS, or IPX/SPX. Citrix ICA protocol is responsible for transmitting background information between the ICA clients and the Presentation servers, including the port mappings, drive mappings, print jobs, and sound. Only Sends Screen Updates & Mouse/Key Board Strokes. Only 30 – 35 kb/sec (Printing and File Transfer increase this) Fat Apps VS Thin Apps
Ports used by ICA:
1494: ICA Protocol on TCP (TCP + HTTP) & 1604: ICA Protocol on UDP.

Describe ZDC Election Process in detail?
Incase 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
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" ------
Host 1:
-----------------------------
Zone Name: 10.22.44.0
Host Name: TEDDYCTX02
Admin Port: 2513
IMA Port: 2512
Host ID: 4022
Master Ranking: 1
Master Version: 1
---------------------------------
------ Show Host Records Completed -------
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.

How Load Evaluator works?
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.

How Zone Preference and failover configured?
Zone preference and failover can be configured from Policies. It is located in User Workspace > Connections in Citrix Policy. You can select the server group in which order the connections are preferred. This is useful when an entire zone goes down

What is Preferred Load Balancing?
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).
Application Importance + Session Importance = Resource Allotmment.

What are the different Types of Citrix Load Evaluators?
There are two type of Load Evaluators - 1- Default -2- Advance

Below is the load evaluator rules-
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

How to recover from IMA failing?
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_MACHINESOFTWARECitrixIMARuntimeCurrentlyLoadingPlugin
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

What is Special Folder Redirection?
Special Folder Redirection (SFR) allows for the automatic redirection of server-side Special Folders to their client-side equivalents. When a user clicks on the Documents folder in their XenApp 5 session, the folder that opens will actually be the local Documents folder. When SFR is used, all file operations will take place in the client-side folder. SFR is only available when XenApp 5 is installed on Windows Server 2008 and also requires XenApp Plugin version 11 (client).

What is Citrix Resource 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.

5 comments:

  1. Citrix have only two types of load evaluaters .They are 1.Default Load evaluater 2.Advanced Load evaluater.

    You were mentioned Rules of Load evaluator.
    Once check it

    ReplyDelete
  2. Thanks a lot Mady. i forgot to mention that.

    Thanks

    ReplyDelete
  3. Hi Amit, Is there a way that we can build a dedicated ZDC ? If so, can you please help me how can I do it .

    Thanks,
    Shad

    ReplyDelete
  4. In the WI config, you would add it under Manage Server Farms as your XML Broker, and ZDC server name. Under Secure Access for your STA settings. You would also need to add it as an STA to your CAG. Make sure that you specify the correct port if not using TCP 80. Also make sure to have at least one other server functioning as an XML and STA server for failover.

    ReplyDelete
    Replies
    1. Citrix recommends reducing the number of data collectors and zones. For example, if you have a farm with 100 servers in one location, Citrix recommends having one zone with a dedicated data collector (although you can have backup data collectors).

      Citrix recommends installing XenApp on the server you want to host the data collector functionality and, after installing other member servers, configuring a server as the backup data collector.

      Delete