Citrix DaaS

Image management

Introduction

The MCS catalog creation or update process has two phases:

  • Mastering: a source image is converted into a published image
  • Cloning: new VMs are created from the published image

With the image management functionality, MCS separates the mastering phase from the overall provisioning workflow.

You can prepare various MCS image versions (Prepared Image) from a single source image and use it across multiple different MCS machine catalogs. Currently, in Azure, you can also share prepared image versions across hosting units within the same host connection. This implementation significantly reduces the storage and time costs, and simplifies the VM deployment and image update process.

The benefits of using this image management functionality are:

  • Generate prepared images in advance without creating a catalog.
  • Reuse prepared images in multiple scenarios, such as creating and updating a catalog.
  • Significantly reduce catalog creation or update time.

Note:

  • This feature is currently applicable to Azure and VMware virtualization environments.
  • You can create an MCS machine catalog without using prepared images. In that case, you cannot get the benefits of the feature.
  • Currently, in Azure, share prepared image versions across hosting units within the same host connection.

Use cases

Some of the use cases of image management functionality are:

  • Version management: Image versions allow you to:

    • manage different iterations or updates to a particular image.
    • maintain multiple versions of an image for different purposes.
  • Logical grouping: You can create multiple image definitions to:

    • logically group image versions based on various criteria such as project, department, or application and desktop type.
    • manage images more efficiently within an organization.
  • Image sharing: Currently, in Azure, you can share prepared image versions across hosting units within the same host connection to:

    • ensure consistency and uniformity of images across different hosting units.

What is a prepared image?

With the image management functionality, MCS decouples the mastering phase from the overall catalog creation or update workflow and breaks down the process into two stages:

  1. Create prepared images from a single source image.
  2. Use the prepared image to create or update an MCS machine catalog.

You can create the prepared images in advance. You can use a single prepared image to create or update multiple MCS provisioned machine catalogs.

Understand how a prepared image is used across multiple MCS machine catalogs when you use Studio:

Prepared image overview

Image definition: Image definitions are a logical grouping of versions of an image. The image definition holds information about:

  • why the image was created
  • what OS it is for
  • other information about using the image.

A catalog isn’t created from an image definition, but from the image versions that are created based on the image definition.

Image version: Image versions manage versionings for the image definition. An image definition can have multiple image versions. Use the image versions as prepared images to create or update a catalog. You can share the image versions across hosting units within the same host connection in Azure virtualization environments.

Alternatively, if you want to use PowerShell commands to create a provisioning scheme to create or update a catalog, then you must create a prepared image version spec based on the master image version spec as needed for your environment. You can also share the prepared image version spec with another hosting unit within the same hosting connection in Azure virtualization environments.

Requirement

  • For Windows master image, only VDA images with version 2311 and later, and MCS/IO enabled are supported.

Limitations

Currently, the feature does not support the following:

  • Multiple NIC in Azure
  • Persistent data disk feature
  • Hibernation for multi-session
  • Image type change
  • While sharing prepared image version across hosting unit in Azure, the following sharing methods are not allowed:

    • Share Directly
    • Share to public community gallery

Image lifecycle management using Studio

Lifecycle of the image when you use Studio is as follows:

  1. Create a prepared image: Create an image definition and its initial image version.
  2. Create image versions from the initial image version.
  3. Share the image version with another hosting unit within the same hosting connection if you want to use the image version in other hosting units. This step is currently applicable only to Azure.
  4. Use an image version as a prepared image to create catalogs.
  5. Update a machine catalog with a different prepared image.
  6. Manage the image definitions and versions: Edit the name and description of image versions, and description of an image definition.
  7. Delete an image version.
  8. Delete an image definition.

Alternatively, you can also manage images using PowerShell. See Image lifecycle management using PowerShell.

Image lifecycle management using PowerShell

If you want to use PowerShell commands to create a provisioning scheme, then you must create a prepared image version spec based on the master image version spec as needed for your environment.

Master image version spec: A master image version spec is a specific image added or created under an image version. You can add an existing image in the hypervisor as a master image version spec or create a prepared image version spec based on the master image version spec as needed for your environment. The prepared image version spec can be used for multiple provisioning schemes.

You can also share prepared image version spec across hosting units within the same hosting connection in Azure environments. The sharing is achieved using the disk sharing capability of Azure Compute Gallery (ACG).

Lifecycle of an image when using PowerShell commands is:

  1. Create an image:

    1. Create an image definition.
    2. Add a new configuration for Image Definition in specified Hosting Connection.
    3. Create an image version.
    4. Add a master image version spec.
    5. Create a prepared image version spec.
  2. Share the prepared image version spec with another hosting unit within the same hosting connection. This step is currently applicable only to Azure.
  3. Create an MCS machine catalog using a prepared image version spec:

    1. Create a broker catalog.
    2. Create an identity pool.
    3. Create a provisioning scheme with the parameter of prepared image version spec Uid using the New-ProvScheme command.
    4. Link the broker catalog with the provisioning scheme.
  4. Create VMs in the MCS machine catalog.
  5. Change the prepared image version spec of a provisioning scheme using Set-ProvScheme command.
  6. Manage the image definitions and versions: Edit the image versions and image definitions.
  7. Delete an MCS machine catalog: The deletion order is: machine catalog > shared prepared image version spec (if image sharing) > prepared image version spec > master image version spec > image version > configuration for image definition in the specified hosting connection > image definition. Before deleting the image version spec, ensure that the prepared image version spec is not associated with any MCS machine catalog.

Understand Images node

Use the Images node to create and manage MCS-prepared images. Its main view is divided into four parts:

  • Without prepared image being shared across host unit

    image-node-main-view

  • With prepared image being shared across host unit: In Azure

    image-node-main-view-image-sharing

Label Part Description
A Image definitions Lists the previously created image definitions.
B Image versions Displays image versions of the selected image definition.
C



Details



  • The Details tab displays detailed information about the selected image definition or version such as Master Image, Resource, Hypervisor, name of the image definition, OS type, and session type.
  • The Image Scheme tab displays information about the template used for preparing images such as hard disk, machine size, license type, disk encryption set, machine profile, and so on.
  • The Provisioning Schemes tab displays the provisioning scheme name used for creating the catalog.
  • The Troubleshoot tab provides the error status of the selected image version.
  • In case of image sharing: The Resources tab provides the status of image version share.
D Action bar Lists the actions that you can take on image definitions and versions such as Create Image Version, Edit Description, Manage Image Share(in case of Azure), Delete Image Version, and Create Catalog.

Where to go next

Image management