VDI setup (Citrix is used as a VDI solution)

  • In my setup DL380 single system was used and hence the first step involves creating the Active directory domain followed by DNS and DHCP on the same VM.
  • Additionally two master images needs to be created with windows2016 and windows10 VMs.
  • For both of the above VMs optimizations w.r.t enabling seamless connection between AD domain, DNS and DHCP server is necessary. What windows component features needs to be modified is stated in  “Create Windows Server Template steps”  above.
  • Certain citrix components requires to be installed on separate VMs for better control plane, access plane and user plane segregation for scale up and HA requirements.
  • However in my setup AD-DNS-DHCP is configured on a single say VM1,  License server & storefront (VM2), Delivery controller (VM3), VCSA or vCenter (VM4), MSSQL database (VM5), windows2016 server (VM6) and window10 (VM7).
  • Plan the public and private IP ranges for above components and accordingly setup the DHCP, DNS.
  • Create a forest in AD and verify private and pblic network communications status using nslookup and ping.
  •  Create a windows template with all the optimizations stated above and then install citrix components on top of them with .NET3.5 and VMware tools installed.  This will improve user experience and performance of the VMs access from Lab network.
  • For citrix components installation, first step is to install License server and procure citrix Licenses whether it could be at device/user/concurrent ones depending on the requirement.  In my setup storefront is also installed in the same License server VM, although in production it requires a separate VM.
  • Install MSSQL database and SSMS on a separate VM.
  • Install Delivery controller on separate VM and during it’s installation process, handshake with license server is required.
  • Again in production citrix studio needs to be installed on a separate VM, but for this PoC purpose I have installed it on the delivery controller VM.
  • vdi.local is the PDC domain I have created in the active directory. Make sure the deliveryController VM created is connected to the vdi domain – if not login as an administrator, and then go to “system properties under PC–> computer”. Then add the computer to vdi.local domain” by clicking on the “change settings”. [This above step i.e adding VM to domain will make the domain policies applied to the respective VM.]
  • Once a new VM is added to the vdi.local domain and has the n/w adapter set as “VMXNET3”, we can go ahead and use this VM template to create citrix components. So each VM can be used from this template to have different citrix components to make life easy. Prakhar provided with a spec (“customization specification) os script which auto logins when a VM is created from this spec. This script actually changes the SID (unique ID specific to the VM created), so that AD identifies it has a new VM and hence allocates new DNS IP and DNS name. For these purposes (a new VM) use “testVM” template
  • As stated before citrix delivery controller & studio are on the same VM. (with user logged in as VDI\administrator)
  • Before installing delivery controller on the VM make sure the windows user is in vdi domain
  • https://kb.parallels.com/en/112093  for static IP setting
  • Created a new site named “cirixSite” and hence a new database in MS SQL site is created to manage all the citrix configuration and management logs.
  • After site DB is created , install studio in the delivery controller and Add create machine catalog with vSAN / local storage of the chosen hypervisor, in our case it is vSphere/vCenter.
  • Studio is one stop interface to configure, manage citrix components including licensing and citrix receiver configuration.
  • A site is like a farm, where we have a network of machine catalogs and delivery groups architected for desktop provisioning. All of this metadata is installed in the MSSQL/SSMS database, created during the site creation.
  • Once the windows2016, windows10 VMs are optimized, create a template and separate VMs from it, post integration with the AD domain. Install virtual delivery agent , citrix receiver on these template VMs and also create snapshots of these two VMs. These are now called the master images.
  • Further create a store with above AD OU’s mapped and create machine catalog, followed by delivery group.
  • Machine catalog is just like a group of Windows or Linux VMs that needs to be provisioned as  VDI’s with necessary apps deployed either thin or thick layered (less or more software stack).
  • Delivery group is set of user groups who have access to one or more machine catalogs.
  • Validate registration of the master OS images i.e windows2016, windows10 optimized VMs with the delivery controller and AD. If unsuccessful, time sync with controller and update master images accordingly using studio.
  • Use existing or create new VMs in the private network, acting as end points with citrix receiver installed in them. Access the VDI’s either or browser or receiver.
  • Machine Catalog creation