Citrix Provisioning

安装前需执行的任务

安装并配置 Citrix Provisioning 之前,请完成以下任务。

重要:

安装 Citrix Provisioning 组件之前,请确保所有 Windows 更新都是最新的。Citrix 建议您在安装所有 Windows 更新后重新启动设备。

选择并配置 Microsoft SQL 数据库

每个 PVS 场都有一个数据库。可以在以下任一位置提供数据库:

  • 现有 SQL Server 或 SQL Server Express 实例
  • 运行 SQL Server 或 SQL Server Express 的新服务器

场中的所有 PVS 服务器都必须能够与数据库服务器通信。

在生产环境中,为避免在负载平衡期间出现分布不当的情况,最佳做法是在单独的服务器上安装数据库和 Citrix Provisioning 服务器组件软件。

PVS 配置向导可以创建数据库。或者,如果您没有创建数据库的权限,则可以使用 DbScript.exe 实用程序创建数据库管理员可以运行以创建 PVS 数据库的 SQL 脚本。此实用程序随 Provisioning 软件安装。

运行 DbScript.exe 实用程序以创建或更新数据库

如果您没有创建数据库的权限,请使用 DbScript.exe 生成 SQL 脚本,供数据库管理员运行以创建或更新 PVS 数据库。请从 C:\Program Files\Citrix\Provisioning Services 中的 Windows 命令提示符运行该脚本。

要生成脚本以创建数据库,请使用以下语法:

DbScript.exe -new <databaseName> <farmName> <siteName> <collectionName> <farmAdminGroup> <adGroupsEnabled> <scriptName> <is2012orHigher>

要生成脚本以更新数据库,请输入:

DbScript.exe -upgrade <databaseName> <scriptName>

这些命令使用以下参数:

  • <databaseName> - 要创建或更新的数据库的名称。
  • <farmName> - 新数据库的场名称。
  • <siteName> - 新数据库的站点名称。
  • <collectionName> - 新数据库的集合名称
  • <farmAdminGroup> - 场管理员组,指定为完整路径。

    注意: 运行配置向导时,您必须是此组(Active Directory 组)的成员才能将 PVS 服务器添加到数据库。

  • <adGroupsEnabled> - 启用或禁用 AD 组,指定为布尔值,其中 true 启用 AD 组,false 禁用 AD 组。
  • <scriptName> - 要生成的脚本的名称,指定为完整路径。
  • <is2012orHigher> - 新数据库所用的版本,指定为布尔值,其中 true 为 2012 或更高版本,false 为 2008。

DbScript.exe 示例

此示例将生成一个脚本,用于创建名为 db1-2 的空 Citrix Provisioning 数据库。该脚本名为 newDb.sql,位于 C: 中。

C:\Program Files\Citrix\Provisioning Services> DbScript.exe -new db1-2 Farm1 Site1 Collection1 "test.local/Users/Domain Users" true c:\newDb.sql true

此示例将生成一个用于升级 Citrix Provisioning 数据库 test1 的脚本。该脚本名为 upgrade.sql,由于未指定路径,因此,该脚本位于运行脚本的目录中 (C:\Program Files\Citrix\Provisioning Services)。

C:\Program Files\Citrix\Provisioning Services>DbScript.exe -upgrade test1 upgrade.sql

数据库大小调整

有关信息,请参阅数据库大小调整

创建数据库时,数据库的初始大小为 20 MB,增长量为 10 MB。数据库日志的初始大小为 10 MB,增长量为 10%。

需要的基准空间量是 112 KB,该大小不会发生变化。基础映像包括以下内容:

  • 数据库版本记录大约需要 32 KB
  • 场记录大约需要 8 KB
  • 磁盘创建记录大约需要 16 KB
  • 通知大约需要 40 KB
  • 映射的服务器记录大约需要 16 KB

根据对象,所需的可变空间量如下所示:

  • 访问权限和编组(每个)
    • 对系统具有访问权限的一个用户组大约需要 50 KB
    • 站点记录大约需要 4 KB
    • 集合大约需要 10 KB
  • 场视图(每个)
    • 场视图大约需要 4 KB
    • 场视图/设备关系大约需要 5 KB
  • 站点视图(每个)
    • 站点视图大约需要 4 KB
    • 站点视图/设备关系大约需要 5 KB
  • 目标设备(每个)
    • 一个目标设备大约需要 2 KB
    • DeviceBootstrap大约需要 10 KB
    • Device:Disk关系大约需要 35 KB
    • Device:Printer关系大约需要 1 KB
    • DevicePersonality大约需要 1 KB
    • 设备引导时的DeviceStatus大约需要 1 KB
    • DeviceCustomProperty 大约需要 2 KB
  • 磁盘(每个)
    • 唯一的磁盘大约需要 1 KB
    • DiskVersion大约需要 3 KB
    • DiskLocator大约需要 10 KB
    • DiskLocatorCustomProperty 大约需要 2 KB
  • Provisioning 服务器(每个)
    • 一台服务器大约需要 5 KB
    • ServerIP 大约需要 2 KB
    • 服务器引导时的ServerStatus大约需要 1 KB
    • ServerCustomProperty 大约需要 2 KB
  • 存储(每个)
    • 存储大约需要 8 KB
    • 存储:服务器关系大约需要 4 KB
  • 磁盘更新(每个)
    • VirtualHostingPool 大约需要 4 KB
    • UpdateTask大约需要 10 KB
    • DiskUpdateDevice 大约需要 2 KB
    • 每个DiskUpdateDevice:Disk关系大约需要 35 KB
    • Disk:UpdateTask关系大约需要 1 KB

以下更改会导致大小要求增加:

  • 每个已处理的任务(例如:虚拟磁盘版本控制合并)大约需要 2 KB
  • 如果打开了审核功能,则管理员在 Citrix Provisioning 控制台、MCLI 或 PowerShell 界面中所做的每个更改大约需要 1 KB。

数据库镜像

要使 Citrix Provisioning 支持 MS SQL 数据库镜像,需要为数据库配置 High-safety mode with a witness (synchronous)(带见证的高安全性模式(同步))。

使用数据库镜像功能时,服务器上需要有 SQL 本机客户端。如果本机 SQL 客户端不存在,则在安装 SQL 时将显示用于安装 SQL 本机客户端 x64 或 x86 的选项。

有关如何配置和使用数据库镜像的信息,请参阅数据库镜像

数据库群集化

要实施数据库群集化,请按照 Microsoft 的说明操作,然后运行 Citrix Provisioning 配置向导。不需要任何其他步骤,因为此向导将群集视为单个 SQL Server。

配置身份验证

Citrix Provisioning 使用 Windows 身份验证访问数据库。不支持 Microsoft SQL Server 身份验证,但运行配置向导时除外。

配置向导用户权限

运行配置向导的用户需要具有以下 MS SQL 权限:

  • dbcreator 用于创建数据库
  • securityadmin 用于为 Stream Service 和 SOAP Service 创建 SQL 登录

如果在测试环境中使用 MS SQL Express,可以选择为运行配置向导的用户提供 sysadmin 权限(最高数据库权限级别)。

或者,如果数据库管理员通过运行 DbScript.exe 实用程序创建了空数据库,则运行配置向导的用户必须是数据库的所有者。此外,此用户必须具有查看任何定义权限。数据库管理员在创建空数据库时设置此权限。

服务帐户权限

Stream Service 和 SOAP Service 的用户上下文需要以下数据库权限:

  • db\_datareader
  • db\_datawriter
  • 对存储过程的运行权限

将使用配置向导为 Stream Service 和 SOAP Service 用户帐户自动配置数据读取者和数据写入者数据库角色。如果用户具有安全管理员权限,配置向导将分配这些权限。此外,服务用户还必须具有以下系统权限:

  • 以服务方式运行
  • 注册表读取权限
  • 访问 Program Files\Citrix\Citrix Provisioning
  • 对任何虚拟磁盘位置的读取和写入权限

确定 Stream Service 和 SOAP Service 在以下哪个受支持的用户帐户下运行:

  • 网络服务帐户

    最低权限本地帐户,该帐户在网络上作为计算机域的计算机帐户进行身份验证

  • 指定的用户帐户:使用 Windows 共享时需要使用此帐户;为工作组或域用户帐户

要支持 KMS 许可,要求 SOAP 服务器用户帐户属于本地管理员组。

提示:

身份验证在工作组环境中不公用,因此,必须在每台服务器上创建最低权限用户帐户,并且每个实例必须具有相同的凭据)。

确定要在此场中使用的相应安全选项。对于每个场只能选择一个选项,所选选项将影响基于角色的管理。对于安全选项:

  • 使用 Active Directory 组保证安全(默认值);如果您在运行 Active Directory 的 Windows 域中,请选择此选项。此选项允许您对 Citrix Provisioning 管理角色使用 Active Directory。

    注意:

    Windows 2000 域不受支持。

  • 使用 Windows 组保证安全。如果您在单台服务器上或工作组中,请选择此选项。此选项允许您针对 Citrix Provisioning 管理角色在该特定服务器上使用本地用户/组。

控制台用户不直接访问数据库。

使用更多 Provisioning 功能需要具有的最低权限包括:

  • Citrix Virtual Apps and Desktops 设置向导、流 VM 设置向导以及 ImageUpdate 服务
    • vCenter、SCVMM 和 Citrix Hypervisor最低权限
    • 当前用户在现有的 Citrix Virtual Apps and Desktops 控制器上具有的权限
    • 配置为 Citrix Virtual Apps and Desktops 管理员且已添加到 Provisioning SiteAdmin 组或更高级别组的 Citrix Provisioning 控制台用户帐户
    • 可在控制台中创建帐户的 Active Directory 创建帐户权限。要使用现有帐户,Active Directory 帐户必须已存在于已知组织单位中以供选择
    • 如果要将个人虚拟磁盘与 Citrix Virtual Apps and Desktops 结合使用,SOAP 服务器用户帐户必须具有 Citrix Virtual Apps and Desktops 完全管理员权限。
  • AD 帐户同步:创建、重置和删除权限
  • 虚拟磁盘:执行卷维护任务的权限

在 SQL Server 中启用远程连接

使用本部分中的信息建立到 SQL Server 的远程连接。

  1. 使用 SQL Management Studio 登录 SQL Server。
  2. 在对象资源管理器窗口中,右键单击 SQL Server 并选择属性

    MS SQL Server 对象资源管理器

  3. 对象资源管理器窗口中,选择连接节点。在远程服务器连接下,选中或清除允许远程连接到此服务器复选框:

MS SQL Server 连接

更新远程服务器连接后:

  1. 开始菜单中,单击开始 > Microsoft SQL Server 版本 > SQL Server 版本 Configuration Manager。此时将显示 SQL Server Configuration Manager 窗口。
  2. 展开 SQL Server Network Configuration(SQL Server 网络配置)选项。选择 Protocols for (your server name)((您的服务器名称)的协议)。选择 TCP/IP,然后单击鼠标右键。在上下文菜单中,选择启用。单击确定重新启动该服务。

MS SQL Server TCP/IP

重新启动服务后,更改启动模式。在 SQL Server Configuration Manager 窗口中:

  1. 选择 SQL Server 服务。在右侧窗格中,右键单击 SQL Server Browser 选项以显示上下文菜单。
  2. 选择属性
  3. 服务选项卡中,将启动模式更改为自动
  4. 单击 OK(确定)。

MS SQL Server Browser 属性

  1. 选择 SQL Server 浏览器,然后单击鼠标右键以显示上下文菜单。单击 Start(开始)。
  2. 选择 SQL Server 实例名称,然后单击鼠标右键以显示上下文菜单。单击重新启动

在 Windows 防火墙中为 SQL Server 创建例外

使用本部分中的信息在使用 Windows 防火墙的环境中为 SQL Server 创建例外:

  1. 打开控制面板,然后选择系统和安全
  2. 选择 Windows Defender 防火墙

    MS SQL Server Windows Defender 防火墙

  3. 单击允许应用程序或功能通过 Windows Defender 防火墙。打开 Windows 防火墙:

    MS SQL Server 启用 Windows Defender 防火墙

  4. 允许应用程序通过 Windows Defender 防火墙窗口中,单击允许其他应用程序…

    MS SQL Server 允许运行防火墙应用程序

  5. 添加应用程序屏幕中,单击浏览
  6. 浏览到 SQL 服务 sqlserver.exe,然后单击打开sqlserver.exe 的默认路径为:

    • SQL 2019 – C:\Program Files\Microsoft SQL Server\MSSQL15.<SQL Instance Name>\MSSQL\Binn
    • SQL 2017 – C:\Program Files\Microsoft SQL Server\MSSQL14.<SQL Instance Name>\MSSQL\Binn
  7. 单击添加

MS SQL Server 允许运行防火墙应用程序

  1. C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe. 重复步骤 4—7
  2. 单击 OK(确定)。

Kerberos 安全性

默认情况下,在 Active Directory 环境中与 SOAP Service 进行通信时,Citrix Provisioning 控制台、映像向导、PowerShell 管理单元和 MCLI 使用 Kerberos 身份验证。部分 Kerberos 体系结构用于使服务注册到(创建一个服务主题名称,SPN)域控制器(Kerberos 密钥发行中心)。必须进行注册,因为注册将允许 Active Directory 标识 SOAP Service 运行时所在的帐户。如果未执行注册,Kerberos 身份验证将失败,且 Citrix Provisioning 将回退至使用 NTLM 身份验证。

Citrix Provisioning SOAP Service 将在每次服务启动时注册,在服务器停止时取消注册。但是,如果服务用户帐户没有权限,注册将失败。默认情况下,网络服务帐户和域管理员具有相应的权限,而普通域用户帐户则不具有。

要解决此权限问题,请执行以下操作之一:

  • 使用有权创建 SPN 的不同帐户。

  • 将权限分配给服务帐户。

||| |帐户类型|权限| |—|—| |计算机帐户|写入已验证的 SPN| |用户帐户|写入公共信息|

安装前需执行的任务