Citrix DaaS™

Create catalogs using prepared images in XenServer®

Create prepared images and use the prepared images to create an MCS machine catalog using:

The key steps to create an MCS machine catalog using the prepared image are:

  1. Create the image definition and the initial image versions.
  2. Use the image version as a prepared image to create a catalog

Use Studio

Create an image definition and initial image version

To create an image definition and the initial image version, do the following:

  1. From Studio, go to the Images node, and click Create Image Definition. Click Next on the Introduction page.
  2. On the Image Definition page, specify the OS type and Session type, and Connection for the image definition.
  3. On the Image page, select Resources (only the resources applicable for the set connection are listed) and a master image to use as a template for creating the image version.

    Note:

    • Before selecting an image, verify that the master image has VDA 2311 or later installed and the MCSIO driver is installed on the VDA.
  4. On the Machine Specification page, you can see only the memory size that is derived from the master image, and you can change it if needed.
  5. On the NICs page, select NICs for the preparation image. For each NIC, select an associated virtual network. The NIC associated with the master image is selected by default.
  6. On the Version Description page, enter a description for the initial image version created.
  7. On the Summary page, check the details of the image definition and the initial image version created. Enter a name and description for the image definition. Click Finish.

Create image versions

Image versions allow for the management of different iterations or updates to a particular image. This functionality enables you to maintain multiple versions of an image for different purposes.

To create image versions from the initial image version, do the following:

  1. Go to the Images node, select an image version or an image definition, and click Create Image Version.
  2. On the Image page, change the hosting unit, and reselect the master image if needed.
  3. To use different settings from the initial image version, configure the settings on the Machine Specification and NICs pages in the Create Image Version dialog.
  4. Add a description for the image version. Click Finish.

Note:

If the creation of the image version fails for any reason, the Troubleshoot tab at the bottom provides a Retry option.

Shared prepared image

To share prepared images across different host units for Xenserver, follow these steps:

  1. Right-click an image version and select Manage Image Share. All the host units under the selected connection are listed. The resources where the image version is created from is disabled for any actions.
  2. Select the host units with which you want to share the image and click Save. The Share Status column shows In progress.
  3. Click the Resources tab for more details about the sharing status.

Note:

When the status of the image version sharing is in progress, the option to delete image version or manage image share is disabled.

Create a machine catalog from the Images node

Use the Create catalog option in the Images node to create a catalog using the image version.

Alternatively, you can select the version when creating a catalog in the Machine Catalogs node, linking to the prepared image option in the catalog creation workflow. See Create a machine catalog from the Machine Catalogs node

To create an MCS machine catalog from the Images node, do the following:

  1. Select an image version and click Create catalog. Click Next on the Introduction page.
  2. On the Machine Management page, select the hosting unit and click Next.
  3. On the Desktop Experience page, select the required desktop experience.
  4. From the Image page to the Virtual Machines page, settings are pre-selected based on the selected image version.
  5. Complete the settings on the following pages.
  6. On the Summary page, check the details of the machine catalog. Enter a name and description for the machine catalog. Click Finish.
  7. Go to the Machine Catalogs node to see the created machine catalog.

Create a machine catalog from the Machine Catalogs node

To create an MCS machine catalog from the Machine Catalogs node, do the following:

  1. Click Machine Catalogs on the left navigation pane.
  2. Click Create Machine Catalog. The Machine Catalog Setup page appears. Click Next through the Introduction, Machine Type, and Machine Management pages.
  3. On the Image page:
    1. Select Prepared image.
    2. Under the Prepared image, select an image version of an image definition.
    3. Select the image version. To view more details about the selected image version, click the version number, which is underlined.
  4. Complete the settings on the following pages.
  5. On the Summary page, check the details of the machine catalog. Enter a name and description for the machine catalog. Click Finish.

Use PowerShell

Create a prepared image

The detailed PowerShell commands to create a prepared image version spec are as follows:

  1. Check the available image definition names using the Test-ProvImageDefinitionNameAvailable command. For example,

    Test-ProvImageDefinitionNameAvailable -ImageDefinitionName xenimage1
    <!--NeedCopy-->
    
  2. Create an image definition using the New-ProvImageDefinition command. For example,

    $ImageDefintion = New-ProvImageDefinition -ImageDefinitionName xenimage1 -OsType Windows -VdaSessionSupport SingleSession
    <!--NeedCopy-->
    
  3. Create a new configuration for image definition in the specified Hosting connection using the Add-ProvImageDefinitionConnection command.

    Add-ProvImageDefinitionConnection -ImageDefinitionName $ImageDefintion.ImageDefinitionName -HypervisorConnectionName XenServer1
    <!--NeedCopy-->
    
  4. Create an image version using the New-ProvImageVersion command. For example,

    $ImageVersion = New-ProvImageVersion -ImageDefinitionName $ImageDefintion.ImageDefinitionName -Description "version 1"
    <!--NeedCopy-->
    
  5. Add a master image version spec to the image version using the Add-ProvImageVersionSpec command. For example,

    $MasterImagePath = "XDHyp:\HostingUnits\xenhu \win10-master.vm\win10-master-snap.snapshot"
    $SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageDefinitionName $ImageDefintion.ImageDefinitionName -ImageVersionNumber $ImageVersion.ImageVersionNumber -HostingUnitName xenhu -MasterImagePath $MasterImagePath
    <!--NeedCopy-->
    

    Note:

    You can add only one master image version spec to one image version for a hosting unit.

  6. Create a prepared image version spec from the master image version spec using the New-ProvImageVersionSpec command. For example,

    New-ProvImageVersionSpec -SourceImageVersionSpecUid  $SourceImageVersionSpec.ImageVersionSpecUid -NetworkMapping @{"0"="XDHyp:\HostingUnits\xenhu\VM Network.network"}
    -VMCpuCount 2 -VMMemoryMB 4096 -RunAsynchronously
    <!--NeedCopy-->
    
  7. You can also share prepared image version spec with another hosting unit within the same hosting connection using the Add-ProvImageVersionSpecHostingUnit command. For example,

    Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid xxxxxxx -HostingUnitName xenhu2
    <!--NeedCopy-->
    

Example of the complete set of Powershell commands to create image definition, image version, and prepared image version spec:

$ImageDefintion = New-ProvImageDefinition -ImageDefinitionName xenimage1 -OsType Windows -VdaSessionSupport SingleSession

 
Add-ProvImageDefinitionConnection -ImageDefinitionName $ImageDefintion.ImageDefinitionName -HypervisorConnectionName XenServer1
 
$ImageVersion = New-ProvImageVersion -ImageDefinitionName $ImageDefintion.ImageDefinitionName -Description "version 1"
 
$MasterImagePath = "XDHyp:\HostingUnits\xenhu \win10-master.vm\win10-master-snap.snapshot"

$SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageDefinitionName $ImageDefintion.ImageDefinitionName -ImageVersionNumber $ImageVersion.ImageVersionNumber -HostingUnitName xenhu -MasterImagePath $MasterImagePath

 
New-ProvImageVersionSpec -SourceImageVersionSpecUid  $SourceImageVersionSpec.ImageVersionSpecUid -NetworkMapping @{"0"="XDHyp:\HostingUnits\xenhu\VM Network.network"}
 -VMCpuCount 2 -VMMemoryMB 4096 -RunAsynchronously

Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid xxxxxxx -HostingUnitName xenhu2
<!--NeedCopy-->

Note:

  • An image version can have only one master image version spec and one prepared image version spec.
  • All image version specs must either have a machine profile or none of the image version specs must have a machine profile.

Create a catalog using a prepared image version spec

Create an MCS machine catalog from the prepared image version spec using the New-ProvScheme command. For example,

New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-VMCpuCount <int>] [-VMMemoryMB <int>] [-UseWriteBackCache] [-NetworkMapping <Hashtable>] [-CleanOnBoot] [-Scope <string[]>] [-Metadata <Hashtable>] [-ServiceOffering <string>] [-SecurityGroup <string[]>] [-TenancyType <string>] [-MachineProfile <string>] [-CustomProperties <string>] [-ResetAdministratorPasswords] [-UseFullDiskCloneProvisioning] [-RunAsynchronously] [-PurgeJobOnSuccess] [-ProvisioningSchemeType <ProvisioningSchemeType>]
<!--NeedCopy-->

Or,

New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitName <string> -IdentityPoolName <string> [-VMCpuCount <int>] [-VMMemoryMB <int>] [-UseWriteBackCache] [-NetworkMapping <Hashtable>] [-CleanOnBoot] [-Scope <string[]>] [-Metadata <Hashtable>] [-ServiceOffering <string>] [-SecurityGroup <string[]>] [-TenancyType <string>] [-MachineProfile <string>] [-CustomProperties <string>] [-ResetAdministratorPasswords] [-UseFullDiskCloneProvisioning] [-RunAsynchronously] [-PurgeJobOnSuccess] [-ProvisioningSchemeType <ProvisioningSchemeType>]
<!--NeedCopy-->

Example of creating a catalog using a prepared image version spec in XenServer:

New-ProvScheme -ProvisioningSchemeName assignimage -imageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid 1 `
  -HostingUnitName xenhu -IdentityPoolName poo1 `
  -CleanOnBoot -Scope @() -SecurityGroup @() -VMCpuCount 2 -VMMemoryMB 8192 `
  -NetworkMapping @{"0"="XDHyp:\HostingUnits\xenhu\VM Network.network"}
<!--NeedCopy-->

Example of the complete set of Powershell commands to create a catalog:

$CatalogName = "XenCatalog"
$Catalog = New-BrokerCatalog  -AllocationType "Random"  -IsRemotePC $False  -MinimumFunctionalLevel "L7_20" `
  -Name $CatalogName -PersistUserChanges "Discard" -ProvisioningType "MCS" -Scope @() -SessionSupport "MultiSession"


$IdentityPool = New-AcctIdentityPool  -AllowUnicode  -Domain "xen.local" -IdentityPoolName $CatalogName `
  -IdentityType "ActiveDirectory"  -NamingScheme "xen##" -NamingSchemeType "Numeric" -Scope @()


$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName xenimage1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"


$Task = New-ProvScheme -ProvisioningSchemeName $CatalogName -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid `
  -HostingUnitName xenhu -IdentityPoolName $CatalogName -CleanOnBoot -Scope @() -SecurityGroup @() `
  -NetworkMapping @{"0"="XDHyp:\HostingUnits\xenhu\VM Network.network"} -VMCpuCount 2 -VMMemoryMB 4096 -RunAsynchronously

Get-ProvTask -TaskId $Task.TaskId
$ProvScheme = Get-ProvScheme -ProvisioningSchemeName $CatalogName


Set-BrokerCatalog -Name $Catalog.Name -ProvisioningSchemeId $ProvScheme.ProvisioningSchemeUid
<!--NeedCopy-->

More information

Where to go next

Create catalogs using prepared images in XenServer®