This document covers 3 major points required for Citrix Implementation.
- Desktop Delivery Method
- Server Sizing
- User Profile Management
Deciding Desktop Delivery Method
There are 4 major ways to deliver desktop with XenDesktop 5.0
- Local VM
- Streamed VHD (PVS)
- Hosted VDI
- Hosted Shared
1. Local VM:
Local VM desktops extend the benefits of centralized, single-instance management to mobile workers that need to use their laptops offline. When they are able to connect to a suitable network, changes to the OS, apps and user data are automatically synchronized with the datacenter.
Usage: For mobile workers like Sales Person or Customer Manager
2. Streamed VHD (PVS):
Streamed VHDs leverage the local processing power of rich clients, while providing centralized single-image management of the desktop. This approach offers an easy, low-cost way for customers to get started with desktop virtualization by leveraging existing PC resources and keeping datacenter overhead to a minimum. It can also be ideal for government and university labs that use diskless PCs for maximum data security.
Usage: Task-workers, who want to use their current Hardware etc.
3. Hosted VDI:
Hosted VDI desktops offer a personalized Windows® desktop experience, typically needed by office workers, which can be securely delivered over any network to any device. This option combines the benefits of central management with full user personalization, and can generally support up to 150 desktops per server.
Usage: For Developers or who need major customizations in desktops or use CPU intensive applications etc.
4. Hosted Shared:
Hosted Shared desktops provide a locked down, streamlined and standardized environment with a core set of applications, ideally suited for task workers where personalization is not needed – or allowed. Supporting up to 500 users on a single server, this model offers a significant cost savings over any other virtual desktop technology. Cost Effective also don’t need Microsoft VDA lic per year. It needs Terminal Lic for lifetime.
Usage: For HR, Management, Administration, Training, General office workers, remote workers etc.
Ask below sample questions to decide which Delivery method you require:
- Do you require Desktop over WAN ? if yes then leave “Streamed VHD” and go for Hosted VDI or Shared
- How many users are going to use CPU intensive applications such as Developer studio, Autocad, Photoshop etc.
- How many users are office-workers? Office-workers mean they will use basic office applications like ERP, MSoffice, Tally etc.
- How many users require higher customization of your Desktop ?
- What Server Hardware you have ?
- Do you want to use current hardware ?
Server Sizing depends on below things:
- No of users and their types
- Which Operating Systems they require?
- How much Memory & CPU they need?
- Disk IOpS
1. No of Users and their types:
There are 4 types of Users according to their applications. Need to decide no of users for which group
User Groups Description
Light One or two applications no browser-based activity
Normal Multiple applications with limited browser-based activity
Power Multiple simultaneous applications with extensive browser-based activity
and Internet based applications
Heavy Few applications but heavy system resource requirements, Data Processing
compiling or graphics manipulation
2. Which Operating Systems they will use?
Operating systems also decides which hardware we should go for. See below chart for details:
|User Group||Operating System||vCPU
|Memory Allocation||Avg IOPS
|Light||Windows XP||1||768MB-1 GB||3-5||10-12|
|Windows 7||1||1-1.5 GB||4-6||8-10|
|Normal||Windows XP||1||1-1.5 GB||6-10||8-10|
|Windows 7||1||1.5-2 GB||8-12||6-8|
|Power||Windows XP||1||1.5-2 GB||12-16||6-8|
|Windows 7||1-2||2-3 GB||15-25||4-6|
|Heavy||Windows XP||1||2 GB||20-40||4-6|
|Windows 7||2||4 GB||25-50||2-4|
Note: Each implementation will have different resource requirements. Proper testing should be done to generate results that more closely resemble the environment.
Note: Each hypervisor requires CPU and RAM to function properly. On average, the hypervisor will need 2-5 GB of RAM. As the size of the physical server increases, so too does the overhead. It is also advisable to reserve 1 CPU for hypervisor processing, which helps mitigate the risk of over-allocating CPUs.
3. How much CPU & Memory Users require?
Though above chart gives us CPU and Memory recommendation but still user can require more resources depend his/her application and usage.
4. Disk IOps
We need to calculate Disk IOps to determine storage. We will see how to calculate diskIOs later.
We will take Practical Scenario here, to understand how we can size the server.
We need give Virtual Desktops to 50 users. All users come under “Power User” group. They require 10 GB disk space to store their Data. And need C drive of 25 GB. And one vCPU. Also they will use Windows 7.
As all are Power Users,
- We can consider 5 users per core.
- RAM require 2GB per user
- 15 Disk IOps per user. We will see later how we come to 15.
- We will use Disks with 15k RPM speed using RAID 10. RAID 10 Penalty is 2
And 15k RPM disk – 150 Random IOPS
- CPU required = 50 / 5 = 10 + 1(for hyperwiser) = 11
So we will require 12 Core CPU
- RAM required = 50 x 2 = 100 + 4(for hyperwiser) = 104 GB
- To determine type of storage we need to find Disk IOPS
There are 6 major phases of Virtual Desktops:
- Boot: 26 IOPS
- Logon: 15 IOPS
- Workload: 4 to 8 IOPS
- Ideal: 4 IOPS
- Logoff: 12 IOPS
- Poweroff: 0
In our example, we are going to boot up all VDI far before user logs in. So we are considering Logon IOps for calculating Storage i.e. 15IOPS
Now we will calculate Functional IOPS
Supported Desktops = (Functional IOPS)/(Desktop Lifecycle IOPS)
50 = (Functional IOPS) / 15
Functional IOPS = 750
We will calculate Total Raw IOPS. Consider, Total Raw IOPS = a
Functional IOPS = ((Total Raw IOPS ×write %) / RAID Penalty) + (Total Raw IOPS × read%)
750 = ((a × 0.8) / 2) + (a × 0.2)
750 = 0.6a
a = 1250
Total Raw IOPS = 1250
Now get the no. of disks.
No of Disks = (Total RAW IOPS) / (Disk Speed IOPS)
No of Disks = 1250 / 150 = 8.3
So we will require 10 Disks to configure with RAID10.
Deciding User Profile Management
There are 4 Types of User Profiles
1. Local User Profiles
Local User Profiles are stored on the local server to which the user has logged on.
2. Roaming User Profiles
Roaming user profiles are saved in a network share and synchronized to a local server copy each time the user logs on.
3. Manadatory Profile
Mandatory user profiles are by definition user read-only profiles.
4. Hybrid Profile
The hybrid user profile is another solution for the mandatory profile issue. When the user logs on, the mandatory profile loads, and a custom application will load and
Unload user registry hives based on applications available to the user.
The user, like in a mandatory profile scenario, will be able to modify those portions of registry during the session.
The big difference from the pure mandatory profile is that changes get saved when the user logs off and they get reloaded when the user logs in again.
User Profiles & GPOs. User profiles provide a user their “personalized” environment depending on the user profile strategy, which again has a huge impact on logon times.
– Roaming Profiles provide maximum personalization such as nice wallpapers, saving files on the desktop (especially large files), etc., however can also get quickly out of control if not restricted by certain policies. Therefore, it is crucial to define a user profile strategy first before starting with any optimization.
– An ideal profile solution is a Mandatory Profile customized by an administrator that does not allow any personalization by users since it discards any changes applied during runtime. This is a stable solution however this will probably not meet all users’ expectations.
– A hybrid solution provided by Citrix User Profile Manager, which is based on the recently acquired technology from sepago called sepagoPROFILE. The biggest advantage of this solution is that users gain a certain degree of personalization (pre-defined by an administrator) while keeping the stability and slimness of a mandatory profile that ensures a fast logon process.
Other similar solutions are provided by partners such as AppSense, RES, and tricerat.
AppSense has the feature of Cross-platform(x86-64) compatibility.
Placement of user profiles may also affect the logon process since any additional network hop, procedures to locate the file server (e.g. DNS) as well the file servers’ utilization can delay logon times. A possible improvement with mandatory profiles is storing them locally on a XenApp to avoid network copy jobs.
Details about Calculating IOPS and storage infra for Citrix
In order to properly design the storage infrastructure, the architect must first be able to calculate the expected Input/output Operations per Second (IOPS) requirements. The IOPS calculations must take the following into account:
|Disk Speed||The speed that the disk spins has a direct impact on how fast the disk can read the correct sector.||15,000 RPM: 150 Random IOPS
10,000 RPM: 110 Random IOPS
5,400 RPM: 50 Random IOPS
|Read/Write||IOPS are broken down into reads and writes. Certain processes are read intensive while others require more writes. The ratio between reads and writes impacts of the overall IOPS.||It has been shown that most desktop implementations result in the follow read/write ratios:
|RAID Level||The RAID configuration impacts how many actual write IOPS are available due to the different types of redundancy in place. The write penalty reduces the overall IOPS for each disk spindle.||RAID 0: No RAID Penalty
RAID 1: Penalty of 2
RAID 10: Penalty of 2
RAID 5 (4 disks): Penalty of 4
RAID 5 (5 disks): Penalty of 5
|Desktop Lifecycle||Each desktop goes through six phases, with each phase incurring different hits on the storage subsystem.||Boot: 26 IOPS
Logon: 14 IOPS
Work: 8 IOPS
Idle: 4 IOPS
Logoff: 12 IOPS
Offline: 0 IOPS
Taking the six different parameters into account, an architect can calculate the IOPS requirements on a server-by-server basis and for the entire desktop virtualization architecture. The formula is as follows:
Total Raw IOPS = Disk Speed IOPS x No. of Disks
Functional IOPS = ((Total Raw IOPS ×write %) / RAID Penalty) + (Total Raw IOPS × read%)
For example, if there are eight 72GB 15K SCSI3 drives in a RAID 10 configuration, the storage would have 720 functional IOPS.
Total Raw IOPS = 150 x 8 = 1200
Functional IOPS = ((1200 × 0.8) / 2) + (1200 × 0.2)
Functional IOPS = 720
Supported Desktops = (Functional IOPS) / (Desktop Lifecycle IOPS)
Supported Desktops = 720 / 14 = 51
So here 51 Desktops are supported for above kind of Storage.