参考架构:映像管理

观众

本文档面向Citrix的技术专业人员、IT决策者、合作伙伴和架构师,他们希望在本地或云环境中使用Citrix虚拟应用程序和桌面来探索映像管理服务。读者必须对Citrix产品、管理程序和云框架有基本的了解。

本文件的目的

本文档概述映像管理环境的产品功能和设计架构,以确保组织高效交付应用程序和桌面工作负载。该文档主要关注Citrix映像管理服务及其概念性部署场景。

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

  • 机器创造服务(MCS)
  • Citrix供应(pv)

建筑设计框架

Citrix的虚拟化解决方案使组织能够创建、控制和管理虚拟机,交付应用程序和实现粒度安全策略。Citrix虚拟应用和桌面解决方案为开发一个完整的数字工作空间提供了一个统一的框架。该产品使Citrix用户能够独立于其设备的操作系统和界面访问应用程序和桌面。

Citrix架构设计框架基于统一和标准化的层模型。该框架为理解大多数常见的虚拟应用程序和桌面部署场景的技术架构提供了基础。概念图中描述了这些层。

  • 用户层—这一层定义了Citrix环境的用户组和位置。
  • 访问层—该层定义了用户访问资源的方式。
  • 资源层-这一层定义了Citrix工作负载的供应,以及资源如何分配给给定的用户。
  • 控制层-这一层定义了控制Citrix解决方案的组件。
  • 平台层—这一层定义物理元素,其中运行hypervisor组件和云服务提供商框架来承载Citrix工作负载。
  • 业务层-这一层定义了支持核心解决方案交付的工具。

IM-Image-1

映像管理服务适合于Control、Platform和Operations层,用于管理资源层中的虚拟机。以下部分将介绍Citrix机器创建服务(MCS)和Citrix配置(PVS)的概念,因为它们是Citrix虚拟应用程序和桌面环境中映像管理的基本构建块。

为什么图像管理是必要的?

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

IM-Image-2

Citrix虚拟应用和桌面解决方案有两种映像管理的配置模型:Citrix机器创建服务和Citrix配置。

机器创造服务(MCS)

Citrix机器创建服务是Citrix虚拟应用程序和桌面解决方案的一个组件,在交付控制器中耦合。使用来自底层管理程序或云提供商的应用程序编程接口(api), MCS从一个主映像构建智能链接克隆,以供应多个虚拟桌面。克隆包括一个区别磁盘和一个连接到基本磁盘的标识磁盘。

MCS (Machine Creation Services)通过hypervisor api对虚拟机进行配置、启动、停止和删除操作。MCS是一种基于磁盘的供应方法,适用于主要的管理程序和领先的云平台。

为什么MCS ?

Citrix Machine Creation Services通过以下特性提供了一种简化的映像管理方法:

  • 使用Citrix Studio进行部署和管理非常简单
  • 技术嵌入核心产品,不需要额外的基础设施
  • 更适合云供应
  • 适合持久和非持久工作负载

Citrix供应(pv)

Citrix Provisioning将单个共享磁盘映像传输到多个单独的机器,而不是将映像复制到它们。Citrix Provisioning使组织能够减少他们必须管理的磁盘映像的数量,即使在机器数量持续增长的情况下也是如此。

此外,机器实时地从单个共享映像传输数据,机器映像一致性得到了保证,同时,大型机器池可以在重新启动所需的时间内完全更改它们的配置、应用程序甚至操作系统。这种最佳方法使组织能够在满足业务目标的同时,在最短的时间内安装和更新安全性和应用程序补丁到单个共享映像。

为什么pv ?

正确使用Citrix Provisioning可以通过以下特性实现更有效的映像管理:

  • 高可伸缩性
  • 减少存储需求
  • IOPS增加效率
  • 集成的版本管理功能
  • 同时支持物理目标和虚拟目标

选择正确的配置模型

Citrix MCS和PVS是经过大规模验证的成熟供应平台。但是,在决定使用哪一种或者两者是否都适合给定的环境时,需要考虑一些因素。Citrix MCS嵌入到交付控制器中,并在Citrix Studio Console中进行管理。Citrix Provisioning需要单独的服务器、网络考虑因素、数据库以及它自己的管理控制台。

下表比较了Citrix MCS和PVS两种模型。

能力 MCS pv
支持虚拟RDS和VDI工作负载 X X
支持池和个人VDI桌面 X X
对物理机器的支持 X
支持Microsoft Azure机器 X X
支持亚马逊网络服务(AWS)机器 X
支持谷歌云平台 X X *

你可以在我们的文章中阅读更多关于图像管理决策因素的内容选择映像管理的供应模型

* Citrix配置为谷歌云平台目前处于公共技术预览阶段。

机创建服务

Citrix Machine Creation Service (MCS)在Citrix虚拟应用程序和桌面环境的映像管理中扮演着至关重要的角色。Citrix MCS服务与Citrix交付控制器和云连接器耦合,因此不需要任何额外的服务器或基础设施。有了MCS, IT管理员只需访问Citrix Studio Console,就可以创建虚拟桌面和服务器映像,并将其交付给企业用户,或者使用Citrix Cloud。

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

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

当发放多台虚拟桌面或服务器时,MCS中包含两种类型的磁盘:区分磁盘和标识磁盘。

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

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

  • Pooled-random桌面是每次用户启动VDI会话时随机分配给用户的非持久虚拟桌面。这些桌面在每次重启时都会删除任何与用户相关的更改。使用Citrix Profile Management解决方案,用户特定的数据和设置可以存储在集中的文件服务器上。

  • Pooled-static桌面被分配给特定的用户,并且只有被分配的用户才能使用该桌面,除非被IT管理员更改。用户的个人数据和设置不会从一个会话延续到另一个会话。使用Citrix Profile Management解决方案,特定于用户的数据和设置存储在集中的文件服务器上。

  • 专用桌面分配给个人用户,数据和设置保存在桌面。可选地,Citrix概要文件管理解决方案可以用于在中央文件服务器上存储用户概要文件和数据。对于专用桌面,在桌面操作系统目录虚拟机复制模式下有一个新的选项,“使用完整复制来更好地支持数据恢复和迁移,在机器创建后可能会降低IOPS”。

对于Server OS环境,Citrix管理员可以使用主VM映像(基本磁盘)为一个virtual Apps环境部署多个托管的共享虚拟机。

MCS高级虚拟机和磁盘架构

使用Citrix MCS的第一步是提供一个主VM作为创建克隆的模板。IT管理员可为虚拟机提供所需的CPU、RAM和磁盘空间,并安装操作系统和应用程序。使用Citrix Studio Console,管理员使用基本映像创建克隆虚拟机的机器目录。与PVS不同的是,这些虚拟机位于数据存储中。

思杰MCS完全依赖于存储。发放虚拟机时,为每个虚拟机创建两种类型的磁盘:区别磁盘和标识磁盘。

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

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

同时,还会创建用于标识虚拟机的唯一标识磁盘(16mb)。下发控制器为每个虚拟机创建标识磁盘。

每个VM也有一个不同的磁盘。一个唯一的差异磁盘,用于存储对VM的任何写操作。该磁盘是精简磁盘(如果存储支持),如果需要,会增加到基本磁盘的最大大小。

完整的克隆

有时候,用增量磁盘创建虚拟机是不可取的。以下是一些原因:

  • 有些备份解决方案不备份包含增量结构的虚拟机
  • 存储迁移变得更加复杂
  • 虚拟机迁移并不是在所有管理程序上都有效
  • 增量随着时间的增长会导致存储负载

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

IM-Image-3

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

当通过Citrix Studio提供机器时,完全克隆只是桌面操作系统的一个选项,而不是服务器操作系统。

机目录

在Citrix环境中,物理或虚拟机的集合作为一个单独的实体进行管理,称为机器目录。在创建机器目录时,管理员可以选择发放虚拟机的方式,以及Citrix映像管理工具,如Citrix机器创建服务或发放服务。

参考:Citrix文档:机器目录

主机连接

在Citrix Virtual Apps and Desktops中,在创建机器目录之前,创建与托管资源的连接是很重要的,同时创建一个站点来集成底层平台,包括管理程序或云提供商。配置连接包括选择支持的管理程序和云服务之间的连接类型。系统需求页面列出了支持的虚拟化环境和云计算选项。

参考:Citrix文档:系统需求

主机存储

如果存储产品可以由受支持的管理程序管理,则该产品是受支持的。配置机,数据按类型分类:

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

  • 临时数据,包括所有写到mcs提供的机器上的非持久数据、Windows页面文件、用户配置文件数据,以及与Content Collaboration(以前的ShareFile)同步的任何数据。每次机器重新启动时,这些数据将被丢弃

为每种数据类型单独设置存储,可以降低存储设备的负载,提高IOPS性能。

hypervisor共享的存储

共享存储可以存储较长时间的数据,并提供集中的备份和管理。这个存储保存操作系统磁盘和与虚拟机相关的其他磁盘。在使用共享存储时,虚拟化环境的本地存储用于临时数据缓存,有助于减少主操作系统存储的流量。在每台机器重新启动后,磁盘将被清理,使用本地存储存放临时数据。发放的VDA与特定的hypervisor主机绑定。如果主机故障,虚拟机无法启动。

hypervisor通过本地磁盘映像的读缓存提供优化技术。例如,Citrix Hypervisor(以前是XenServer)提供IntelliCache。这减少了到中央存储的网络流量。

Citrix Hypervisor还支持使用主机的空闲内存进行读缓存。只要从磁盘多次读取数据,就可以看到性能的提高,因为它获得了内存中的缓存。

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

参考:Citrix文档:存储读-缓存

本地存储

本地存储是虚拟化环境中的本地数据存储。这包括传输到站点中所有管理程序的主映像和其他操作系统数据。这种方法在增加管理流量的同时也增加了网络流量。

选择此方法后,可以选择是否使用共享存储提供弹性,以及是否支持备份和灾难恢复系统。

MCS如何与内部管理程序一起工作

下面是流程图和工作流程,描述了Citrix Machine Creation Services如何使用内部管理程序。

IM-Image-5

IM-Image-4

Citrix Machine Creation Services使用管理程序api来提供虚拟机。为每个虚拟机分配一个标识磁盘,该磁盘为虚拟机提供一个惟一标识,并为虚拟机分配一个处理写操作的差异磁盘。

指令磁盘:这个小指令磁盘包含要运行的映像准备步骤,并被附加到该VM。然后启动准备虚拟机,开始映像准备过程,关闭虚拟机。

身份磁盘:唯一标识磁盘用于为每个虚拟机提供唯一的标识。交付控制器中的功能创建了标识磁盘。这个磁盘的大小是16 MB。

差分磁盘:唯一差异磁盘用于存储对虚拟机的任何写操作。磁盘为精简磁盘,会根据需要增加到基本虚拟机的最大容量。

临时数据缓存

对于计算机目录中的池化(非专用)计算机,管理员可以在计算机上启用临时数据缓存。要启用此特性,目录中每台机器上的VDA必须是最低版本7.9或更高版本。这个特性也被称为MCS-IO。

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

IM-Image-6

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

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

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

  • 同时禁用这两个选项,临时数据不会缓存,而是写入各个虚拟机的差异磁盘。

Citrix MCS与Linux VDAs

Citrix Machine Creation Services为管理员提供创建从Citrix XenApp和XenDesktop 7.18及更高版本启动的Linux虚拟机的能力。在虚拟化环境或云提供商上准备一台主虚拟机,并在该虚拟机上安装Linux virtual Delivery Agent。使用模板虚拟机在Citrix Studio中创建机器目录,然后创建交付组,将Linux虚拟机发放给企业用户。

参考:Citrix文档:Linux虚拟交付代理

Citrix云和机器供应

Citrix Cloud负责管理Citrix虚拟应用和桌面服务环境的控制平面运行。交付控制器、管理控制台、SQL数据库、License Server、StoreFront、Citrix Gateway均在Citrix Cloud上交付,并由Citrix管理。

为用户托管应用程序和桌面的工作负载仍然在客户选择的数据中心(云或本地)控制之下。这些组件使用名为Citrix cloud Connector的代理连接到云服务。

Citrix机器创建服务使用来自底层管理程序的api。这些资源可以来自客户的数据中心或云。Citrix云连接器充当Citrix云平面和底层资源之间的桥梁。控制平面可以访问元数据,例如登录详细信息、机器名称和应用程序快捷方式,这限制了从控制平面访问客户的知识产权。

在云和客户场所之间流动的数据使用端口443上的安全TLS连接。

IM-Image-7

在使用MCS方式发放虚拟机时,请确保管理程序或云服务有足够的处理器、内存和存储来容纳虚拟机。

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

参考:Citrix文档:Citrix云和机器配置

常见用例

Citrix MCS是满足以下标准的生产环境的最佳选择:

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

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

IM-Image-8

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

在上述部署场景中,环境中部署了多个交付控制器,以实现高可用性和负载均衡。交付控制器配备了足够的处理能力和内存来处理用户流量。Microsoft SQL server部署在一个高可用性模型中,因此,如果任何一个数据库服务器宕机,传递控制器操作(如获取用户详细信息、响应StoreFront请求)都不会受到影响。

随着应用程序数量的增加,环境中的资源消耗也会增加。最佳实践是预先计算将在环境中运行的用户数量和工作负载类型。Citrix MCS很容易从Citrix Studio管理,不需要额外的基础设施,因此很容易部署在领先的管理程序和云平台上。

Citrix虚拟应用和桌面的MCS最佳实践

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

在使用Citrix MCS提供虚拟机之前,应该考虑以下基础设施问题

  • 存储
  • 临时缓存
  • 操作系统优化
  • 交付控制器
  • 可伸缩性

存储

在使用Citrix机器创建服务时,存储配置和大小调整是决定因素。

能力方面的考虑:使用Citrix MCS创建虚拟机时,需要至少创建2块磁盘:一块是从主镜像拷贝的包含操作系统的增量磁盘;一块16mb的标识磁盘,包含每个虚拟机的Active Directory标识数据。可以添加额外的磁盘以满足某些用例。

Citrix Hypervisor IntelliCache特性,在每台主机的本地存储上创建主虚拟机的只读磁盘。建议在发放最终用户机器之前预先计算存储。

虚拟机监控程序开销:不同的管理程序创建特定的文件集,这些文件会在每个VM上生成开销。例如,日志文件、hypervisor特定的配置文件和快照文件也保存在该存储上。

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

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

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

目录中的临时缓存包括两个选项,第一个选项在内存中,第二个选项在磁盘中。如果使用内存或磁盘,会占用部分资源用于临时缓存操作,建议查看虚拟机所在主机的可用内存和磁盘空间。如果使用磁盘做临时缓存,性能会更好,建议使用SSD盘或IOPS较高的存储方案。

操作系统优化

为了获得更好的性能,并尽量减少对主机资源的消耗,建议通过运行Citrix Optimizer Tool对操作系统进行优化。

Citrix优化器:默认情况下,Microsoft Windows桌面映像包含许多VDI环境中不需要的特性。Citrix Optimizer是一个由Citrix开发的Windows工具,可以帮助管理员优化其环境中的各种组件。该工具基于PowerShell,但也包括一个图形用户界面。

Citrix Optimizer提供各种优化模板。为操作系统选择合适的模板,可以禁用或删除不必要的服务、配置项和应用。在优化之后,管理员可以获得相当显著的性能提升。

要下载和安装最新的Citrix Optimizer,请访问:https://support.citrix.com/article/CTX224676

交付控制器

在Citrix MCS部署中,交付控制器是基础设施的核心组件。建议将下发控制器和Microsoft SQL Server部署在高可用模式下,这样任何一个下发控制器出现故障都不会影响正常操作。

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

在连接到托管资源时,请确保检查管理程序的兼容版本,以便在供应时不会出现问题。建议将主拷贝保存在SSD / NVMe硬盘上的IOPS较高的数据存储/LUN中,以获得最大的效率和性能。

可伸缩性

机器创建服务在功能上被捆绑在交付控制器中,它与底层管理程序和云提供商框架api交互。当对环境存储进行扩展时,它可能会成为瓶颈,因此建议使用额外的存储集群,这样可伸缩性就不会受到影响。

在中型和大型部署中,随着终端用户需求的增长,资源消耗会越来越多,建议部署优化的映像,这样不需要的应用程序就不会消耗过多的资源。

Citrix供应(pv)

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

Provisioning Server是一个安装了Citrix Provisioning Soap和Citrix Stream Services的服务器。流服务用于将软件从虚拟磁盘映像或vdisk流到目标设备。Soap服务在访问控制台时使用。供应服务器用于将vDisk文件(包含一个机器映像)的内容流传输到目标设备。vDisk文件可以直接存放在发放服务器本地硬盘上,也可以通过网络中的共享存储设备访问vDisk。

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

Citrix供应概述

下图描述了Citrix供应和产品基础架构的概述。

IM-Image-9

pv农场

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

pv网站

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

设备集合

设备集合提供了创建和管理目标设备逻辑组的能力。通过在收集级别(而不是在目标设备级别)执行操作,创建设备集合简化了设备管理。目标设备只能是一个设备集合的成员。

目标设备

从网络上的PVS虚拟磁盘引导并获取操作系统映像的设备(例如桌面计算机或虚拟机)被认为是目标设备。用于创建基本Personal vDisk映像的设备被认为是主目标设备。

vdisk

vDisks就像目标设备的硬盘一样,作为PVS服务器可访问的存储上的磁盘映像文件存在。一个虚拟磁盘由一个VHDX基础映像文件,任何相关的属性文件(.pvp),以及可选的VHDX版本差异磁盘链(. avhdx)组成。

Citrix Provisioning为整个映像生命周期提供支持,从初始创建到部署和后续更新,最后到退役。虚拟磁盘的生命周期分为四个阶段:

1)创建2)部署3)更新4)退役

创建虚拟磁盘

创建虚拟磁盘需要准备主虚拟机进行映像,创建并配置虚拟磁盘存储(vDisks将驻留在其中),然后将主目标设备(VM)映像到生成新的基本虚拟磁盘映像的文件。该过程由Citrix管理员使用成像向导执行。

部署虚拟磁盘

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

更新虚拟磁盘

必须在基本虚拟磁盘映像的生命周期中更新它,以便映像包含最新的软件和补丁。更新可以手动进行,也可以使用虚拟磁盘更新管理功能自动化更新过程。每次更新虚拟磁盘都会创建一个新版本。根据目标设备和虚拟磁盘的版本号(测试、维护或生产)的联合分类,不同的设备可以访问不同的版本号。

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

更新虚拟磁盘包括:

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

退出虚拟磁盘

退出虚拟磁盘等同于删除虚拟磁盘。整个VHDX链,包括区别和基础映像文件、属性文件和锁文件,在解除分配后将被删除。

虚拟磁盘存储

存储是包含vDisks的文件夹物理位置的逻辑名称。此文件夹存在于PVS服务器或共享存储上。当在PVS Console中创建虚拟磁盘文件时,它们被分配给一个存储。在一个PVS站点中,一个或多个Provisioning Servers被授予访问该存储的权限,以便为目标设备提供vdisk。

写缓存

当虚拟磁盘处于私有/维护模式时,所有数据都回写到虚拟磁盘文件中。当虚拟磁盘处于标准模式或共享模式时,不允许写回基本虚拟磁盘。相反,它被写入写入缓存文件在以下位置之一:

  • 设备内存
  • 设备RAM在硬盘上溢出
  • pv服务器

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

默认情况下,PVS目标软件会将系统页面文件重定向到与写缓存文件相同的磁盘上,从而使页面文件丢失。Sys在缓存驱动器上分配空间,除非手动设置在单独的卷上重定向。

设备RAM中的缓存

写缓存可以作为目标设备RAM中的非分页池的一部分存在。这个功能提供了最快的磁盘访问方法,因为内存访问总是比磁盘访问快。

当服务器有足够的物理内存并且比其他缓存模式更快时,这种模式很有用。提前计算工作负载需求并设置合适的RAM大小是很重要的,否则目标设备在写cache耗尽前可能因为空间不足而出现蓝屏。

在硬盘溢出的设备RAM上缓存

该方法对内存和硬盘的消耗适中。Citrix推荐使用这种缓存类型的Citrix Provisioning,因为它结合了最好的RAM和硬盘缓存的稳定性。缓存使用非分页池内存以获得最佳性能。当RAM利用率达到阈值时,最旧的RAM缓存数据将被写入本地磁盘。

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

在PVS服务器上缓存

写缓存可以作为发放服务器磁盘上的临时文件存在。这通常会导致网络流量增加,因为磁盘写操作被从目标设备重定向到远程位置。

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

Citrix供应的高可用性

建立高可用性的Citrix Provisioning环境的关键是识别关键组件,为关键组件创建冗余,并确保在活动组件发生故障时自动故障转移到辅助组件。Citrix供应的关键组件包括:

  • SQL数据库
  • 配置服务器
  • vdisk和存储

Citrix Provisioning在配置高可用性实现时提供了几个选项,包括:

离线数据库支持-这允许配置服务器在数据库连接丢失时使用数据库的本地快照,以允许继续功能。

SQL AlwaysOn—Citrix Provisioning支持SQL Always On高可用性和容灾解决方案。

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

配置服务器故障转移—如果其中一个PVS服务器不可用,站点内的另一个服务器可以处理与虚拟磁盘的活动目标设备连接。启用负载均衡,使目标设备和剩余服务器之间的负载自动均衡。

vdisk和存储—发放服务器可访问共享存储位置。Citrix Provisioning支持各种共享存储配置,包括Windows共享存储和san。

参考:Citrix Docs:管理高可用性的实现

SQL数据库的Citrix供应

最佳实践是将SQL数据库安装在PVS server所在的单独服务器或集群上,以避免负载均衡期间的糟糕分布。有关支持的SQL版本的详细信息,请参考PVS系统要求。

数据库大小

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

参考:Citrix文档:数据库大小

Citrix许可证服务器

Citrix License Server安装在Citrix环境下的一台Windows服务器上,用于与所有Citrix PVS服务器通信,激活PVS服务器的License。License Server连接中断宽限期为30天(720小时)。如果与Citrix License Server的连接丢失,Citrix Provisioning将继续发放系统30天。为了实现Citrix许可证服务器的可伸缩性、可靠性和增加可用性,可以使用Microsoft集群功能创建集群许可证服务器。

Citrix Cloud的新许可证类型

Citrix引入了一种新的许可证类型(PVS_CCLD_CCS),为Citrix云中的虚拟应用和桌面服务的客户提供传统的PVS许可证授权。对于Citrix Cloud, Citrix Provisioning license选项由与Citrix Provisioning license类型、内部部署或Citrix Cloud相关的选项控制。使用带有Citrix Provisioning的License Server,如果在初始设置时选择了Cloud选项,则使用Citrix Cloud许可证。相反,如果在设置Citrix Provisioning时选择了on-premises,则使用了on-premises许可证。

请注意:这种新的Citrix Cloud许可证类型取代了现有的Citrix桌面和数据中心发放许可证。当绑定Citrix许可证时,它拥有与本地许可证相同的许可证获取优先权。

内部使用的换货功能不适用于Citrix Cloud许可证。每个Citrix Provisioning目标设备都签出一个Citrix Cloud许可证,无论操作系统类型如何。

微软的批量许可

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

KMS批量授权利用了运行在数据中心中的集中式激活服务器,并充当本地激活点(与通过internet使用Microsoft激活每个系统相反)。

MAK对应一些已购买的操作系统license。MAK是在每个系统上安装操作系统时输入的,它会激活操作系统,并与微软一起集中减少购买的许可证数量。另外,使用卷激活管理工具包(VAMT)完成“代理激活”过程。这允许激活没有网络访问internet的系统。Citrix Provisioning为创建虚拟磁盘时选择MAK许可模式的标准映像模式vDisks使用这种代理激活机制。

活动目录集成和目标设备管理

集成Citrix Provisioning和Active Directory允许管理员选择Active Directory组织单元(OU), Citrix Provisioning应该在该OU中创建目标设备计算机帐户。它还允许它利用Active Directory管理特性,如控制委托和组策略。最后,配置Provisioning Server,使其自动管理目标设备的计算机帐户密码。

在场内集成Active Directory之前,请验证以下先决条件是否满足:

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

参考:Citrix文档:为Active Directory管理配置vdisk

Citrix供应加速器

Citrix Provisioning Accelerator在Citrix Hypervisor的主机上充当Dom0中的一个供应代理,从虚拟磁盘的流数据在转发到虚拟机之前在代理中进行缓存。这个缓存加快了同一主机上其他虚拟机的启动时间,因为不需要通过网络从PVS服务器传输大量数据。Citrix Hypervisor的本地资源会被消耗,但这会提高网络上的整体性能。

参考:Citrix文档:Citrix Provisioning Accelerator

目标设备启动过程

当目标设备上电时,它需要能够找到并联系Provisioning Server,以流到适当的虚拟磁盘。此信息存储在名为ARDBP32.BIN的所谓引导文件中。它包含目标设备需要联系Citrix PVS服务器的所有内容,以便可以初始化流进程。

引导文件通过一个TFTP服务器交付,这也部分适用于备用的BDM(启动设备管理器)方法。TFTP和BDM之间有一些明显的区别。

TFTP

在使用TFTP时,目标设备需要知道如何找到TFTP服务器,并在连接到PVS服务器之前下载引导文件。HA中可以通过Citrix ADC配置TFTP,避免单点故障。“发放服务”自带TFTP服务器。

将TFTP服务器地址传递到目标设备的最流行的方法之一是通过DHCP(尽管还有其他选项)。

启动设备管理器

有两种不同的方法来使用启动设备管理器。

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

在使用Virtual Apps and Desktops Setup Wizard发放目标设备时,管理员可以创建并分配一个较小的BDM硬盘分区,该硬盘分区将作为一个单独的虚拟磁盘挂载到虚拟机。使用这种方法,上面提到的两阶段方法就不再需要了,因为分区已经包含了所有pv驱动程序。这样,所有需要的信息将直接可用,而不需要PXE, TFTP和DHCP。

IM-Image-10

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

参考:Citrix文章:CTX227725

Citrix供应由Citrix Cloud管理

当管理员希望使用Citrix Cloud门户从任何地方管理他们的部署时,Citrix PVS和Citrix Cloud集成是必不可少的。的Citrix云连接器扮演一个Citrix云虚拟应用程序和桌面服务为远程管理程序和云提供命令代理功能,它允许与供应的VDAs通信。

在使用Citrix Provisioning with Citrix Cloud时,需要考虑几个因素。

  • Citrix虚拟应用和桌面交付控制器在Citrix云
  • Citrix云连接器位于一个或多个资源位置
  • 供应服务器位于本地站点或受支持的公共云(v2112或更高版本)
  • Citrix虚拟应用和桌面安装向导使用的远程PowerShell SDK,将VDA记录推送到Citrix云中的交付控制器。

将一个现有的Citrix Provisioning部署连接到Citrix Cloud:

  • 添加云连接器服务器
  • 升级Citrix配置到7.18或更高版本
  • 在Citrix虚拟应用和桌面中安装远程PowerShell SDK。

IM-Image-11

Citrix云集成使Citrix供应能够将新供应的VDAs添加到位于Citrix云的Citrix云虚拟应用和桌面交付控制器的机器目录中。这个过程遵循以下两种方法之一:

  • 使用Citrix Provisioning Console中的虚拟应用程序和桌面设置向导添加新设备
  • 使用在Studio中创建的Machine Catalog导入现有的Citrix Provisioning目标设备

Citrix Studio使用PvsPsSnapin与PVS服务器通信。该管理单元已被扩展,以支持从Citrix虚拟应用程序和桌面服务到PvsMapiProxyPlugin(在Citrix云连接器中)的通信。通信通过HTTPS (TCP 443)进行。PVS管理员凭据通过这个安全通道发送。然后代理使用凭据来模拟PVS管理员,然后再联系PVS服务器。

参考:Citrix文档:由Citrix云管理的Citrix供应

常见用例

Citrix虚拟应用和桌面解决了广泛的业务需求和用例。

例如,在金融、市场营销或任何医疗领域,用户都被认为是普通的办公室工作人员、知识工作者或高级用户。

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

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

Citrix Provisioning允许管理员根据用户组及其需求,创建多个vdisk,包含各种面向业务的应用程序。对于上班族来说,他们日常工作通常只需要有限数量的Windows应用程序。对于需要运行动画软件、医疗扫描报告等的多媒体工作者,可以使用AMD、Intel或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 Server通过“用更少的资源做更多的事情”的概念帮助管理员克服配置障碍。假设需要通过Citrix Provisioning运行和供应不同的工作负载集。

IM-Image-12

上图描述了在大学的不同区域/实验室中运行的多种工作负载。vdisk包含存储在共享存储中的不同操作系统和应用程序,在Citrix Provisioning的帮助下,vdisk通过网络被传输到具有不同工作负载集的不同实验室。通过快速部署,很容易按需扩展。

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

  • 使学生和教师能够随时学习和教学
  • 在增加IT服务的同时降低成本
  • 提高高等教育的竞争优势,在高等教育中,技术是一个关键的区别

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

Citrix虚拟应用和桌面配置的最佳实践

在设计Citrix虚拟应用程序和桌面解决方案时,重要的是要考虑配置服务器以与业务需求保持一致。设计的组件包括Active Directory服务、网络和安全架构、服务器硬件类型、存储基础设施、虚拟化平台和操作系统。

本节提供了以下领域的一般最佳实践

  • 网络
  • 存储
  • 交付控制器
  • 网络交换机
  • 虚拟桌面镜像/目标设备
  • 可伸缩性

网络

域名系统:动态更新是DNS中的一个关键特性。这样就不需要在DNS数据库中手工输入名称和IP地址。确保动态更新的安全性将通过请求DNS更新的Active Directory计算机进行验证。这意味着只有加入Active Directory域的计算机才能动态更新DNS数据库。

网络接口:Citrix建议在Provisioning Server机器中使用多个网卡。必须配置一对组队的网卡,用于通过PVS流媒体服务(PVS Stream Service)传输vdisk,并用于网络访问企业存储系统或文件共享。建议部署专用网络或vlan。

存储

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

为了尽可能减少存储空间,Citrix建议尽可能减少每个虚拟磁盘上的应用程序和vdisk的数量。每个目标计算机都包含一个易变的写缓存文件。每个虚拟机的缓存文件大小取决于使用的应用程序类型、用户工作负载和重启频率。

SAN和NAS:在高可用性部署场景下,需要共享一个卷,且多个主机可以访问同一个卷。只读卷用于存储标准模式下的vdisk。私有映像模式需要读写访问。

交付控制器

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

网络交换机

关闭生成树,使能端口fast:使用STP (Spanning Tree Protocol)或Rapid Spanning Tree Protocol (Rapid Spanning Tree Protocol)协议时,当交换机传输bpdu (bridgeprotocol Data unit)并侦听bpdu时,端口将处于阻塞状态,以确保bpdu没有被环回配置。

完成这个聚合过程所需的时间取决于切换网络的大小,这可能会导致预启动执行环境(Pre-boot Execution Environment, PXE)超时,从而阻止计算机获取IP地址。

为了解决这个问题,可以在与客户端连接的边缘端口上关闭STP功能,或者根据所管理的交换机品牌开启PortFast或Fast Link功能。参考下表:

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

流服务隔离:如果安全是主要关注的问题,Citrix建议将PVS流流量与其他生产流量隔离或分段。

NIC合作:通过组合两个网卡来实现吞吐量为服务器提供最大带宽,从而提高网络性能,有助于缓解这种潜在的网络瓶颈。

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

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

Citrix优化器:默认情况下,Microsoft Windows桌面映像包含许多VDI环境中不需要的特性。Citrix Optimizer是一个由Citrix开发的Windows工具,可以帮助管理员优化其环境中的各种组件,最显著的是使用虚拟交付代理(VDA)的操作系统。该工具是基于powershell的,但也包括一个图形用户界面。

Citrix Optimizer提供各种优化模板。为操作系统选择合适的模板,可以禁用或删除不必要的服务、配置项和应用。在优化之后,管理员可以获得相当显著的性能提升。

参考:Citrix博客:Citrix Optimizer

准备vDisk镜像:虚拟磁盘准备是Citrix虚拟应用和桌面服务部署的关键步骤。在准备主图像时需要注意几个重要的步骤:

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

参考:思杰文档:准备用于成像的主目标设备

Citrix提供防病毒最佳实践:如果防病毒软件没有针对环境进行适当调整,服务器和目标可能会遇到常见问题。建议将反病毒定义更新限制为仅主目标设备。避免扫描虚拟磁盘写缓存文件和流磁盘I/O组成操作系统为给定的目标。

升级防病毒客户端软件需要卸载PVS客户端软件后重新安装。请查看防病毒软件配置扫描异常的详细说明。在故障排除时,获取性能基线可能会有所帮助。

参考:Citrix文章:CTX124185

可伸缩性

在设计Citrix虚拟应用和桌面解决方案时,可伸缩性是一个重要因素。重要的是要计划解决方案组成部分的可伸缩性,而不是仅仅以通用的方式查看它。这里观察到了交付控制器、Citrix供应服务器和虚拟机基础设施的可伸缩性。

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

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

总结

对于许多IT管理员来说,向终端用户交付虚拟应用和桌面是一个挑战,因为终端用户的工作体验和工作风格要求他们能够在任何地方、任何时间、任何设备访问资源。

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

需要考虑的几个要点:

  • 映像管理不仅是基础设施的设置,而且是解决方案设计的基本构建块,无论是在本地还是在云端

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

  • 使用供应模型的应用程序虚拟化为管理员提供了灵活性,并将复杂性降至最低

  • 确保通用的最佳实践,以有效地利用资源

我们已经从Citrix的两个配置模型(Citrix机器创建服务和Citrix配置)的整体视角进行了介绍。组织可以根据需求选择使用其中一种或两种配置模型。

参考文献

Citrix供应资源

Citrix虚拟应用程序和桌面资源

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

为最佳实践和设计手册