Citrix Provisioning Services and Machine Creation Services a technology comparison Marius Leu, The Campus Ronald Grass, Citrix Systems GmbH
Agenda Why should we use Provisioning Technologies? How Provisioning Services work and what to consider Why do we need MCS when PVS is working great and is proven? How MCS work and what components are involved? When to use Machine Creation Services and when PVS? Why storage configuration and IOPS impact are so important? How to reduce shared storage IOPS with IntelliCache TM Scalability Info Tips, Tricks, Info and Resources
Benefits of using Provisioning Technologies Desktop virtualization without Provisioning technologies Single image for every desktop Desktops managed individually Same problems, in a new location One VM image for every user Desktop virtualization with Provisioning technologies Single OS image to store & maintain Apps not installed, stored as single image, delivered on demand and maintained centrally Managed Profiles Shared OS and Apps profiles apps os Hypervisor Network Storage Xen, Hyper-V, VM, Blades Network Storage
The Power Of Easy Administration
Provisoning Services and vs. Machine Creation Services
Provisioning Options Existing: Citrix Provisioning Services Global Deployment Model Unifies Management of Physical and Virtual Desktops Requires Deployment Investment PXE, Windows Servers in Storage Path New: Machine Creation Service Benefits of Provisioning Services Optimized for Hypervisor environments Low Deployment Investment
How simple can it get Machine Creation Services No Streaming, No PXE Uses VHD Chaining Writes go to Diff Disk Reads come from Base Provisioning Services Streams over the network Utilizes PXE booting Use the Pane Of Glass analogy
Citrix Provisioning Services
Citrix Provisioning Services Indentity Database MAC address Hostname vdisk 08-00-2b-a1-b2-c3 MUCSale01 WinXP PC Citrix Provisioning Server Password OS / App OS OS RAM Physical Machine Write Disk Copy C:\ to vdisk (12GB) vdisk vdisk WinXP SQL Identity - Machine ID = MAC Address - ex. 08-00-2b-a1-b2-c3 - Host ID = Hostname, AD machine account etc - MUCSale01 Disk - Physical - Physical ex. 70GB - Contain - Contain OS / App Cache 12GB - Read - Write / Disk - Virtual -.vhd file - Read only
Citrix Provisioning Services Server / Hypervisor Indentity Database MAC address Hostname vdisk 08-00-2b-a1-b2-c3 MUCSale01 Win7 ef-01-2a-b2-c3-d4 MUCSale02 Win7 6a-e7-5f-c1-d4-e5 MUCSale03 Win7 00-2e-a8-aa-4b-c9 MUCSale04 Win7 Citrix Provisioning Server VM - NFS/SAN/NAS - Contains Write Cache Write VM VM VM VM Disk Disk Disk Disk Cache Cache Cache Cache Read Disk - Local storgage on Hypervisor host - Contains Write Cache Base vdisk Win7 vdisk - Base - Virtual -.vhd file - 20GB - Read only SQL
Citrix XenDesktop With Provisioning Services Indentity Database MAC address Hostname vdisk 08-00-2b-a1-b2-c3 MUCSale01 Win7 ef-01-2a-b2-c3-d4 MUCSale02 Win7 6a-e7-5f-c1-d4-e5 MUCSale03 Win7 00-2e-a8-aa-4b-c9 MUCSale04 Win7 Endgerät Server / Hypervisor Citrix Provisioning Server VM VM Citrix VM HDX VM VM Base SQL Read vdisk Win7 App Write Disk Disk Disk Disk Cache Cache Cache Cache vdisk - Base - Virtual -.vhd file - 20GB - Read only - NFS/SAN/NAS - Contains Write Cache
Implementation Example XenServer iscsi Storage 1 VS VS VS Provisioning Storage Management Provisioning PVS Hyper-V VS VS VS Provisioning Storage Management Provisioning PVS iscsi Storage 2 iscsi DHCP Office Management Console DHCP Management DHCP Provisioning TFTP Boot License Server
Machine Creation Services
Machine Creation Services under the Hood Master VM Hypervisor Full copy of a snapshot of the Master VM Storage diff disk identity
Machine Creation Service: How it works VM VM VM Storage Id Disk Diff Disk Id Disk Diff Disk Id Disk Diff Disk Persistent Identity uses little space Space reclaimed every boot Master Disk One copy of the base image shared by all VMs
Identity disk and diff disks The Disk Sizes reported by a Hypervisor console are what the Hypervisor thinks and not the Actual Consumed Space The Diff Disk is Thrown Away at VM Power On via Broker if Catalog-Type = pooled (explained later)
Identity disk and diff disks Citrix Confidential - Do Not
Identity Disk mounted into NFTS structure by default Protected by ACLs Mounted to: %ProgramFiles%\Citrix\Service\PersistedData
Single Image Management Created by XenDesktop Power Control Best for: Pooled - Random Lowest cost VDI option Pooled - Static Lower cost with improved app compatibility Streamed Streaming to physical and virtual Dedicated Lowered storage cost for individual VM s Existing Managing existing VM s Physical Blade PC s
Machine Creation Services Deep Dive
High-level XenDesktop 5 Broker Architecture Desktop Studio PowerShell SDK available for automation Equiv. SDK functionality available Desktop Director WCF WinRM (WMI) Machine Creation Service XenDesktop Controller Host Service AD Identity Service Machine Identity Service Broker Service Configuration Service Virtual Desktop Machine Creation Services Broker Services Infrastructure Services
Machine Creation Services consists of Machine Creation Service Responsible for the creation of the VMs AD Identity Service Creates / Manages AD computer accounts and passwords of VM. Machine Identity Service Create DIFF and ID disks for VMs Manages storage attached to provisioned VMs Machine Identity Agent (VDA based) Component that resides on the VDA that ensures VDA Identity within the domain Maintains the computer AD password of the Virtual Desktop
Machine Creation Process Provisioning process consists of 2 mechanisms Creation of a Provisioning Scheme Creation of Machines The Provisioning Scheme defines Name, CPU Count, Memory size, Master Image VM, Identity Pool, Hosting Unit, Boot Behaviour Tasks on the Provisioning Scheme are synchronous i.e. you cannot provision and delete at the same time
Machine Creation Process consists of STEP ONE: Image Consolidation Snapshots are consolidated into one image Mitigates performance impact of multiple snapshots This is the Master Image for provisioning scheme. Removes the dependency on the Golden Image i.e. you can change or delete the Golden Image without affecting the Virtual Machines
Machine Creation Process consists of STEP TWO: Machine Creation Uses Provisioning Scheme to create virtual machines. Supplies the AD Identity and disk management facilities. Creates Disks for Each Virtual Machine OS Disk image (Diff Disk) Identity disk image (ID Disk)
The two Disks OS disk image OS disk image (Diff Disk) The primary disk for the provisioned machine. Created by making a differencing disk to the master image. Destroyed at VM Boot The Identity disk image Contains the identity of the Virtual Machine A file called CTXSOSID.INI, The ListOfDDCs key Attached as a second disk to the VM at creation. Remains untouched for the lifetime of the VM.
AD Account Management (AD IdentityPool) X create accounts import accounts AD Admin XD Admin in use available tainted
Master Image Handling Update and Rollback
Simplified desktop maintenance with Desktop Studio 3 clicks to update desktop images Simple rollout policies Update on user logoff Notify user then restart in n minutes Update immediately Rapid rollback Revert to a previous image instantly
Master VM consolidate
Patches Provisioning / Update / Rollback Master VM Snapshot Patch history kept as snapshots (deep chain) Flatten chain for best performance Can take time Snapshot Snapshot #1. Consolidate Base Image Rapid provisioning of VMs Snapshot Golden Image Diff Diff #2. Provision VM VM
Which technology to chose?
When to use which.. Machine Creation Services POC Production Less Complex VDI Scalability numbers later VDI Only Provisioning Services POC Production Complex VDI, Flexcast Scalability known FlexCast
The right choice for YOUR deployment
Decision Flowchart
Storage Handling and Considerations
Compatible Storage Almost any shared storage will work, but... Thin Provisioned is better XenServer ESX Hyper-V Recommended NFS NFS CSV Low Scale: Fibre Channel iscsi DAS Low Scale: VMFS CSV uses VHD files under the covers - we create one 'dynamic VHD' for the master image and then differencing VHDs for each VM created. Net result - thin provisioning.
How much storage space does MCS require? Most appropriate answer: it depends Diff disk is more or less a snapshot So it really comes down to how snapshots are done by the hypervisor on the related storage Consumed disk space should be determined on the storage directly Values in XenCenter might be misleading
XenServer space handling Example: Win7 VM 7GB of 24GB utilized Master snapshot Master Snap copy Snap Copy DIFF Template Storage Desktop Storage LVM (iscsi/fc) Full space 24GB Snapshot Used space 7GB Copy of snapshot Full copy 24GB Diff disk 1 = Snapshot 7GB (negligible) Diff disk 2...n = Full copy 24 GB Calculation!!! VHD (EXT3 / NFS) Used space 7GB Snapshot ~0GB Copy of snapshot Used space 7GB Diff disk 1...n Snapshot ~0GB But growing during use!
XenServer: diff disk space is most important LVM Calculation with full copy space per diff disk Space = master disk size * nr. of VMs VHD Initially ~0byte, but growing during use Calculation with percentage of full size Could potentially grow to full disk size (however VERY unlikely) How much in reality? Depends on VM usage and frequency of reboots 3-5GB for Windows 7 might be a good starting point Test for 1 VM and do sizing Use your PVS write cache experiences
PVS Read Cache and what about MCS? Provisioning Services: Hypervisor(s) Provisioning Services Storage Caches base image in RAM for fast delivery Machine Creation Service: Hypervisor(s) RAM Cache Storage Rack-friendly, 0U hit for RAM cache Caches base image in RAM for fast delivery
What really matters - IOPS
IOPs needed for MCS based machines (estimation) Read/Write: 20% - 80%!!! MCS uses some more than PVS! ~ 1.6x Bootup: 26 IOPS Logon: 12.5 IOPS Working: 3.9 IOPS Logoff: 10.7 IOPS
Additional Sizing parameters IOPS per VDI client (also depends on image optimization) Windows XP Windows 7 Light user: 3-4 Medium user: 6-8 Heavy user: 12-16 Light user: 4-5 Medium user: 8-10 Heavy user: 14-20 Source: PQR VDI & Storage; Deep Impact March, 2010
XenDesktop 5 SP1 + XenServer 5.6 SP2 = Availability of IntelliCache TM
XenDesktop Optimizations IntelliCache TM Local host caching of XenDesktop images Lowering Storage TCO Reduces IOPS on shared storage Lower (expensive) shared storage space required for WriteCache due to offload to (inexpensive) local disks Requires XenDesktop 5 SP1 + XenServer 5.6 SP2
IntelliCache TM Concept XenDesktop Base Cache Disk 0011 0101 NFS Based Storage 011 001 0011 0101 1. Base Disk created through XenDesktop MCS from Master 2. VM is configured to use Base Disk 3. VM using Base Disk is started 4. XenServer creates read cache object on local storage 5. Reads in VM being done from local cache 6. Additional Reads done from SAN when required 7. Writes will happen in VHD child per VM 8. Local write cache is deleted when VM is shutdown/restarted 9. Additional VMs will use same read cache
Enabling IntelliCache TM on XenServer host This requires to use local EXT3 storage, to be selected during XenServer installation If this is selected during installation the host is automatically enabled for IntelliCache
Enabling IntelliCache TM in XenDesktop 5 SP1 http://support.citrix.com/articl e/ctx129052 When adding a host in Desktop Studio check the hook for IntelliCache after selection of a shared storage
IntelliCache TM performance Local storage performance Will be important for VDI and IntelliCache (RAID / Disks / Cache) No on demand fall-back to shared storage if performance is too low Manual disabling IntelliCache if performance is not met Example IOPS Windows 7 (from specific customer environment)
Some words about Scalability (MCS)
Scalability Test Results for 5500 Desktops (hosted on 5 chassis (10 pools) of HP BL460C G6) > 99.8 % ICA Sessions Logged On 5 chassis (10 pools) of HP BL460C G6 > 99.8 % STAT Sessions Logged On > 98.0 % ICA sessions logged on under 1 minute > 99.8 % VSI response passed
Tips, Tricks, Info and Resources
Tips, Tricks and Infos MCS works with ESX/vSphere, XenServer and Hyper-V ( IntelliCache only with XenServer) For creating Master-VMs please make sure local Disk is attached as device ID0 to the Master machine, otherwise MCS will fail Don t use the do not process the legacy run list policy for the VMs,because this prevents to run the Machine Identity Agent within the virtual desktop Desktop Studio will create machines evenly between each host used for a catalog and MCS will create machines evenly between each storage location attached to a host. Pooled (static/random) will reboot after logoff by default, this can be changed via Powershell
Tips, Tricks and Infos Make sure domain and DNS are in sync Make sure to have proper and fast synchronization if you have multiple domain controller, because MCS creates AD accounts and tries to read back When using MCS/XD5 with ESX/vSphere, vcenter >4.0 is needed configure vcenter accordingly http://support.citrix.com/article/ctx125578, please read carefully, things have changed since XD4 When using Hyper-V please change emulated vnics attached to newly created VMs back to synthetic due to performance benefits (by script) Make sure your infrastructure services are contactable even when using a proxy http://support.microsoft.com/kb/968699
Links and Resources XenDesktop Design Handbook https://community.citrix.com/kits/#/kit/1067009 VDI IOPS White Paper http://www.jimmoyle.com/2011/05/windows-7-iops-for-vdi-deep-dive/ Decision guidelines for MCS/PVS by Kenneth Bell ( XD Architect) http://community.citrix.com/pages/viewpage.action?pageid=161743115 Machine Creation Services Video http://www.citrix.com/tv/#videos/3240 MCS Blogs von Daniel Feller ( Lead Architect, Citrix Systems ) http://virtualfeller.com/tag/machine-creation-services/ http://virtualfeller.com/2010/08/02/improper-storage-design-for-virtual-desktops-is-a-killer/ XenDesktop 5 Reference Architecture http://support.citrix.com/article/ctx127587 Citrix Community Article by Kevin Strohmeyer with links to other great blogs http://community.citrix.com/display/ocb/2011/02/16/xendesktop+5+hostedvirtual+desktop+architecture+series+-+update Why do the Master VM has to be domain joined before using it for MCS http://support.citrix.com/article/ctx127430
Feedback and Presentations Your opinions is very valuable to us. Please take some time to provide feedback through our online survey. You ll receive the link to the survey some days after the event. If you complete the survey you will granted access to the presentation and are able to download the presented content