Citrix Provisioning

通过流技术推送 Linux 目标设备

本文提供有关通过流技术推送 Linux 目标设备的信息。使用此功能,您可以直接在 Citrix Virtual Apps and Desktops 环境中预配 Linux 虚拟桌面。自 Citrix Provisioning 版本 2106 起,支持 UEFI 和安全启动。

重要:

Citrix 建议您使用 Citrix Provisioning 可执行文件 Citrix_Provisioning_2106.iso 中提供的当前版本安装包。请根据您的 Linux 发行版使用该软件包。要使用 Linux 流技术推送代理 2106 及更高版本,则需要 Citrix Provisioning 服务器 2106 或更高版本。

预配 Linux 目标设备时,请注意以下事项:

  • 有时,无法将客户端驱动器映射到已预配的 Linux VM 会话。要解决此问题,请在安装 Citrix Provisioning 目标设备之前使用 service ctxcdm stop 停止 CDM 服务,然后再运行 pvs-imager 命令以对其进行转换。
  • Linux 流技术推送功能仅支持将 Winbind 用作加入 Windows 域的工具。支持 Samba 4.5 及更高版本提供的 Winbind,包括较旧的版本。
  • 如果为 Linux 设备启用了 RAM 缓存,请将缓存大小设置为 8 MB(最小值)。Linux 对写入缓存使用尽可能多的 RAM,包括所有可用内存。在控制台中指定的数量为预先保留的数量。Citrix 建议您尽可能少地预留,这样将有效地允许 Linux 管理内存使用量。
  • Citrix Provisioning Imager UI 中的目标设备名称通常默认为 im\_localhost。创建多个虚拟磁盘时,必须更改此值。使用相同的目标设备名称可能会导致 imager 命令失败。
  • 安装(及后续更新)必须在超级用户模式下完成。以超级用户身份安装有两种方式:
    • 使用 su 命令在终端中进入用户模式。
    • 在该命令前面输入 sudo。例如,sudo yum install tdb-tools;为每个命令输入 sudo
  • 必须使用 Active Directory 控制器同步 Linux 客户端的系统时钟。
  • 不支持 VMM。
  • 写入缓存驱动器必须带有标签 PVS_Cache,才能将其用作写入缓存。将使用整个分区。
  • 英语本地化信息在非英语安装中显示。
  • 不支持 SE Linux。
  • 在 XenServer 上运行的目标必须在 HVM 模式下运行。
  • 启动 Linux 目标设备后,可能会显示一条指示 SE Linux 警报浏览器的警告消息。
  • 支持以下 Linux 发行版:
    • Ubuntu 16.04
    • Ubuntu 18.04
    • Ubuntu 20.04
    • Red Hat Enterprise Linux 8.3
  • ESXi 上托管的两个流 Ubuntu 18.04 或 Ubuntu 20.04 VM 通过 DHCP 获得相同的 IP 地址。要解决此问题,请将 VM 配置为使用 MAC 地址作为通过 DHCP 检索 IP 地址的唯一 ID。
  • 在 Ubuntu 18.04 上,安装安装包时可能会出现错误:dracut-install: Failed to find module ‘crc32c’。这是 Ubuntu 18.04 的已知问题。要解决此问题,请注释 /etc/dracut.conf.d/10-debian.conf 中的 add_drivers+=”crc32c” 并重新安装软件包。
  • 使用 UEFI 引导从主 VM 中使用 UEFI 引导创建虚拟磁盘。
  • 要对流 VM 使用安全启动,创建虚拟磁盘的主 VM 无需启用安全启动。

安装选项

必须以管理员身份登录,才能安装 Linux 流技术推送组件。安装时请注意,以下命令必须在 root shell 中发出,或者使用 sudo 权限发出。

安装自签名证书

必须为通过流技术推送的 Citrix Provisioning Linux 目标设备创建自签名证书。SOAP 服务器使用的 SSL 连接要求您在 SOAP 服务器上配置 X.509 证书。

证书的 CA 还必须存在于 Provisioning 服务器和 Linux 目标设备上。有关创建自签名证书的信息,请参阅为 Linux 流技术推送创建自签名证书

使用以下命令安装自签名证书:

  • Ubuntu:
sudo cp certificate.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
<!--NeedCopy-->
  • RHEL:
sudo yum install ca-certificates
sudo update-ca-trust force-enable
sudo cp certificate.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust extract
<!--NeedCopy-->

使用 trust list 查看证书是否正确安装。

安装 linux 流技术推送软件包

对于 Ubuntu 16.04 发行版:

apt-get -y install dracut dracut-network
dpkg -r nbd-client
dpkg -i pvs_<version>_ubuntu16.04_amd64.deb
apt-get -fy install
<!--NeedCopy-->

对于 Ubuntu 18.04 发行版:

apt-get -y install dracut dracut-network
apt-get -y install pvs_<version>_ubuntu18.04_amd64.deb
<!--NeedCopy-->

对于 Ubuntu 20.04 发行版:

apt-get -y install pvs_<version>_ubuntu20.04_amd64.deb`
<!--NeedCopy-->

对于 RHEL 8.3 发行版:

yum --nogpgcheck localinstall pvs_<version>_rhel8.3_x86_64.rpm
<!--NeedCopy-->

使用 GUI 创建 Linux 黄金映像

要调用 GUI 以安装此功能,请执行以下操作:

  1. 以管理员身份登录。
  2. 运行以下命令:

    pvs-imager

提示:

pvs-imager 命令由于主机名问题失败时,请验证您的网络配置是否正确。请勿将系统的主机名设置为 localhost。在 RHEL 8.3 上,请使用 X11 显示服务器而非 Wayland 登录以使用 GUI。需要 PyQt5python3-pyqt5 才能使用 GUI。

运行命令后,用户界面页面将显示以下内容:

Provisioning 映像工具

使用命令行接口安装 Linux 流技术推送功能

要调用命令行以安装此功能,请执行以下操作:

  1. 以管理员身份登录。
  2. 运行以下命令:

    pvs-imager -C

命令行安装包括两个选项:

  • \-C 允许您创建虚拟磁盘
  • \-U 允许您更新现有虚拟磁盘

以下信息说明了 Linux 流技术推送功能的非 GUI 相关的安装选项:

Usage: ./pvs-imager [-hCU] [-a|--address=<IPaddr>] [-u|--username=<username>] [-p|--password=<password>] [-P|--port=<port>] [-d|--domain=<domain] [-S|--store=<store>] [-v|--vdisk=<vdisk name>] [-s|--size=<vdisk size] [-D|--device=<sourceDevice>] [-c|--collection=<collection>] [-n|--name=<name>]
 Non-GUI Modes:
  -C      -  Create a new vDisk
    ---OR----
  -U      -  Update an existing vDisk

 General Options:
  -a <server IP> -  Address or hostname of PVS server
  -u <username>  -  Username for API login
  -p <password>  -  Password for API login
  -d <domain>   -  AD domain for API login
  -P <port>    -  Base port for API login (default: 54321)
  -S <store>   -  Store containing vDisk
  -c <collection> -  Collection to store imaging device in
  -n <name>    -  Device name for imaging device
  -v <name>    -  vDisk name
  -s <size>    -  vDisk size (Create Mode only, default: sourceDevice size)
  -D <sourceDev> -  devnode to clone
  -V       -  increment debug verbosity (up to 5 times)
  -g <grubMode>  -  Supported Grub settings ('debug')

适用于映像操作的受支持的文件系统包括 ext4xfsbtrfs

提示:

使用 -VVVVV 开关创建的 pvs-imager 的调试日志将在执行 pvs-imager 工具的文件夹中创建。日志文件的名称为 pvs-imager.log

关于磁盘缓存

对于不使用 Citrix Virtual Apps and Desktops 设置向导情况下的硬盘缓存或硬盘溢出缓存,请使用格式化分区对目标设备磁盘进行格式化。包括标签 PVS_Cache。可以在目标设备上通过 mkfs –L PVS_Cache 命令创建此对象。可以对缓存使用任何区分大小写的文件系统,但建议使用 XFS。

提示:

管理员可以通过编写在启动时运行的 Bash 脚本为其环境创建任何缓存磁盘选择逻辑。该脚本将根据最适合环境的机制查找缓存设备候选,在其上运行 mkfs,然后重新启动。

配置磁盘缓存时:

  • Citrix 建议使用 Citrix Virtual Apps and Desktops 设置向导创建 Linux 目标设备。
  • 手动创建标签需要区分大小写以避免配置冲突。
  • 或者,请考虑使用手动方法创建写入缓存。

手动创建目标设备的写入缓存

默认情况下,Citrix Virtual Apps and Desktops 设置向导将忽略附加到当前模板的驱动器。向导会根据您提供的参数创建写入缓存。有时,写入缓存驱动器在使用向导自动创建过程中或者当目标设备因创建的驱动器出现问题而持续回退到服务器端缓存时会遇到问题。要解决这些问题,请在目标设备上使用 mkfs –L PVS_Cache 命令手动创建对象。

在使用 UseTemplatecache 参数时,Citrix Virtual Apps and Desktops 设置向导默认识别为目标设备的手动创建的写入缓存更改。在运行 Citrix Virtual Apps and Desktops 设置向导的置备服务器上或远程预配控制台所指向的预配服务器上,更改注册表设置:

  1. 在预配控制台计算机上创建以下注册表项以禁用模板缓存:

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ProvisioningServices

Name: UseTemplateCache

Type: DWORD

Value: 0

  1. 运行 Citrix Virtual Apps and Desktops 设置向导. 在虚拟机页面上,将本地写入缓存磁盘大小更改为 0 GB(默认为 6 GB)。
通过流技术推送 Linux 目标设备