Configure Linux Streaming
Important:
If you are using Linux streaming functionality, no new installation packages are provided at this release. Use the Provisioning Services 7.15 Linux DEB/RPM package. For example, after downloading the latest Citrix Provisioning ISO, the target software for CentOS/Red Hat is pvs_RED_HAT_7.15_18089_x86_64.rpm.
You can provision Linux virtual desktops directly in the Citrix Virtual Apps and Desktops environment. Consider the following:
- Sometimes, the client drive cannot be mapped to a provisioned Linux VM session. To resolve this issue, halt the CDM service using
service ctxcdm stop
, before installing the Citrix Provisioning target device, then run thepvs-imager
command to convert it. - Linux streaming only supports Winbind as the tool for joining a Windows domain.
- When you enable RAM cache for the Linux device, set the cache size to 8 MB (the minimum value). Linux uses as much RAM as necessary, including all available memory, for the write cache. The amount specified in the console is the amount reserved up front. Citrix recommends that you reserve as little as possible, which effectively allows Linux to manage memory usage.
- The target device name in the Citrix Provisioning imager UI typically defaults to
im\_localhost
. This value must be changed when you create more than one virtual disk. Using the same target device name causes the imager command to fail. - Installation (and subsequent updates) must be done in super user mode. There are two ways to install as a super user:
- Enter user mode in a terminal using the
su
command. - Enter
sudo
before the command. For example,sudo yum install tdb-tools
; entersudo
for every command.
- Enter user mode in a terminal using the
- The Linux client’s system clock must be synchronized by using the active directory controller.
- UEFI is not supported.
- VMM is not supported.
- The write cache drive must have the label
PVS_Cache
for it to be used as a write cache. The entire partition is used. - English localizations are displayed on non-English installations.
- SE Linux is not supported.
- Targets running on XenServer must run in HVM mode.
- When booting SUSE targets on ESX, the target might intermittently fail on boot. An error message appears, indicating an I/O error related to attempts to send data on a closed socket. This issue eventually halts the boot operation and shuts down the file system. Forcefully rebooting causes the target to boot successfully. This issue occurs when the hypervisor’s clock offset for the new VM does not match the offset for the original VM. The NTP configuration prevents it from updating the clock if the skew is greater and the default maximum. In these cases, the configure images to perform an initial clock set with
ntpdate
early in the boot process. For more information, see the NTP article concerning clock variations and the NTP information provided here.
Tip:
XenServer supports SUSE distributions, however, the SUSE template does not support PXE booting. Citrix Provisioning supports only those distributions that function with the hypervisor. For more information, see XenServer documentation.
- After booting a Linux target device, a warning message might display indicating a SE Linux Alert Browser.
- The following Linux distributions are supported:
- Ubuntu 16.04, 18.04.5, 20.04
- Red Hat Enterprise Linux Server 7.9, 8.3, 8.4
- SUSE Linux Enterprise Server (SLES) 12 SP5
- SUSE Linux Enterprise Server 15 SP2, SP3
Tip:
The Citrix Provisioning installer requires that the Linux kernel package version is greater than or equal to version 4.4.0.53.
Important: The default kernel used for Ubuntu 16.04.2 is version 4.8. This kernel version is not currently supported.
Installation options
To install the Linux Streaming component, you must be logged in while an administrator. If installing, consider that the following commands must be issued in a root shell, or by using sudo privileges.
Note:
A self-signed certificate must be created if streaming Citrix Provisioning Linux target devices. The Soap server uses an SSL connection requiring you to configure an X.509 certificate on the Soap server.
The certificate’s CA must also be present on the Provisioning Server and the Linux target device. For information on creating a self-signed certificate, see Creating self-signed certificates for Linux streaming.
For RedHat/CentOS distributions:
yum --nogpgcheck localinstall pvs_RED_HAT_<package version>.rpm
Installation is done using a GUI or through the command line. To use the GUI, you must install PyQT4 using your preferred method for installing third party Python modules.
Note:
See the Python Wiki for more information on PyQT4 bindings.
For Ubuntu desktop distributions:
sudo dpkg -i pvs-<version>.deb
sudo apt-get -yf install
Tip:
A self-signed certificate must be created if streaming Citrix Provisioning Linux target devices. The link to the Soap server uses an SSL connection requiring you to configure an X.509 certificate on the Soap Server.
The certificate’s CA must also be present on the Citrix Provisioning server and the Linux target device. For information on creating a self-signed certificate, see Creating self-signed certificates for Linux streaming.
Using the GUI to create a Linux golden image
To invoke the GUI to install this feature:
- Log in while an administrator.
-
Execute the following:
pvs-imager
Tip:
When the
pvs-imager
command fails due to a host name issue, verify that your network configuration is correct. Do not set the system’s host name tolocalhost
.
After executing the command, the UI page displays:
Using the command line interface to install the Linux streaming feature
To invoke the command line to install this feature:
- Log in while an administrator.
-
Execute the following command:
pvs-imager -C
The command-line installation includes two options:
-
\-C
allows you to create a virtual disk -
\-U
allows you to update an existing virtual disk
The following information illustrates non-GUI related installation options for the Linux Streaming feature:
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' )
Supported file systems for imaging are ext4
, xfs
, or btrfs
.
Tip:
Debugging logs for
pvs-imager
, created using-VVVVV
switch, are created in the folder that exectued thepvs-imager
tool. The name of the log file ispvs-imager.log
.
About disk caching
For hard disk caching or hard disk overflow caching without the Citrix Virtual Apps and Desktops Setup Wizard, format the target device disk using a formatted partition. Include the label PVS_Cache
. This object can be created with the mkfs –L PVS_Cache
command on the target device. Any case-sensitive file system can be used for the cache, but XFS is recommended.
Tip:
An administrator can create any cache disk selection logic for their environment by writing a bash script that runs at launch time. The script would look for a cache device candidate by whatever mechanism is best suited to the environment, running
mkfs
on it, and rebooting.
When configuring disk caching:
- Citrix recommends using the Citrix Virtual Apps and Desktops Setup Wizard to create the Linux target device.
- Manually creating the label requires adherence to case sensitivity to avoid configuration conflicts.
- Alternately, consider using the manual method for creating the write cache.
Manually creating the write cache for a target device
By default, the Citrix Virtual Apps and Desktops Setup Wizard ignores drives that are attached to the current template. The wizard creates a write cache based on parameters you provide. Sometimes, the write cache drive encounters problems during automatic creation using the wizard, or, when the target device continuously falls back to server side cache as a result of a problem with the created drive. To resolve these issues, manually create the object using the mkfs –L PVS_Cache
command on the target device.
The Citrix Virtual Apps and Desktops Setup Wizard recognizes manually created write cache changes for the target device by default when you use the UseTemplatecache
parameter. On the provisioning server executing the Citrix Virtual Apps and Desktops Setup Wizard, or where the remote provisioning console points, change the registry setting:
- Create the following registry key on the provisioning console machine to disable the template cache:
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\ProvisioningServices
Name: UseTemplateCache
Type: DWORD
Value: 0
- Run the Citrix Virtual Apps and Desktops Setup Wizard. On the Virtual machines page change the local write cache disk size to 0 GB (default is 6 GB).
Limitation
The registry key UseTemplatecache
created on the Provisioning Server running the Citrix Virtual Apps and Desktops Setup Wizard supports only PXE or ISO mode and not HDD BDM boot.