Citrix Virtual Apps and Desktops 映像管理

贡献者

作者: Nagaraj Manoli

特别感谢:

Martin Zugec Allen Furmanski James Hsu

读者

本文档面向希望在本地或云环境中使用 Citrix Virtual Apps and Desktops 探索映像管理服务的 Citrix 技术专业人员、IT 决策者、合作伙伴和体系结构师。读者必须基本了解 Citrix 产品、虚拟机管理程序和云框架。

本文件的目标

本文档概述了映像管理环境的产品功能和设计体系结构,以确保为组织高效交付应用程序和桌面工作负载。本文档重点介绍了具有概念性部署方案的 Citrix 映像管理服务。

关于映像管理,有两种 Provisioning 模型使 Citrix 管理员能够高效地管理 Citrix 环境:

  • Machine Ceation Srvices (MCS)
  • Citrix Provisioning (PVS)

建筑设计框架

Citrix 的虚拟化解决方案使组织能够创建、控制和管理虚拟机、交付应用程序并实施精细安全策略。Citrix Virtual Apps and Desktops 解决方案为开发完整的数字工作区产品提供了统一的框架。此产品使 Citrix 用户能够独立于其设备的操作系统和界面访问应用程序和桌面。

Citrix 体系结构设计框架基于统一的标准化层模型。该框架为了解大多数常见 Virtual Apps and Desktops 部署方案的技术体系结构提供了基础。这些层在概念图中描述。

  • 用户层 -此图层定义 Citrix 环境的用户组和位置。
  • 访问层 -此层定义用户访问资源的方式。
  • 资源层 -此层定义 Citrix 工作负载的 Provisioning 以及如何将资源分配给给给定用户。
  • 控制层 -此层定义控制 Citrix 解决方案的组件。
  • 平台层 -此层定义运行管理程序组件和云服务提供程序框架以托管 Citrix 工作负载的物理元素。
  • 操作层 -此层定义支持交付核心解决方案的工具。

IM-Image-1

映像管理服务,通常适合控制层、平台层和操作层来管理资源层中的虚拟机。以下各节将介绍 Citrix Machine Creation Services (MCS) 和 Citrix Provisioning (PVS) 概念,因为这些是 Citrix Virtual Apps and Desktops 环境中映像管理的基本构建块。

为什么需要图像管理?

映像管理是一种创建主映像或金映像的方法,其中包含操作系统和所有必需的应用程序,以便将单个虚拟映像交付到多个目标虚拟机。映像管理背后的关键概念是可重用性和简化管理,这使 Citrix 管理员能够根据需要将必要的操作系统与所需的一组应用程序交付给适当的用户。

IM-Image-2

Citrix Virtual Apps and Desktops 解决方案具有两种用于映像管理的置备模型:Citrix Machine Creation Services 和 Citrix Provisioning。

Machine Ceation Srvices (MCS)

Citrix Machine Creation Services 是 Citrix Virtual Apps and Desktops 解决方案的一个组件,在 Delivery Controller 中耦合。MCS 使用来自底层 Hypervisor 或云提供商的应用程序编程接口 (API),从主映像构建智能链接克隆,以配置多个虚拟桌面。克隆包括差异磁盘和从基础磁盘链接的标识磁盘。

Machine Creation Services (MCS) 使用虚拟机管理程序 API 配置、启动、停止和删除虚拟机。MCS 是一种基于磁盘的 Provisioning 方法,可与主要的虚拟机管理程序和领先的云平台配置。

为什么是监视系统?

Citrix Machine Creation Services 通过以下功能提供了简化映像管理方法:

  • 使用 Citrix Studio 轻松部署和管理
  • 嵌入核心产品的技术,无需额外的基础设施
  • 更适合云 Provisioning
  • 非常适合持久性和非持久性工作负载

Citrix Provisioning (PVS)

Citrix Provisioning 将单个共享磁盘映像通过流技术传输到多个单独的计算机,而不是将映像复制到这些计算机。Citrix Provisioning 使组织能够减少必须管理的磁盘映像数,即使计算机数量持续增长也是如此。

此外,计算机从单个共享映像实时流式传输,确保了计算机映像的一致性,同时大量计算机池可以在重新启动所需的时间内完全更改其配置、应用程序甚至操作系统。这种类最佳方法使组织能够在最短的时间内将安全和应用程序修补程序安装并更新到单个共享映像,同时满足业务目标。

为什么是 PVS?

正确使用 Citrix Provisioning 可通过以下功能实现更高效的图像管理:

  • 高可扩展性
  • 减少存储要求
  • 提高 IOPS 效率
  • 集成版本管理功能
  • 支持物理和虚拟目标

选择正确的 Provisioning 模型

Citrix MCS 和 PVS 是经过大规模验证的成熟 Provisioning 平台;但是,在决定使用哪一个或两者是否适合给定环境时,需要考虑一些因素。Citrix MCS 嵌入到 Delivery Controller 中,并在 Citrix Studio 控制台中进行管理。Citrix Provisioning 需要单独的服务器、网络注意事项和数据库,并且它有自己的管理控制台。

下表比较了 Citrix MCS 和 PVS 型号。

功能 MCS PV
支持虚拟 RDS 和 VDI 工作负载 X X
支持池和个人 VDI 桌面 X X
支持物理机器   X
支持 Microsoft Azure 计算机 X  
支持 Amazon Web Services (AWS) 计算机 X  

您可以在我们的文为映像管理选择配置模型章中阅读有关图像管理决策因素的更多信息

Machine Creation Services

Citrix Machine Creation Service (MCS) 在 Citrix Virtual Apps and Desktops 环境的映像管理中起着至关重要的作用。Citrix MCS 服务与 Citrix Delivery Controller 和 Cloud Connector 耦合,因此不需要任何其他服务器或基础结构。借助 MCS,IT 管理员只需访问 Citrix Studio 控制台,即可在本地或使用 Citrix Cloud 创建虚拟桌面和服务器映像并将其交付给企业用户。

Citrix Machine Creation Services 使用来自底层管理程序或公有云平台的应用程序编程接口 (API),使 Citrix MCS 能够创建、配置、启动、停止和删除到本地云、混合云、私有云和公有云环境中的虚拟机。

管理员创建具有所需操作系统的虚拟机,在虚拟机管理程序或云中安装必要的应用程序和 Citrix Virtual Delivery Agent。IT 管理员将其选择为主虚拟机,以使用 Citrix Studio 管理控制台置备一组虚拟桌面或服务器。Citrix MCS 创建主虚拟机的快照,并将完整快照复制到存储存储库,以充当主映像(基础磁盘)。

Provisioning 多个虚拟桌面或服务器时,MCS 包括两种类型的磁盘:差异磁盘和每个虚拟机的标识磁盘。

Citrix MCS 同时支持服务器和桌面操作系统环境。

对于桌面操作系统环境,Citrix 管理员可以使用 Citrix Machine Creation Services 创建三种类型的虚拟桌面

  • 池随机桌面 是每次用户启动 VDI 会话时随机分配给用户的非持久性虚拟桌面。这些桌面每次重新启动时都会擦除特定于用户的更改。使用 Citrix 配置文件管理解决方案,可将特定于用户的数据和设置存储在集中式文件服务器上。

  • 池静态桌 面会分配给特定用户,除非 IT 管理员更改,否则只有分配的用户才能使用该桌面。用户的个人数据和设置不会从会话转移到会话。使用 Citrix 配置文件管理解决方案,用户特定的数据和设置存储在集中式文件服务器上。

  • 专用桌面 分配给各个用户,数据和设置将保留在桌面上。或者,Citrix 配置文件管理解决方案可用于将用户配置文件和数据存储在中央文件服务器上。对于专用桌面,桌面操作系统目录虚拟机复制模式下提供了一个新选项,即“使用完整副本以获得更好的数据恢复和迁移支持,创建计算机后可能降低 IOPS”。

对于服务器操作系统环境,Citrix 管理员可以使用主虚拟机映像(基础磁盘)为 Virtual Apps 环境部署多个托管共享虚拟机。

MCS 高级虚拟机和磁盘体系结构

使用 Citrix MCS 时的第一步是配置用作创建克隆模板的主虚拟机。IT 管理员可以为虚拟机配置所需的 CPU、RAM 和磁盘空间,然后安装操作系统和所需的应用程序。使用 Citrix Studio 控制台,管理员可以使用基础映像创建克隆虚拟机的计算机目录。这些虚拟机存储在与 PVS 不同的数据存储中。

Citrix MCS 完全依赖于存储。置备 VM 时,将为每个虚拟机创建两种类型的磁盘:差异磁盘和标识磁盘。

Citrix MCS 创建在创建目录向导中指定的虚拟机数量,并为存储中的每个虚拟机定义了两个磁盘。主映像的副本也存储在同一存储库中。如果定义了多个存储库,那么每个存储库将获得以下类型的磁盘。

每个存储库将获得主虚拟机映像的一个完整快照,该快照是只读的,并在虚拟机之间共享。

还将创建用于虚拟机身份的唯一标识磁盘 (16MB)。Delivery Controller 为每个虚拟机创建标识磁盘。

每个虚拟机还得到一个不同的磁盘。用于存储对 VM 执行的任何写入操作的唯一差异磁盘。磁盘是精简置备的(如果存储支持),并将根据需要增加到基础磁盘的最大大小。

完整克隆

在某些情况下,不希望创建带增量磁盘的虚拟机。下面提到几个原因:

  • 某些备份解决方案不会备份包含增量结构的虚拟机
  • 存储迁移变得更加复杂
  • 虚拟机迁移不适用于所有虚拟机管理程序
  • 三角洲随着时间的推移而增长,从而导致存储负载

出于这些原因,MCS 除了创建称为完整克隆的现有增量结构外,还增加了一个新的功能。使用永久虚拟机时,Citrix MCS 允许管理员选择要使用主映像的完整克隆创建的虚拟机。

IM-Image-3

对于完整克隆没有特殊要求。Citrix MCS 使用其标识技术更改完整克隆的标识。完整克隆计算机有两个磁盘,一个用于实际虚拟机,另一个用于标识,包括计算机名称、计算机帐户和密码。完整克隆虚拟机可以移动到不同的数据存储或群集,这是链接克隆无法实现的。

通过 Citrix Studio Provisioning 计算机时,完整克隆仅适用于桌面操作系统,而不适用于服务器操作系统。

计算机目录

物理机或虚拟机的集合在 Citrix 环境中作为称为计算机目录的单个实体进行管理。在创建计算机目录时,管理员可以选择置备虚拟机的方法以及哪种 Citrix 映像管理工具(例如 Citrix Machine Creation Services 或 Provisioning Services)。

参考资料:Citrix Docs:计算机目录

主机连接

在 Citrix Virtual Apps and Desktops 中,在创建计算机目录之前,在创建站点以集成基础平台(包括虚拟机管理程序或云提供程序)时创建与托管资源的连接非常重要。配置连接包括在受支持的虚拟机管理程序和云服务中选择连接类型。系统要求页面列出了受支持的虚拟机管理程序和云选项。

参考资料:Citrix Docs:系统要求

主机存储

如果支持的虚拟机管理程序可以管理存储产品,则支持该存储产品。置备计算机,数据按类型分类:

  • 操作系统 (OS) 数据,其中包括主映像

  • 临时数据,包括写入到 MCS 置备计算机的所有非持久性数据、Windows 页面文件、用户配置文件数据以及与 Content Collaboration(以前称为 ShareFile)同步的任何数据。每次机器重新启动时,此数据将被丢弃

为每种数据类型配置单独的存储可以减少负载并提高每个存储设备的 IOPS 性能。

虚拟机管理程序共享的存储

共享存储可存储较长时间保留的数据,并提供集中式备份和管理。此存储容纳与虚拟机关联的操作系统磁盘和其他磁盘。使用共享存储时,用于临时数据缓存的 Hypervisor 的本地存储有助于减少主操作系统存储的流量。每次计算机重新启动后,磁盘都会使用本地存储来获取临时数据;已置备的 VDA 与特定的 Hypervisor 主机相关联。如果主机出现故障,虚拟机将无法启动。

虚拟机管理程序通过本地磁盘映像的读取缓存来提供优化技术;例如,Citrix Hypervisor(以前称为 XenServer)提供 IntelliCache。这将减少到中央存储的网络流量。

Citrix Hypervisor 还支持使用主机的可用内存读取缓存。每当从磁盘多次读取数据时,性能的改进就可以看到,因为它在内存中获取缓存。

可以同时启用读取缓存和 IntelliCache。在这种情况下,IntelliCache 将读取从网络缓存到本地磁盘。从该本地磁盘读取的数据通过读取缓存缓存在内存中。

参考资料:Citrix Docs:存储读取缓存

本地存储

本地存储在 Hypervisor 本地数据存储中本地存储数据。这包括传输到站点中所有虚拟机管理程序的主映像和其他操作系统数据。此方法会增加网络流量以及管理流量。

选择此方法后,可选择是否使用共享存储来提供恢复能力和支持备份和灾难恢复系统的选项。

MCS 如何与本地虚拟机管理程序一起工作

以下是描述了 Citrix Machine Creation Services 如何与内部部署虚拟机管理程序协同工作的图形流程图和工作流。

IM-Image-5

IM-Image-4

Citrix Machine Creation Services 利用虚拟机管理程序 API 来置备虚拟机。为每个虚拟机分配一个标识磁盘,为计算机提供唯一标识,以及一个处理虚拟机写入操作的差异磁盘。

指令盘: 此小指令盘包含要运行的映像准备步骤,并附加到该虚拟机。随后启动准备虚拟机,映像准备过程开始,虚拟机正在关闭。

标识磁盘: 用于为每个虚拟机提供唯一标识的唯一标识磁盘。Delivery Controller 中的功能创建标识磁盘。此磁盘的大小将为 16 MB。

差异磁盘: 唯一的差异磁盘用于存储对虚拟机进行的任何写入操作。磁盘是精简置备的,并将根据需要增加到基础虚拟机的最大大小。

临时数据的缓存

对于计算机目录中的池(非专用)计算机,管理员可以启用在计算机上使用临时数据缓存。要启用此功能,目录中每台计算机上的 VDA 必须为 7.9 及更高版本。此功能也称为 MCS-IO。

管理员必须为目录使用的临时数据指定存储类型。在目录中启用临时缓存包括分配给缓存 (MB) 的内存和磁盘缓存大小 (GB)。

IM-Image-6

  • 临时数据将写入内存缓存,直到达到限制,当临时数据达到配置的限制时,冷数据将移动到临时数据缓存磁盘。

  • 内存缓存是每台计算机上总内存的一部分,在启用此选项之前,请考虑增加每台计算机的内存总量。

  • 仅启用磁盘缓存大小,临时数据将直接写入缓存磁盘,使用最少的内存缓存量。

  • 禁用这两个选项,临时数据不会被缓存,并将其写入每个虚拟机的差异磁盘。

Citrix MCS 与 Linux VDA

Citrix Machine Creation Services 使管理员能够从 Citrix XenApp 和 XenDesktop 7.18 及更高版本开始创建 Linux VM。在虚拟机管理程序或云提供程序上准备主虚拟机,并在此模板 VM 上安装 Linux Virtual Delivery Agent。使用模板 VM 在 Citrix Studio 中创建计算机目录,然后创建交付组以将 Linux 虚拟机置备给企业用户。

参考资料:Citrix Docs:Linux Virtual Delivery Agent

Citrix Cloud 和计算机预配

Citrix Cloud 管理 Citrix Virtual Apps and Desktops 服务环境的控制平面操作。Delivery Controller、管理控制台、SQL 数据库、许可证服务器、StoreFront 和 Citrix Gateway 都在 Citrix Cloud 上交付并完全由 Citrix 管理。

托管用户应用程序和桌面的工作负载始终处于用户选择的数据中心(无论是云还是本地)的客户控制之下。这些组件使用名为 Citrix Cloud Connector 的代理连接到云服务。

Citrix Machine Creation Services 使用来自底层虚拟机管理程序的 API。这些资源可能来自客户的数据中心或云。Citrix Cloud Connector 充当 Citrix Cloud 平面与基础资源之间的桥梁。控制平面可以访问元数据,例如登录详细信息、计算机名称和应用程序快捷方式,从而限制从控制平面访问客户的知识产权。

云与客户本地之间的数据流动使用安全的 TLS 连接通过端口 443 进行。

IM-Image-7

使用 MCS 方法 Provisioning 虚拟机时,可确保 Hypervisor 或云服务具有足够的处理器、内存和存储空间来容纳虚拟机。

需要在黄金映像上安装最新的 Hypervisor 工具,以便应用程序和桌面正常运行。建议不要在主映像上运行 Sysprep,因为 MCS 处理机器标识本身。

参考资料:Citrix Docs:Citrix Cloud 和计算机预配

常用案例

Citrix MCS 最适合满足以下条件的生产环境:

  • 在云环境中部署
  • 打算部署 NFS 存储或群集共享卷
  • 高 IOPS 存储的可用性(MCS 将更多的读取活动引导到共享存储)

Citrix MCS 通过 Citrix Studio 提供了一个简单的管理层面,并且从单个 UI 轻松配置工作负载。不需要额外的基础设施。让我们假设使用 Citrix MCS Provisioning 方法运行混合工作负载。这包括托管共享桌面、Linux 虚拟机、完整克隆虚拟机、基于 GPU 的工作负载和一些 Windows 应用程序。

IM-Image-8

上图是一个概念性部署方案,用于在同一环境中运行支持任务工作人员和高级用户的混合工作负载。任务工作线程工作负载通过托管共享桌面部署,而高级用户正在使用部署并分离到不同的数据存储中的专用虚拟机,因为这些虚拟机将是 IOP 使用率最高的。

在上述部署方案中,环境中部署了多个 Delivery Controller,以实现高可用性和负载平衡。Delivery Controller 配备足够的处理能力和内存来处理用户流量。Microsoft SQL Server 部署在高可用性模型中,这样,如果任何一个数据库服务器出现故障,Delivery Controller 操作(如获取用户详细信息、响应 StoreFront 请求等)不会受到影响。

随着应用程序数量的增加,环境中的资源消耗也会增加。最佳做法是预先计算要在环境中运行的用户数量和工作负载类型。Citrix MCS 易于从 Citrix Studio 进行管理,无需额外的基础设施,因此可以在领先的虚拟机管理程序和云平台上轻松部署。

使用 Citrix Virtual Apps and Desktops 的 MCS 的最佳实践

在使用 Citrix Machine Creation Services 置备虚拟机之前,必须考虑几个方面。Citrix MCS 能够在 Citrix Hypervisor、Hyper-V、vSphere、AHV 以及领先的云提供商上交付虚拟 RDS 和 VDI 工作负载。

在使用 Citrix MCS Provisioning 虚拟机之前,应解决以下基础结构注意事项

  • 存储
  • 临时缓存
  • 操作系统优化
  • Delivery Controller
  • 可扩展性

存储

存储配置和大小调整是使用 Citrix Machine Creation Services 时的决定因素。

容量注意事项: 使用 Citrix MCS 创建 VM 时,最少创建两个磁盘:一个是包含从主映像复制的操作系统的增量磁盘,另一个是包含每个 VM 的 Active Directory 标识数据的标识磁盘 (16 MB)。可能会添加其他磁盘以满足某些使用情况。

Citrix Hypervisor IntelliCache 功能在每个主机的本地存储上创建主虚拟机的只读磁盘。建议在置备最终用户计算机之前 Provisioning 先计算存储空间。

虚拟机管理程序开销: 不同的虚拟机管理程序创建一组特定的文件,这些文件在每个虚拟机的基础上产生开销。例如,日志文件、Hypervisor 特定的配置文件和快照文件也保存在存储中。

进程开销: 初始编录创建需要将基础磁盘复制到每个存储库。将新计算机添加到目录中不需要将基础磁盘复制到每个存储库。目录更新过程在每个存储存库上创建一个额外的基础磁盘,并且还可能遇到临时存储高峰。

其他: 在 Provisioning 虚拟机时,还会考虑 RAM 大小调整和精简/厚调配方法。

临时缓存/MCS 存储 I/O 优化

目录中的临时缓存包括两个选项,第一个选项包含内存,第二个选项在磁盘上。对于内存或磁盘,部分资源将用于临时缓存操作,因此建议从运行 VM 的主机检查可用内存和磁盘空间。如果将磁盘用于临时缓存以获得更好的性能,建议使用 SSD 磁盘或高 IOPS 存储解决方案。

操作系统优化

为了提高性能并最大限度地减少主机上的资源消耗,建议通过运行 Citrix 优化器工具来优化操作系统。

Citrix 优化器: 默认情况下,Microsoft Windows 桌面映像包含大量 VDI 环境中不需要的功能。Citrix 优化程序是 Citrix 开发的 Windows 工具,用于帮助管理员优化其环境中的各种组件。该工具是基于 PowerShell 的,但也包括一个图形 UI。

Citrix 优化器提供了用于优化的各种模板。为操作系统选择正确的模板,以便禁用或删除不必要的服务、配置条目和应用程序。管理员可以期望在优化后实现相当显著的性能提升。

要下载并安装最新的 Citrix 优化程序,请访问:https://support.citrix.com/article/CTX224676

Delivery Controller

在 Citrix MCS 部署中,Delivery Controller 是基础体系结构的核心组件。建议在高可用性模式下部署 Delivery Controller 和 Microsoft SQL Server,以便如果任何一个 Delivery Controller 出现故障,正常操作不会受到影响。

在中型或大规模部署中,Delivery Controller 必须具有足够的内存和计算能力,以便环境中不会出现任何 CPU 和内存瓶颈。

连接到托管资源时,请确保检查 Hypervisor 的兼容版本,以便在 Provisioning 时不会出现问题。建议将主副本保存在 SSD 或 NVMe 驱动器上的高 IOPS 数据存储 /LUN 中,以实现最大效率和性能。

可扩展性

Machine Creation Services 在功能上捆绑在 Delivery Controller 中,这与底层虚拟机管理程序和云提供程序框架 API 进行交互。当涉及到扩展环境存储时,它可能会成为瓶颈,因此建议增加可用的存储群集,以便可扩展性不会受到影响。

在中型和大规模部署的情况下,资源消耗将随着最终用户需求的增长而增加,建议部署优化的映像,以免不需要的应用程序消耗过多的资源。

Citrix Provisioning (PVS)

Citrix Provisioning 与传统的映像解决方案不同,从根本上改变了硬件与在其上运行的软件之间的关系。共享磁盘映像通过网络流式传输,而不是复制到各个虚拟机。Citrix Provisioning 使企业能够减少必须管理的映像数量,并通过分布式处理提供集中管理。

Provisioning 服务器是指安装了 Citrix Provisioning Soap 和 Citrix Stream Service 的服务器。Stream Service 用于通过流技术将软件从虚拟磁盘映像或虚拟磁盘传输到目标设备。在访问控制台时使用 SOAP 服务。Provisioning 服务器用于将虚拟磁盘文件(包含计算机映像)的内容通过流技术传输到目标设备。虚拟磁盘文件可以直接驻留在 Provisioning 服务器本地硬盘上,或者 Provisioning 服务器可以从网络上的共享存储设备访问虚拟磁盘。

Citrix Provisioning 解决方案需要 SQL 数据库来存储场中存在的所有系统配置设置。Provisioning Server 高级配置选项可用于确保 PVS 服务器之间目标设备连接的高可用性和负载均衡。

Citrix Provisioning 概述

下图描述了 Citrix Provisioning 和产品基础结构的概述。

IM-Image-9

PVS 农场

场代表 Provisioning Services 基础结构的最高级别。场还包括 SQL 数据库和 Citrix 许可证服务器、本地和/或网络共享存储以及目标设备的集合。

PVS 站点

站点提供用来表示和管理 Provisioning 服务器、设备集合以及本地共享存储的逻辑分组的方法。一个场中可以存在一个或多个站点。第一个站点是通过配置向导创建的,在场中的第一个 Provisioning Server 上运行。

设备集合

使用设备集合可以创建和管理目标设备的逻辑分组。创建设备集合通过在集合级别而不是在目标设备级别执行操作来简化设备管理。一个目标设备只能属于一个设备集合。

目标设备

从网络上的 PVS 虚拟磁盘引导和获取操作系统映像的设备(如台式计算机或虚拟机)被视为目标设备。用于创建基础虚拟磁盘映像的设备被视为主目标设备。

虚拟磁盘

虚拟磁盘的作用类似于目标设备的硬盘,并且作为磁盘映像文件存在于 PVS 服务器可以访问的存储中。虚拟磁盘由 VHDX 基础映像文件、任何关联的属性文件 (.pvp) 和版本化 VHDX 差异磁盘链 (.avhdx) 组成。

Citrix Provisioning 支持完整的映像生命周期,即从最初创建虚拟磁盘,到部署和后续更新,再到最后报废。虚拟磁盘的生命周期由以下四个阶段组成:

1) 创造 2) 部署 3) 更新 4) 退休

创建虚拟磁盘

创建虚拟磁盘需要准备主虚拟机以进行映像、创建和配置虚拟磁盘所驻留的虚拟磁盘存储,然后将主目标设备 (VM) 映像到该文件,从而生成新的基础虚拟磁盘映像。Citrix 管理员使用映像向导执行此过程。

部署虚拟磁盘

创建基础虚拟磁盘映像后,通过将其分配给一个或多个目标设备来部署该映像。当目标设备启动时,它将从分配的虚拟磁盘启动。有两种引导模式选项:私有映像模式(单设备访问、读/写)和标准映像模式(多设备访问、只读和写入缓存选项)。

更新虚拟磁盘

有必要在其生命周期内更新基础虚拟磁盘映像,以便映像包含最新的软件和修补程序。可以手动执行更新,也可以使用虚拟磁盘更新管理功能自动执行更新过程。每次更新虚拟磁盘时,都会创建一个新版本。根据目标设备和虚拟磁盘版本的联合分类,不同的设备可以访问不同的版本:测试、维护或生产。

维护设备具有对最新维护版本的独占读/写访问权限,测试设备具有对测试版本的共享只读访问权限,生产设备具有对生产版本的共享只读访问权限。

虚拟磁盘的更新过程包括以下操作:

  • 手动或自动创建虚拟磁盘版本
  • 从设备(维护设备或更新设备)引导新创建的版本,安装并保存对虚拟磁盘的所有更改,然后关闭设备
  • 使用测试目标设备进行验证,然后提升为“生产”并重新启动所有生产目标设备

报废虚拟磁盘

退出虚拟磁盘与删除虚拟磁盘相同。在取消分配后,整个 VHDX 链(包括差异和基础映像文件、属性文件和锁定文件)将被删除。

虚拟磁盘存储

存储是包含虚拟磁盘的文件夹物理位置的逻辑名称。此文件夹存在于 PVS 服务器上或共享存储中。在 PVS 控制台中创建虚拟磁盘文件时,这些文件将分配给存储。在 PVS 站点中,将授予一个或多个 Provisioning 服务器访问该存储的权限,以便向目标设备提供虚拟磁盘。

写入缓存

当虚拟磁盘处于私有/维护模式时,所有数据都会写回虚拟磁盘文件。当虚拟磁盘处于标准模式或共享模式数据时,无法写回基础虚拟磁盘。相反,它将写入以下位置之一的写入缓存文件:

  • 设备 RAM
  • 硬盘上溢出的设备 RAM
  • PVS 伺服器

此写入缓存文件将在下一个引导周期中删除,以便在重新启动或启动目标时,它具有干净的缓存,并且不包含以前会话中的任何内容,从而保证映像的一致性。

默认情况下,PVS 目标软件将系统页文件重定向到与写入缓存文件相同的磁盘,以便 pagefile.sys 在缓存驱动器上分配空间,除非手动将其设置为在单独的卷上重定向。

在设备 RAM 中缓存

写入缓存可作为目标设备 RAM 中非页面缓存池的一部分存在。由于内存访问速度始终比磁盘访问速度快,因此该功能提供了最快捷的磁盘访问方法。

当服务器具有足够的物理内存并且速度比其他缓存模式快时,此模式非常有用。预先计算工作负载要求并设置适当的 RAM 大小非常重要,否则目标设备可能因空间不足而出现蓝屏,在写入缓存耗尽之前。

在设备 RAM 中缓存并溢出到硬盘

此方法具有适度的 RAM 和硬盘消耗。Citrix 建议将此缓存类型用于 Citrix Provisioning,因为它将最佳的 RAM 与硬盘缓存的稳定性相结合。缓存使用非页面缓存池内存以获得最佳性能。当 RAM 利用率达到其阈值时,最旧的 RAM 缓存数据将写入本地磁盘。

更好的性能和易于扩展,在高需求工作负载中实现目标设备可靠性。

PVS 服务器上的缓存

写入缓存可以作为临时文件存在于 Provisioning Server 磁盘上。这通常会导致网络流量增加,因为磁盘写入从目标设备重定向到远程位置。

不建议在生产环境中使用此缓存类型,因为它通常比其他选项慢。

Citrix Provisioning 的高可用性

建立高可用性 Citrix Provisioning 环境的关键是识别关键组件、为关键组件创建冗余以及确保在活动组件出现故障时自动故障转移到辅助组件。Citrix Provisioning 的关键组件包括:

  • SQL 数据库
  • Provisioning 服务器
  • 虚拟磁盘和存储

配置具有高可用性的实现时,Citrix Provisioning 提供了多种可供选择的选项,其中包括:

脱机数据库支持 -如果与数据库的连接断开,则 Provisioning Server 可以使用数据库的本地快照,以允许继续使用功能。

SQL AlwaysOn - Citrix Provisioning 支持 SQL AlwaysOn 高可用性和灾难恢复解决方案。

数据库镜像 -在数据库级别实现的 SQL Server 的高可用性解决方案。

Provisioning 服务器故障转移 - 如果其中一个 PVS 服务器不可用,则站点内的另一台服务器可以处理与该虚拟磁盘的活动目标设备连接。已启用负载平衡,以便在目标设备和其余服务器之间自动平衡负载。

虚拟磁盘和存储 -配置服务器可访问共享存储位置。Citrix Provisioning 支持各种共享存储配置,包括 Windows 共享存储和 SAN。

参考资料:Citrix Docs:管理以实现高可用性

面向 Citrix Provisioning 的 SQL 数据库

最佳做法是将 SQL 数据库安装在 PVS Server 所在位置以外的单独服务器或群集上,以避免在负载平衡期间分配不当。有关支持的 SQL 版本的详细信息,请参阅 PVS 系统要求。

数据库大小

估计数据库的大小有助于确定硬件配置。这有助于实现性能和存储数据和索引的存储分配。

参考资料:Citrix Docs:数据库大小调整

Citrix 许可证服务器

Citrix 许可证服务器安装在 Citrix 环境中的 Windows 服务器上,以便与所有 Citrix PVS 服务器进行通信,以激活 PVS 服务器的许可证。许可证服务器连接中断宽限期为 30 天(720 小时)。如果与 Citrix 许可证服务器的连接断开,Citrix Provisioning 将在 30 天内继续预配系统。为了实现 Citrix 许可证服务器的可扩展性、可靠性和可用性,可以使用 Microsoft 群集功能创建群集许可证服务器。

Citrix Cloud 的新许可证类型

Citrix 引入了新的许可证类型 (PVS_CCLD_CCS),该类型为 Citrix Cloud 中的 Virtual Apps and Desktops 服务的客户提供传统 PVS 许可证授权。Citrix Cloud 的 Citrix Provisioning 许可证选项受与 Citrix Provisioning 许可证类型关联的选项(本地或 Citrix Cloud)控制。如果在初始设 Citrix Provisioning 过程中选择了“云”选项,则将使用 Citrix Cloud 许可证。相反,如果在设置 Citrix Provisioning 时选择了内部部署,则会使用内部部署许可证。

注意:此新的 Citrix Cloud 许可证类型替换了适用于桌面和数据中心配置的现有本地 Citrix Provisioning 许可证;在捆绑 Citrix 许可证时,该许可证具有与本地许可证相同的获得优先级。

本地更新换代功能不适用于 Citrix Cloud 许可证。每个 Citrix Provisioning 目标设备都将签出一个 Citrix Cloud 许可证,而无论操作系统类型是什么。

Microsoft 批量许可

执行 PVS 映像向导以创建虚拟磁盘时,请配置 Microsoft Key Management Service (KMS) 或 Multiple Activation Key (MAK) 批量许可选项,以使 Citrix Provisioning 服务器能够激活每个目标设备的操作系统。

KMS 批量许可使用在数据中心中运行的集中式激活服务器,并充当本地激活点(与通过 Internet 通过 Microsoft 激活每个系统)。

一个 MAK 对应于已购买的一定数目的操作系统许可证。在每个系统上安装操作系统期间,将输入 MAK,以激活操作系统,并由 Microsoft 集中递减所购买许可证的数目。或者,使用批量激活管理工具包 (VAMT) 完成“代理激活”的过程。这种方式可以激活不具有 Internet 网络访问权限的系统。对于在虚拟磁盘创建期间选择了 MAK 许可模式的标准映像模式虚拟磁盘,Citrix Provisioning 将使用此代理激活机制。

Active Directory 集成和目标设备管理

将 Citrix Provisioning 与 Active Directory 相集成允许管理员选择 Citrix Provisioning 应在其中创建目标设备计算机帐户的 Active Directory 组织单位 (OU)。它还允许利用 Active Directory 管理功能,例如控制委派和组策略。最后,配置 Provisioning Server 以自动管理目标设备的计算机帐户密码。

在场内集成 Active Directory 之前,请确认满足以下必备条件:

  • 在构建虚拟磁盘之前,主目标设备已添加到域中
  • 在映像期间运行映像优化向导时,选择了禁用计算机帐户密码更改功能选项

参考资料:Citrix Docs:配置虚拟磁盘以实现 Active Directory 管理

Citrix Provisioning Accelerator

Citrix Provisioning Accelerator 在 Citrix Hypervisor 主机上的 Dom0 中充当预配代理,虚拟磁盘中的流数据在转发到虚拟机之前会在代理处缓存。此缓存可加快驻留在同一主机上的其他虚拟机的引导时间,因为无需通过网络流式传输来自 PVS 服务器的大量数据。Citrix Hypervisor 的本地资源已被消耗,但这可提高网络的整体性能。

参考资料:Citrix Docs:Citrix Provisioning Accelerator

目标设备引导过程

当目标设备打开电源时,它需要能够查找并联系 Provisioning Server,以便向相应的虚拟磁盘进行流式传输。此信息存储在名为 ARDBP32.BIN 的所谓引导文件中。它包含目标设备与 Citrix PVS 服务器联系以便能够初始化流式处理进程所需的所有内容。

引导文件将通过 TFTP 服务器传递,这也部分适用于替代 BDM(引导设备管理器)方法。TFTP 和 BDM 之间有一些明显的区别。

TFTP

使用 TFTP 时,目标设备需要知道如何以及在何处可以找到 TFTP 服务器来下载引导文件,然后再连接 PVS 服务器。可以通过 Citrix ADC 在 HA 中配置 TFTP,以避免单点故障。Provisioning Services 拥有自己的内置 TFTP 服务器。

向目标设备提供 TFTP 服务器地址的最常用方法之一是通过 DHCP(尽管还有其他选项)。

BDM(引导设备管理器)

有两种不同的方法可以使用引导设备管理器。

PVS 提供了一个快速向导,它将生成一个相对较小的 .ISO(大约 300KB)文件。接下来,管理员将使用其虚拟 DVD 驱动器将目标设备配置为从此 .ISO 文件引导。此方法使用两个阶段的过程,其中 PVS 服务器位置将硬编码到 BDM 生成的引导文件中。其余的信息,如 PVS 设备驱动程序是使用 TFTP 协议(UDP 端口 6969)从 PVS 服务器下载的,这里仍将使用 TFTP。

当使用“Virtual Apps and Desktops 安装向导”置备目标设备时,管理员可以创建并分配一个小型 BDM 硬盘分区,该分区将作为单独的虚拟磁盘连接到虚拟机。使用此方法,不再需要上述两阶段方法,因为分区已经包含了所有 PVS 驱动程序。通过这种方式,所有需要的信息都将直接提供,而无需 PXE、TFTP 和 DHCP。

IM-Image-10

上图说明了高级引导步骤。PXE 用于获取客户端的 TFTP 服务器 IP 和引导文件名详细信息,TFTP 用于下载引导程序文件。

参考资料:Citrix 文章:CTX227725

Citrix Provisioning 由 Citrix Cloud 进行管理

当管理员想要使用 Citrix Cloud 门户从任何位置管理其部署时,Citrix PVS 和 Citrix Cloud 集成至关重要。Citrix Cloud Connector 起着关键作用,它允许在 Citrix Cloud Virtual Apps and Desktops 服务中使用与预配的 VDA 的通信,该服务为远程虚拟机管理程序和云的命令提供代理功能。

使用 Citrix Provisioning 与 Citrix Cloud 集成时需要注意以下几种因素:

  • Citrix Cloud 中的 Citrix Virtual Apps and Desktops Delivery Controller
  • 位于一个或多个资源位置的 Citrix Cloud Connector
  • Provisioning 服务器位于本地(版本 7.18 或更高版本)
  • Citrix Virtual Apps and Desktops 设置向导使用远程 PowerShell SDK 将 VDA 记录推送到 Citrix Cloud 中的 Delivery Controller。

要将现有 Citrix Provisioning 部署连接到 Citrix Cloud,请执行以下操作:

  • 添加 Cloud Connector 服务器
  • 将 Citrix Provisioning 升级到版本 7.18 或更高版本
  • 安装要在 Citrix Virtual Apps and Desktops 的 Citrix Provisioning 控制台上使用的远程 Remote PowerShell SDK。

IM-Image-11

Citrix Cloud 集成使 Citrix Provisioning 可以将新的预配 VDA 添加到位于 Citrix Cloud 中的 Citrix Cloud Virtual Apps and Desktops Delivery Controller 中的计算机目录。此过程遵循以下两种方法之一:

  • 使用 Citrix Provisioning 控制台中的 Virtual Apps and Desktops 安装向导添加新设备
  • 使用 Studio 中的计算机目录创建导入现有 Citrix Provisioning 目标设备

Citrix Studio 使用 PvsPsSnapin 与 PVS 服务器进行通信。此管理单元已扩展,以启用从 Citrix Virtual Apps and Desktops 服务到 PvsMapiProxyPlugin(在 Citrix Cloud Connector 中)的通信。通信通过 HTTPS(TCP 443)进行。PVS 管理员凭据通过此安全通道发送。然后,代理将使用凭据模拟 PVS 管理员,然后再联系 PVS 服务器。

参考资料:Citrix Docs:Citrix Cloud 管理的 Citrix Provisioning

常见用例

Citrix Virtual Apps and Desktops 可满足一系列广泛的业务要求和用例。

例如,在金融、市场营销或任何医疗领域,用户被视为正常的办公室工作人员、知识工作者或权力使用者。

Citrix Provisioning 简化了管理员工作并提供以下功能

  • 快速 Provisioning 计算机
  • 集中和安全的数据
  • 基于用户组的一致性和更动态的环境

Citrix Provisioning 使管理员能够根据用户组及其需求创建具有各种面向业务的应用程序的多个虚拟磁盘。对于办公室工作人员,他们通常只需要有限数量的 Windows 应用程序来进行日常工作。对于需要运行动画软件、医疗扫描报告等的多媒体工作人员,可以使用 AMD、英特尔或 NVIDIA 虚拟 GPU 的硬件加速系统。

工作负载类型 说明
同质工人 通常,在呼叫中心方案中,用户访问 Microsoft Office 和其他日常应用程序。使用包含 Microsoft Office 和其他所需应用程序的单个主映像部署多个虚拟机。
部署托管共享桌面或流桌面 在大型用户环境中,多个非持久性用户组可以访问桌面和应用程序。通过 Citrix Provisioning 帮助快速交付所需工作负载,扩展范围可达数万台桌面。
如果环境 IOPS 受限 Citrix Provisioning 最适合使用 iSCSI 或更低带宽网络通道的环境,其中 IOPS 受限。
大量应用 Citrix Provisioning 有助于创建多个服务器操作系统实例来运行所有必要的部门应用程序。
高性能工作负载 这与需要更多 CPU、RAM 并从 GPU 中受益的电力工作人员类似。

教育部门的部署情况

在教育部门,信息技术已成为其系统的一个组成部分。不断增长的需求以及为成千上万的独特用户交付应用程序和数据是一个挑战。此外,还需要对 Hyper chemistry、MATLAB、SAS、Mathematica、Office 等应用程序进行安全远程访问。

在任何设备上大规模虚拟化并将数十或数百个应用程序流式传输到最终用户。Citrix Provisioning 服务器可帮助管理员克服 Provisioning 障碍,使用“少花钱做更多”的概念。假设需要通过 Citrix Provisioning 运行和配置不同的工作负载。

IM-Image-12

上图描述了要在大学的不同部门/实验室中运行的多个工作负载。虚拟磁盘包含存储在共享存储中的不同操作系统和应用程序,在 Citrix Provisioning 的帮助下,虚拟磁盘通过网络通过流技术推送到具有不同的工作负载集合的不同实验室。通过快速部署,可轻松根据需求扩展。

Citrix Provisioning 支持混合交付策略,从而支持混合工作负载并满足各种用例。主要亮点是,

  • 让学生和院系能够随时学习和教学
  • 降低成本,同时增加 IT 服务
  • 提高高等教育的竞争优势,科技是其中的主要差异

在所有部署中,PVS 服务器必须具有足够的处理能力,并应满足所有网络需求,包括 NIC 成组、更好的带宽等。

使用 Citrix Virtual Apps and Desktops 的 Citrix Provisioning 的最佳实践

在设计 Citrix Virtual Apps and Desktops 解决方案时,请务必考虑 Provisioning 服务器符合业务需求。设计中所包含的组件包括 Active Directory 服务、网络和安全体系结构、服务器硬件类型、存储基础结构、虚拟化平台和操作系统。

本节提供以下领域的通用最佳做法

  • 网络连接
  • 存储
  • Delivery Controller
  • 网络交换机
  • 虚拟桌面图像/目标设备
  • 可扩展性

网络连接

域名系统: 动态更新是 DNS 中的一个关键功能。这消除了在 DNS 数据库中手动输入名称和 IP 地址的需要。保护动态更新的安全将使用请求对 DNS 进行更新的 Active Directory 计算机进行验证。这意味着只有已加入 Active Directory 域的计算机才能动态更新 DNS 数据库。

网络接口: Citrix 建议在置备服务器计算机中使用多个网卡。必须配置成组的 NIC,以便通过 PVS Stream Service 传输虚拟磁盘,并对企业存储系统或文件共享进行网络访问。还建议部署专用网络或 VLAN。

存储

PVS 服务器的存储要求取决于要创建和维护的虚拟磁盘映像数。虚拟磁盘的大小取决于要安装的应用程序数量和操作系统。

要最大限度地减少所需的存储空间,Citrix 建议最大限度地减少每个虚拟磁盘上的应用程序并最大限度地减少虚拟磁盘的数量。每个目标计算机都包含一个易失性写入缓存文件。每个虚拟机的缓存文件的大小取决于使用的应用程序类型、用户工作负载和重启频率。

SAN/NAS: 在高可用性部署中,需要共享卷,并且必须可以从多个主机访问卷。只读卷用于在标准模式下存储虚拟磁盘。私有映像模式需要读/写访问权限。

Delivery Controller

作为最佳做法,生产站点应始终在本地部署中的不同物理服务器上拥有至少两个控制器(在 Citrix Cloud 中,这是自动管理的)。每个控制器直接与站点数据库进行通信。

网络交换机

禁用生成树并快速启用端口: 使用生成树协议 (STP) 或快速生成树协议,当交换机传输桥接协议数据单元 (BPDU) 和侦听以确保 BPDU 不处于环回配置时,端口处于阻止状态。

完成此收敛过程所需的时间取决于交换网络的大小,这可能会允许预启动执行环境 (PXE) 超时,从而阻止计算机获取 IP 地址。

若要解决此问题,请禁用连接到客户端的边端口上的 STP,或根据托管交换机品牌启用 PortFast 或快速链接。请参阅下表:

开关制造商 快速链接选项名称
思科 PortFast 或 STP Fast Link
戴尔 生成树快速链接
铸造厂 快速端口
3COM 快速端口

Stream Service 隔离: 如果安全性是首要问题,Citrix 建议将 PVS 流流量与其他生产流量隔离或分割。

NIC 成组: 将两个网卡组合以获得吞吐量,从而为服务器提供最大带宽,从而提高网络性能,帮助缓解这种潜在的网络瓶颈。

优化虚拟桌面图像/目标设备

虚拟磁盘映像在向目标设备提供成功的虚拟磁盘方面发挥着重要作用。在创建映像之前,清除不需要的应用程序并根据要求进行优化非常重要。

Citrix 优化器: 默认情况下,Microsoft Windows 桌面映像包含大量在 VDI 环境中不必要的功能。Citrix 优化程序是由 Citrix 开发的 Windows 工具,用于帮助管理员优化其环境中的各种组件,尤其是使用 Virtual Delivery Agent (VDA) 的操作系统。该工具是基于 PowerShell 的,但也包括一个图形 UI。

Citrix 优化器提供了用于优化的各种模板。为操作系统选择正确的模板,以便禁用或删除不必要的服务、配置条目和应用程序。管理员可以期望在优化后实现相当显著的性能提升。

参考资料:Citrix 博客:Citrix Optimizer

准备虚拟磁盘映像: 准备虚拟磁盘是 Citrix Virtual Apps and Desktops 服务部署中的关键步骤。准备主映像时需要注意几个重要步骤:

  • 从主映像中删除未使用的文件和功能
  • 运行 Citrix 优化程序以提高性能并注意选择正确的操作系统
  • 测试控制器和虚拟机之间的连接性
  • 在映像向导中运行优化

参考资料:Citrix Docs:准备好主目标设备以便构建映像

Citrix Provisioning 防病毒最佳实践: 如果防病毒未正确针对环境进行调整,则服务器和目标可能会遇到常见问题。建议将防病毒定义更新仅限于主目标设备。避免扫描虚拟磁盘写入缓存文件,流式磁盘 I/O 构成给定目标的操作系统。

升级防病毒客户端软件需要卸载 PVS 客户端软件并重新安装。检查有关配置扫描异常的防病毒软件特定说明。如果出现故障排除,获取性能基准可能会有所帮助。

参考资料:Citrix 文章:CTX124185

可扩展性

在设计 Citrix Virtual Apps and Desktops 解决方案时,可扩展性是一个重要因素。重要的是要规划解决方案组成部分的可扩展性,而不仅仅是以一般的方式来看待解决方案。此处在 Delivery Controller、Citrix Provisioning 服务器和虚拟机基础结构上观察到的可伸缩性。

每个 PVS 服务器支持的目标设备数量取决于虚拟磁盘的大小、虚拟磁盘放置的存储解决方案、写入缓存类型和最终用户的工作流程。影响 PVS 服务器可扩展性的最常见瓶颈是 PVS 服务器的网络 I/O、虚拟磁盘存储位置的磁盘 I/O 和缓存文件位置。各组织必须根据其用例和基础设施来照顾这些关键因素。

Citrix 建议每个组织根据其环境根据基础结构用例执行可扩展性测试。向现有基础结构添加额外 PVS 服务器将有助于分配负载并提供冗余和高可用性。

总结

向最终用户交付 Virtual Apps and Desktops 对于许多 IT 管理员来说是一个挑战,因为最终用户体验要求和工作风格要求可以自由地在任何地方、任何时候和任何设备访问资源。

本文档演示了在 Citrix Virtual Apps and Desktops 中使用的映像技术。映像管理包括用于满足最终用户需求的核心组件,提供定制和优化的虚拟桌面和应用程序交付。

需要考虑的几个重要问题:

  • 映像管理不仅是基础体系结构的设置,而且是内部部署或云解决方案设计的基本构建块

  • 优化资源消耗并在可扩展性方面提供不同的部署模型

  • 使用 Provisioning 模型的应用程序虚拟化为管理员提供了灵活性并最大限度地降低了复杂性

  • 确保采用一般性最佳做法,以有效利用资源

我们已经了解了 Citrix 提供的两种预配模型(Citrix Machine Creation Services 和 Citrix Provisioning)的整体视图。组织可以根据需求选择使用这些配置模式之一或两种配置模式。

引用

用于 Citrix Provisioning 的资源

Citrix Virtual Apps and Desktops 的资源

终端安全和防病毒最佳实践

对于最佳实践和设计手册