Citrix Virtual Apps and Desktops

Microsoft System Center Virtual Machine Manager 虚拟化环境

如果您结合使用 Hyper-V 与 Microsoft System Center Virtual Machine Manager (VMM) 来提供虚拟机,请按本指导操作。

此版本支持系统要求中列出的 VMM 版本。

可以使用 Citrix Provisioning(以前称为 Provisioning Services) 和 Machine Creation Services 预配以下各项:

  • 第 1 代桌面或服务器操作系统 VM
  • 第 2 代 Windows Server 2012 R2、Windows Server 2019、Windows Server 2016 和 Windows 10 VM(无论是否包含安全启动)

安装和配置虚拟机管理程序

重要:

所有 Delivery Controller 必须与 VMM 服务器位于同一个林中。

  1. 在服务器上安装 Microsoft Hyper-V Server 和 VMM。
  2. 在所有 Controller 上安装 System Center Virtual Machine Manager 控制台。控制台版本必须与管理服务器版本一致。尽管早期版本的控制台可以连接到管理服务器,但是如果版本不同,预配 VDA 将失败。
  3. 验证以下帐户信息:

    用于在 Studio 中指定主机的帐户是相关 Hyper-V 计算机的 VMM 管理员或 VMM 委派管理员。如果此帐户在 VMM 中仅具有委派管理员角色,则在主机创建过程中不会在 Studio 中列出存储数据。

    用于 Studio 集成的用户帐户还必须属于每个 Hyper-V Server 上的管理员本地安全组的成员,才能支持 VM 生命周期管理(例如 VM 创建、更新和删除)。

    不支持在运行 Hyper-V 的服务器上安装 Controller。

创建主 VM

  1. 在主 VM 上安装 VDA,然后选择用于优化桌面的选项。这样会提高性能。
  2. 生成主 VM 的快照作为备份。

创建虚拟桌面

如果要在创建站点或连接时使用 MCS 创建 VM,请执行以下操作:

  1. 选择 Microsoft 虚拟化主机类型。
  2. 以主机服务器的完全限定的域名形式输入地址。
  3. 输入先前设置的管理员帐户的凭据,该帐户应具有创建新 VM 的权限。
  4. 主机详细信息中,选择创建新 VM 时将使用的群集或独立主机。

    即使使用单 Hyper-V 主机部署,也请浏览并选择群集或独立主机。

SMB 3 文件共享上的 MCS

对于在 SMB 3 文件共享上通过 MCS 为 VM 存储创建的计算机目录,凭据必须满足以下要求,以确保来自 Citrix 虚拟机管理程序通信库 (HCL) 的调用能够成功连接到 SMB 存储:

  • VMM 用户凭据必须包含对 SMB 存储的完全读取写入权限。
  • VM 存储生命周期事件期间的存储虚拟磁盘操作通过 Hyper-V Server 使用 VMM 用户凭据执行。

如果将 SMB 用作存储,请在 Windows Server 2012 上同时使用 VMM 2012 SP1 和 Hyper-V 时启用 Controller 到单个 Hyper-V 计算机的 身份验证凭据安全支持提供程序 (CredSSP)。有关详细信息,请参阅 CTX137465。

使用标准 PowerShell V3 远程会话,HCL 可使用 CredSSP 打开与 Hyper-V 计算机的连接。此功能可将 Kerberos 加密的用户凭据传递到 Hyper-V 计算机,并在使用所提供的凭据(本例中指 VMM 用户的凭据)运行的远程 Hyper-V 计算机上的此会话中传递 PowerShell 命令,以便存储的通信命令正确运行。

以下任务使用的 PowerShell 脚本源于 HCL,随后将被发送到 Hyper-V 计算机以作用于 SMB 3.0 存储。

  • 合并主映像: 主映像可创建新的 MCS 预配方案(计算机目录)。它将克隆并展平主 VM,以便准备好从新创建的磁盘创建新 VM(并删除对初始主 VM 的依赖)。

    ConvertVirtualHardDisk 位于 root\virtualization\v2 命名空间

    示例:

$ims = Get-WmiObject -class $class -namespace "root\virtualization\v2";
$result = $ims.ConvertVirtualHardDisk($diskName, $vhdastext)
$result
<!--NeedCopy-->
  • 创建差异磁盘: 从合并主映像时产生的主映像创建差异磁盘。差异磁盘随后将连接到新 VM。

    CreateVirtualHardDisk 位于 root\virtualization\v2 命名空间

    示例:

$ims = Get-WmiObject -class $class -namespace "root\virtualization\v2";
$result = $ims.CreateVirtualHardDisk($vhdastext);
$result
<!--NeedCopy-->
  • 上载身份磁盘: HCL 不能直接将身份磁盘上载到 SMB 存储。因此,Hyper-V 计算机必须将身份磁盘上载并复制到该存储。由于 Hyper-V 计算机无法从 Controller 中读取磁盘,因此 HCL 必须首先通过 Hyper-V 计算机复制身份磁盘,如下所述。

    HCL 通过管理员共享将身份上载到 Hyper-V 计算机。

    Hyper-V 计算机通过 PowerShell 远程会话中运行的 PowerShell 脚本将磁盘复制到 SMB 存储。将在 Hyper-V 计算机上创建一个文件夹,此文件夹的权限已锁定,仅 VMM 用户有权访问(通过远程 PowerShell 连接)。

    HCL 删除管理员共享中的文件。

    HCL 完成身份磁盘到 Hyper-V 计算机的上载后,远程 PowerShell 会话可将身份磁盘复制到 SMB 存储,然后将其从 Hyper-V 计算机中删除。

    如果删除了身份磁盘文件夹,将重新创建以便重复使用。

  • 下载身份磁盘: 与上载一样,身份磁盘通过 Hyper-V 计算机传递到 HCL。以下过程将在 Hyper-V Server 上创建一个仅 VMM 用户有权访问的文件夹(如果尚不存在)。

    Hyper-V 计算机通过 PowerShell V3 远程会话中运行的 PowerShell 脚本将磁盘从 SMB 存储复制到本地 Hyper-V 存储。

    HCL 将 Hyper-V 计算机管理员共享中的磁盘读取到内存。

    HCL 删除管理员共享中的文件。

  • 创建个人虚拟磁盘: 如果管理员在个人虚拟磁盘计算机目录中创建 VM,则必须创建一个空磁盘 (PvD)。

    创建空磁盘的调用无需直接访问存储。如果您所具有的 PvD 磁盘与主磁盘或操作系统磁盘位于不同的存储,请使用远程 PowerShell 在与创建的 VM 具有相同名称的目录文件夹中创建 PvD 磁盘。对于 CSV 或 LocalStorage,请勿使用远程 PowerShell。在创建空磁盘之前创该建目录可避免 VMM 命令失败。

    对于 Hyper-V 计算机,请在存储上执行 mkdir。

Microsoft System Center Virtual Machine Manager 虚拟化环境