Citrix Virtual Apps and Desktops

Microsoft System Center Virtual Machine Manager 虚拟化环境

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

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

注意:

不支持混合 Hyper-V 群集(包含运行不同 Hyper-V 版本的服务器)。

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

  • 第 1 代支持的桌面或服务器操作系统 VM.
  • 第 2 代支持的桌面或服务器操作系统 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。

在单个 SCVMM 管理不同数据中心中的多个群集的大型部署中,您可以限制委派管理员的主机组作用域。

要限制主机组作用域,请在 Microsoft System Center Virtual Machine Manager (VMM) 控制台中使用委派管理员角色:

  1. Create User Roles Wizard(创建用户角色向导)中,选择“Fabric Administrator (Delegated Administrator)”(Fabric 管理员(委派管理员))作为用户角色。
  2. Members(成员)中,在 Active Directory 中添加要用作委派管理员的用户帐户。
  3. Scope(作用域)中,选择您希望委派管理员有权访问的主机组。
  4. 使用委派管理员用户凭据创建新的“运行身份”帐户。稍后使用这些凭据创建虚拟机管理程序连接。请勿使用主管理员角色帐户。

创建主 VM

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

创建虚拟桌面

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

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

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

SMB 3 文件共享上的 MCS

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

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

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

HCL 使用 CredSSP 打开与 Hyper-V 计算机的连接。此功能将 Kerberos 加密的用户凭据传递到 Hyper-V 计算机。远程 Hyper-V 计算机上的会话中的 PowerShell 命令使用提供的凭据运行。在这种情况下,使用的是 VMM 用户的凭据,以便与存储的通信命令正常运行。

以下任务使用的 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 脚本将磁盘从 SMB 存储复制到本地 Hyper-V 存储。此脚本在 PowerShell V3 远程会话中运行。

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

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

通过 SCVMM 进行 Azure Stack HCI 预配

Azure Stack HCI 是一种超融合基础结构 (HCI) 群集解决方案,可在混合本地环境中托管虚拟化的 Windows 和 Linux 工作负载及其存储。

Azure 混合服务通过基于云的监视、站点恢复和 VM 备份等功能增强了群集功能。您还可以在 Azure 门户中集中查看所有 Azure Stack HCI 部署。

将 Azure Stack HCI 与 SCVMM 集成

要将 Azure Stack HCI 与 SCVMM 集成,您需要先创建 Azure Stack HCI 群集,然后将该群集与 SCVMM 集成。

  1. 要创建 Azure Stack HCI 群集,请参阅 Microsoft 文档 Connect Azure Stack HCI to Azure(将 Azure Stack HCI 连接到 Azure)。

  2. 要将 Azure Stack HCI 群集与 SCVMM 集成,请执行以下操作:

    1. 登录准备托管 SCVMM 服务器的计算机并安装 SCVMM 2019 UR3 或更高版本。

      注意:

      在所有控制器上安装 SCVMM 2019 UR3 或更高版本的管理员控制台。

    2. 在 VMM 控制台的设置页面中,创建一个运行方式帐户。

      VMM 控制台设置页面

    3. 在 SCVMM 服务器中以管理权限运行以下 PowerShell 命令,将 Azure Stack HCI 群集添加为主机:

      $runAsAccountName = 'Admin'
      $runAsAccount = Get-SCRunAsAccount -Name $runAsAccountName
      $hostGroupName = 'All Hosts'
      $hostGroup = Get-SCVMHostGroup -Name $hostGroupName
      $hostCluster = 'FQDN of Azure Stack HCI cluster'
      Add-SCVMHostCluster -Name $hostCluster -RunAsynchronously -VMHostGroup
      $hostGroup -Credential $runAsAccount -RemoteConnectEnabled $true
      <!--NeedCopy-->
      
    4. 现在,您可以在 VMM 控制台中查看 Azure Stack HCI 群集以及节点。

      带节点的 VMM 控制台 Azure Stack HCI

    5. 完整配置界面中创建 SCVMM 托管连接。

Microsoft System Center Virtual Machine Manager 虚拟化环境