Citrix Virtual Apps and Desktops

Create a XenServer catalog

Create machine catalogs describes the wizards that create a machine catalog. The following information covers details specific to XenServer virtualization environments.

Note:

Before creating a XenServer catalog, you need to finish creating a connection to XenServer. See Connection to XenServer.

Create a machine catalog using a XenServer connection

GPU-capable machines require a dedicated master image. Those VMs require video card drivers that support GPUs. Configure GPU-capable machines to allow the VM to operate with software that uses the GPU for operations.

  1. In XenCenter, create a VM with standard VGA, networks, and vCPU.
  2. Update the VM configuration to enable GPU use (either Passthrough or vGPU).
  3. Install a supported operating system and enable RDP.
  4. Install Citrix VM Tools and NVIDIA drivers.
  5. Clear the Virtual Network Computing (VNC) Admin Console to optimize performance, and then restart the VM.
  6. You are prompted to use RDP. Using RDP, install the VDA and then restart the VM.
  7. Optionally, create a snapshot for the VM as a baseline template for other GPU master images.
  8. Using RDP, install customer-specific applications that are configured in XenCenter and use GPU capabilities.

Limitations

  • If a Citrix Virtual Apps and Desktops deployment with its VMs hosted on Citrix Hypervisor 8.2 Cumulative Update 1 uses multiple GFS2 SRs in a single MCS catalog, the VMs in the catalog cannot access the VDIs during deployment. The error “VDI is currently in use” is reported.
  • Citrix Hypervisor 8.2 Cumulative Update 1 doesn’t support MCS full clone VMs with GFS2 SRs.

For more information, see Constraints.

These constraints do not apply to XenServer 8 and later.

Create a machine catalog using a machine profile

When you create a catalog to provision machines using MCS, you can use a machine profile to capture the hardware properties from a virtual machine and apply them to newly provisioned VMs in the catalog. If the MachineProfile parameter is not used, the hardware properties are captured from the master image VM or snapshot.

Note:

Currently, you can use only a VM as a machine profile input.

You can explicitly configure the following parameters to overwrite the values of the parameters in the machine profile input:

  • VMCpuCount
  • VMMemory
  • NetworkMapping

To create a catalog with a machine profile:

  1. Open the PowerShell window.
  2. Run asnp citrix*.
  3. Create an identity pool. The identity pool is a container for the Active Directory (AD) accounts for the VMs to be created. For example:

    New-AcctIdentityPool -Domain "citrix-xxxxxx.local" -IdentityPoolName "ExampleIdentityPool" -NamingScheme "abc1-##" -NamingSchemeType "Numeric" -Scope @() -ZoneUid "xxxxxxxx"
    <!--NeedCopy-->
    
  4. Create the required AD computer accounts in Active Directory.

    $password = "password123" | ConvertTo-SecureString -AsPlainText -Force
    New-AcctADAccount -IdentityPoolName "ExampleIdentityPool" -Count 10 -ADUserName "citrix-xxxxxx\admin1" -ADPassword $password
    Set-AcctAdAccountUserCert -IdentityPoolName "ExampleIdentityPool" -ADUserName "citrix-xxxxxx\admin1" -ADPassword $password
    <!--NeedCopy-->
    
  5. Run the New-ProvScheme command to create a catalog. For example:

    New-ProvScheme -CleanOnBoot -HostingUnitName "ExampleHostingUnit" -IdentityPoolName "ExampleIdentityPool" -InitialBatchSizeHint 2 -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
    </CustomProperties>'
    -MasterImageVM "XDHyp:\HostingUnits\ExampleHostingUnit\ExampleVDA.vm\ExampleVDA.snapshot" -ProvisioningSchemeName "ExampleCatalog" -Scope @() -SecurityGroup @()
    -MachineProfile "XDHyp:\HostingUnits\ExampleHostingUnit\ExampleMachineProfile.vm"
    <!--NeedCopy-->
    
  6. Register provisioning scheme as a broker catalog. For example:

    $ConfigZone = Get-ConfigZone | Where-Object { $_.Name -eq "xxxxxx" }
    New-BrokerCatalog -Name "MPLT1" -AllocationType Random -Description "Machine profile catalog" -ProvisioningSchemeId fe7df345-244e-4xxxx-xxxxxxxxx -ProvisioningType Mcs -SessionSupport MultiSession -PersistUserChanges Discard -ZoneUid ($ConfigZone.Uid)
    <!--NeedCopy-->
    
  7. Add VMs to the catalog.

To update a catalog with a new machine profile:

  1. Run the Set-ProvScheme command. For example:

    Set-ProvScheme -ProvisioningSchemeName "ExampleCatalog" -MachineProfile "XDHyp:\HostingUnits\ExampleHostingUnit\ExampleMachineProfileVm.vm\ExampleMachineProfileSnapshot.snapshot"
    <!--NeedCopy-->
    

    For more information on the Set-ProvScheme command, see Set-ProvScheme.

Note:

  • The Set-ProvScheme command in this case does not change the machine profile of the existing VMs in the catalog. Only the newly created VMs added to the catalog have the new machine profile.
  • You cannot convert a machine profile-based machine catalog to non-machine profile-based machine catalog.

Where to go next

More information

Create a XenServer catalog