Linux虚拟交付代理

在SUSE操作系统下手动安装Linux Virtual Delivery Agent

重要的是:

对于新安装,我们建议您使用简单的安装快速安装。易于安装节省时间和人力,比本文详细介绍的手动安装更不容易出错。

步骤1:安装准备

步骤1a:启动YaST工具

SUSE Linux Enterprise YaST工具用于配置操作系统的各个方面。

启动基于文本的YaST工具:

嘘!——NeedCopy >

启动基于ui的YaST工具:

Su - yast2 & 

步骤1b:配置组网

以下部分提供有关配置Linux VDA使用的各种网络设置和服务的信息。配置网络是通过YaST工具完成的,而不是通过Network Manager等其他方法。这些说明是基于使用基于ui的YaST工具。可以使用基于文本的YaST工具,但它有一种不同的导航方法,这里没有说明。

配置主机名和DNS

  1. 打开“YaST Network Settings”。
  2. 只有12个雪橇:在上面全局选项选项卡中,改变网络设置方法邪恶的服务
  3. 打开主机名/ DNS选项卡。
  4. 清晰的通过DHCP更改主机名
  5. 检查分配主机名给Loopback IP
  6. 编辑以下内容以反映你的网络设置:
    • 主机名-添加该机器的DNS主机名。
    • 域名—添加机器的DNS域名。
    • 名称服务器-添加DNS服务器的IP地址。一般为AD域控制器的IP地址。
    • 域名搜索列表-添加DNS域名。

注意:

Linux VDA目前不支持NetBIOS名称截断。因此,主机名不能超过15个字符。提示:

只能使用a-z、a-z、0-9和连字符(-)。避免下划线、空格和其他符号。主机名不要以数字开头,也不要以连字符结尾。该规则也适用于Delivery Controller主机名。

禁用多播DNS

仅在SLED上,默认设置启用了多播DNS (mDNS),这可能导致名称解析结果不一致。缺省情况下,SLES上没有启用mDNS,因此不需要执行任何操作。

若要禁用mDNS,请编辑/etc/nsswitch.conf并更改包含以下内容的行:

mdns_minimal [NOTFOUND=return] dns . hosts: files

:

dns主机:文件

检查主机名

检查主机名是否设置正确:

主机名< !——NeedCopy >

这个命令只返回机器的主机名,而不是它的完全限定域名(FQDN)。

检查FQDN设置是否正确:

主机名- f < !——NeedCopy >

该命令返回计算机的FQDN。

检查名称解析和服务可达性

验证您可以解析FQDN并ping域控制器和交付控制器:

Nslookup domain-controller-fqdn ping domain-controller-fqdn Nslookup delivery-controller-fqdn ping delivery-controller-fqdn 

如果无法解析FQDN或ping这些机器中的任何一台,请在继续之前检查步骤。

步骤1c:配置NTP服务

在VDAs、Delivery Controllers和域控制器之间保持准确的时钟同步非常重要。将Linux VDA作为虚拟机托管可能会导致时钟偏差问题。因此,建议使用远程NTP服务维护时间。可能需要对默认的NTP设置进行一些更改:

  1. 打开“YaST NTP Configuration”,选择“一般设置选项卡。
  2. 在“启动NTP守护进程”一节中,检查现在和开机
  3. 如果存在,选择无纪律的本地时钟(Local)项并单击删除
  4. 单击,为NTP服务器添加条目添加
  5. 选择服务器类型并点击下一个
  6. 在“Address”字段中输入NTP服务器的DNS名称。此服务通常托管在Active Directory域控制器上。
  7. 保持Options字段不变。
  8. 点击测试检查NTP服务是否可达。
  9. 点击好吧通过Windows的设置来保存更改。

注意:

对于SLES 12实现,NTP守护进程可能由于已知的关于AppArmor策略的SUSE问题而无法启动。遵循决议额外的信息。

步骤1d:安装Linux VDA依赖包

Linux VDA软件在SUSE Linux Enterprise操作系统中使用的软件包如下:

  • Postgresql10-server 10.12及以上版本
  • OpenJDK 11
  • OpenMotif Runtime Environment 2.3.1或更高版本
  • Cups 1.6.0或更高版本
  • Foomatic过滤器3.0.0或更高版本
  • ImageMagick 6.8及以上版本

添加存储库

您可以从SUSE Linux SDK (Enterprise Software Development Kit)中获取部分软件包,如PostgreSQL、ImageMagick等。通过YaST添加SDK存储库,或者下载SDK镜像文件,然后通过如下命令挂载到本地。

sudo mkdir -p /mnt/sdk sudo mount -t iso9660 path-to-iso/SLE-12-SP5-SDK-DVD-x86_64-GM-DVD1。Iso /mnt/sdk sudo zypper ar -f /mnt/sdk sdk——NeedCopy >

安装Kerberos客户机

安装Kerberos客户端,用于Linux VDA和Delivery Controllers之间的相互认证:

安装krb5-client 

Kerberos客户机配置取决于使用哪种Active Directory集成方法。请参见以下描述。

安装OpenJDK 11

Linux VDA需要OpenJDK 11的存在。

安装OpenJDK 11执行以下命令。

安装java-11-openjdk 

安装PostgreSQL

在SLED/SLES 12上,安装包:

Sudo zypper install postgresql-jdbc 

安装后的步骤需要初始化数据库服务,并确保在机器启动时启动PostgreSQL:

Sudo systemctl enable postgresql 

数据库文件位于/var/lib/pgsql/data.

删除存储库

安装依赖包后,运行以下命令删除之前设置的SDK存储库和安装的媒体:

Sudo zypper rr SDK Sudo ummount /mnt/ SDK Sudo rmdir /mnt/ SDK 

步骤2:准备Linux虚拟机

在受支持的管理程序上将Linux VDA作为虚拟机运行时,需要进行一些更改。请根据当前使用的hypervisor平台进行如下修改。如果您在裸机硬件上运行Linux机器,则不需要进行任何更改。

修复Citrix Hypervisor上的时间同步问题

如果启用了Citrix Hypervisor时间同步特性,在每个半虚拟化Linux虚拟机中,您都会遇到NTP和Citrix Hypervisor都试图管理系统时钟的问题。为了避免时钟与其他服务器不同步,每个Linux客户机中的系统时钟必须与NTP同步。此时需要禁用主机时间同步。HVM模式下无需修改。

在一些Linux发行版中,如果您运行的是安装了Citrix VM Tools的半虚拟化Linux内核,您可以在Linux虚拟机中检查Citrix Hypervisor时间同步特性是否存在并启用:

Su - cat /proc/sys/xen/independent_wallclock 

该命令返回0或1:

  • 0—时间同步功能开启,必须关闭。
  • 1 -时间同步功能已关闭,操作结束。

如果/proc/sys/xen/independent_wallclock文件不存在,则不需要执行以下步骤。

如果启用,通过写入来关闭时间同步功能1的文件:

Sudo echo 1 > /proc/sys/xen/independent_wallclock 

要使此更改在重新启动后永久保存,请编辑/etc/sysctl.conf文件并添加一行:

xen。independent_wallclock = 1

要验证这些更改,请重新启动系统:

重新启动< !——NeedCopy >

重启后,检查设置是否正确:

Su - cat /proc/sys/xen/independent_wallclock 

该命令返回值1。

修复Microsoft Hyper-V上的时间同步问题

安装了Hyper-V Linux Integration Services的Linux虚拟机可以应用Hyper-V时间同步特性,使用主机操作系统的时间。为了确保系统时钟保持准确,请同时启用NTP服务。

从管理操作系统:

  1. 打开Hyper-V管理器控制台。
  2. 对于Linux虚拟机,选择“设置”集成服务
  3. 确保时间同步被选中。

注意:

与VMware和Citrix Hypervisor不同,VMware和Citrix Hypervisor禁用主机时间同步,避免与NTP发生冲突。Hyper-V时间同步可以同时存在,补充NTP时间同步。

修复ESX和ESXi的时间同步问题

如果启用了VMware时间同步特性,在每个半虚拟化Linux虚拟机中,您都会遇到NTP和hypervisor同步系统时钟的问题。为了避免时钟与其他服务器不同步,请使用NTP同步每个Linux客户机中的系统时钟。此时需要禁用主机时间同步。

如果你运行的是安装了VMware Tools的半虚拟化Linux内核:

  1. 1 .打开vSphere Client。
  2. 编辑Linux虚拟机设置。
  3. 虚拟机性能对话框,打开选项选项卡。
  4. 选择VMware工具
  5. 先进的盒子,清楚同步客户与主机的时间

步骤3:将Linux虚拟机加入Windows域

Linux VDA支持几种将Linux机器加入AD域的方法:

根据你选择的方法来遵循说明。

注意:

当Linux VDA中的本地帐号和AD中的帐号使用相同的用户名时,会话启动可能会失败。

Samba Winbind

加入Windows域

您的域控制器必须是可访问的,并且您必须有一个具有向域添加机器权限的Active Directory用户帐户:

  1. 打开YaST Windows域成员。

  2. 进行以下更改:

    • 设置域或工作组更改为Active Directory域的名称或域控制器的IP地址。域名必须是大写的。
    • 检查还可以使用SMB信息进行Linux认证
    • 检查在登录时创建主目录
    • 检查SSH的单点登录
    • 确保离线身份验证不是检查。此选项与Linux VDA不兼容。
  3. 点击好吧.如果提示要安装一些软件包,请单击安装

  4. 如果找到域控制器,它会询问您是否想要加入域。点击是的

  5. 出现提示时,键入具有向域添加计算机权限的域用户的凭据并单击好吧

  6. 系统提示成功。

  7. 如果提示安装一些samba和krb5包,单击安装

YaST可能已经指出,这些更改需要重新启动一些服务或机器。我们建议您重新启动机器:

Su - reboot 

SUSE 12仅:补丁Kerberos证书缓存名称

SUSE 12更改了默认的Kerberos凭据缓存名称规范文件:/ tmp / krb5cc_ % {uid}DIR: /运行/ user / % {uid} / krb5cc.这种新的DIR缓存方法与Linux VDA不兼容,必须手动更改。作为根用户,编辑/etc/krb5.conf的下面添加以下设置[libdefaults]Section如果没有设置:

default_ccache_name =文件:/ tmp / krb5cc_ % {uid}

验证域成员

交付控制器要求所有VDA机器(Windows和Linux VDA)在Active Directory中有一个计算机对象。

运行网络广告Samba的命令,以验证机器已加入域:

Sudo net ads testjoin 

执行如下命令验证额外域和计算机对象信息:

Sudo网络广告信息

验证Kerberos配置

要确保正确配置Kerberos以使用Linux VDA,请检查系统keytab文件是否已经创建,并包含有效的密钥:

Sudo klist -ke 

此命令显示可用于各种主体名称和密码组合的密钥列表。运行Kerberoskinit命令用域控制器使用以下密钥对计算机进行身份验证:

sudo kinit -k MACHINE\$@REALM 

机器和领域名称必须用大写字母指定。美元符号($)必须用反斜杠(\)转义,以防止shell替换。在某些环境中,DNS域名与Kerberos领域名称不同。确保使用了领域名称。如果命令执行成功,则无输出。

验证机器帐户的TGT票证已使用以下方法缓存:

sudo中< !——NeedCopy >

使用以下方法检查机器帐户详情:

Sudo网广告状态

验证用户身份验证

使用wbinfo验证域用户可以使用域进行身份验证的工具:

wbinfo——krb5auth =域名\ \用户名密码< % !——NeedCopy >

此处指定的域是AD域名,不是Kerberos域名称。对于bash shell,反斜杠(\)字符必须用另一个反斜杠转义。此命令返回一条指示成功或失败的消息。

为了验证Winbind PAM模块的配置是否正确,请使用一个未使用过的域用户帐号登录Linux VDA。

SSH localhost -l domain\\username id -u 

属性返回的uid是否创建了对应的Kerberos凭据缓存文件id - u命令:

ls / tmp / krb5cc_uid < !——NeedCopy >

验证用户的Kerberos凭证缓存中的票据是有效的,没有过期:

中< !——NeedCopy >

退出会议。

退出< !——NeedCopy >

可以通过直接登录到Gnome或KDE控制台来执行类似的测试。继续步骤6:安装Linux VDA加入域验证后。

追求身份验证服务

在域控制器上配置Quest

假设您已经在Active Directory域控制器上安装并配置了Quest软件,并且已被授予在Active Directory中创建计算机对象的管理权限。

允许域用户登录到Linux VDA机器

为了使域用户能够在Linux VDA机器上建立HDX会话:

  1. 在活动目录用户和计算机管理控制台中,打开该用户帐户的活动目录用户属性。
  2. 选择Unix帐户选项卡。
  3. 检查Unix-enabled
  4. 设置主要GID编号修改为实际域用户组ID。

注意:

对于使用控制台、RDP、SSH或任何其他远程协议设置登录域用户,这些说明是等效的。

在Linux VDA上配置Quest

配置脉管守护进程

必须启用并断开Kerberos票据的自动续订。必须禁用身份验证(离线登录):

Sudo /opt/quest/bin/vastool configure vas vas_auth allow-disconnect -auth false 

该命令将更新间隔设置为9小时(32400秒),比默认的10小时票据生命期少1小时。在ticket生命周期较短的系统中,将此参数设置为较低的值。

配置PAM和NSS

为使域用户能够通过HDX和其他服务(如su、ssh、RDP)登录,请执行以下命令手动配置PAM和NSS:

Sudo /opt/quest/bin/vastool configure NSS 

加入Windows域

使用Quest将Linux机器加入到Active Directory域vastool命令:

/opt/quest/bin/vastool -u user join domain-name 

用户是具有将计算机加入到Active Directory域的权限的任何域用户。的域名为域的DNS名称,例如:example.com。

验证域成员

交付控制器要求所有VDA机器(Windows和Linux VDA)在Active Directory中有一个计算机对象。要验证加入了quest的Linux机器是否在域中:

Sudo /opt/quest/bin/vastool信息域

如果计算机加入了域,此命令将返回域名。如果机器没有加入任何域,则出现以下错误:

错误:找不到域。
错误:VAS_ERR_CONFIG:在ctx.c:414在_ctx_init_default_realm
var .conf中没有配置Default_realm。计算机不能加入域

验证用户身份验证

要验证Quest可以通过PAM对域用户进行身份验证,请使用一个以前没有使用过的域用户帐户登录Linux VDA。

SSH localhost -l domain\\username id -u 

属性返回的uid是否创建了对应的Kerberos凭据缓存文件id - u命令:

ls / tmp / krb5cc_uid < !——NeedCopy >

验证Kerberos凭证缓存中的票据是有效的,并且没有过期:

/ opt /任务/ bin / vastool中< !——NeedCopy >

退出会议。

退出< !——NeedCopy >

可以通过直接登录到Gnome或KDE控制台来执行类似的测试。继续步骤6:安装Linux VDA加入域验证后。

Centrify组合

加入Windows域

安装Centrify DirectControl Agent后,使用Centrify将Linux计算机加入到Active Directory域毗邻命令:

su - adjoin -w - v -u user domain-name 

用户是具有将计算机加入到Active Directory域权限的任何Active Directory域用户。的域名是要将Linux计算机加入的域的名称。

验证域成员

交付控制器要求所有VDA机器(Windows和Linux VDA)在Active Directory中有一个计算机对象。要验证加入centrify的Linux机器是否在域中:

Su - adinfo 

验证加入到域值是有效的CentrifyDC模式返回连接.如果模式仍然停留在启动状态,则Centrify客户端会遇到服务器连接或身份验证问题。

更全面的系统和诊断信息可使用:

addinfo——sysinfo all addinfo -diag 

测试到各种活动目录和Kerberos服务的连接性。

adinfo——测试< !——NeedCopy >

继续步骤6:安装Linux VDA加入域验证后。

SSSD

如果您在SUSE操作系统上使用SSSD,请参考本节内容进行操作。本节包括将Linux VDA计算机加入Windows域的说明,并提供配置Kerberos身份验证的指导。

在SUSE操作系统上安装SSSD,需要完成以下步骤:

  1. 加入域并创建主机键选项卡
  2. 为SSSD配置PAM
  3. 设置SSSD
  4. 使SSSD
  5. 验证域成员
  6. 验证Kerberos配置
  7. 验证用户身份验证

加入域并创建主机keytab

SSSD不提供Active Directory客户端加入域和管理系统keytab文件的功能。你可以使用Samba方法相反。在配置SSSD之前,需要完成以下步骤。

  1. 停止并禁用名称服务缓存守护进程(NSCD)。

    Sudo systemctl disable NSCD 
  2. 安装或更新所需的软件包:

    Sudo zypper install samba-client 
  3. 以root用户编辑/etc/krb5.conf文件kinit实用程序与目标域通信。的下面添加下列条目[libdefaults](领域),[domain_realm]部分:

    注意:

    基于AD基础结构配置Kerberos。以下设置适用于单一域、单一森林模型。

    dns_canonicalize_hostname = false rdns = false default_realm = REALM forwarding = true [realms] REALM = {kdc = fqdn-of-domain-controller default_domain = REALM admin_server = fqdn-of-domain-controller}——NeedCopy >

    领域是Kerberos领域名,例如example.com。领域是大写的Kerberos领域名,例如EXAMPLE.COM。fqdn-of-domain-controller为域控制器的FQDN。

  4. 以root用户编辑/etc/samba/smb.conf文件实用程序与目标域通信。的下面添加下列条目(全球)部分:

    [global] workgroup = domain realm = realm security = ADS kerberos method = secrets and keytab client signing = yes client use spnego = yes 

    为Active Directory域的NetBIOS简称,例如“EXAMPLE”。

  5. 修改passwd集团/etc/nsswitch.conf文件中的条目,在解析用户和组时引用SSSD。

    Passwd: compat SSS组:compat SSS 
  6. 加入Windows域。确保您的域控制器是可访问的,并且您有一个具有将计算机添加到域的权限的Active Directory用户帐户:

    sudo realm join realm -U user 

    用户域用户,具有向域添加计算机的权限。

为SSSD配置PAM

在为SSSD配置PAM之前,请安装或更新所需的软件包:

Sudo zypper安装SSSD SSSD -ad 

为通过SSSD进行用户身份验证配置PAM模块,并为用户登录创建主目录。

Sudo pam-config——add——sss——mkhomedir 

设置SSSD

  1. 以root用户编辑/etc/sssd/sssd.conf,允许SSSD守护进程与目标域通信。一个sssd.conf配置示例(可以根据需要添加额外选项):

    sssd config_file_version = 2服务= nss, pam域= domain-dns-name[域/ domain-dns-name] id_provider =广告auth_provider =广告access_provider =广告ad_domain = domain-dns-name ad_server = fqdn-of-domain-controller ldap_id_mapping = true ldap_schema =广告# Kerberos设置krb5_ccachedir = / tmp krb5_ccname_template =文件:% d / krb5cc_ % U #注释掉如果用户有壳和家庭dir设置在广告方面fallback_homedir = /home/ % d / % u default_shell = /bin/bash #取消和调整如果默认主SHORTNAME @REALM美元不可用# ldap_sasl_authid =主机/ client.ad.example.com@AD.EXAMPLE.COM ad_gpo_access_control =宽容< !——NeedCopy >

    domain-dns-name为DNS域名,例如example.com。

    注意:

    ldap_id_mapping设置为true,以便SSSD本身负责将Windows sid映射到Unix uid。否则,Active Directory必须能够提供POSIX扩展。ad_gpo_access_control被设置为宽容的防止Linux会话的无效登录错误。请参见sssd.conf和sssd-ad的手册。

  2. 设置sssd.conf文件的所有权和权限:

    /etc/sssd/sssd.conf 

使SSSD

在系统启动时启用并启动SSSD守护进程。

Sudo systemctl start SSSD 

验证域成员

  1. 运行Samba的net ads命令,以验证机器已加入域:

    Sudo net ads testjoin 
  2. 执行如下命令验证额外域和计算机对象信息:

    Sudo网络广告信息

验证Kerberos配置

要验证Kerberos是否正确配置,以便与Linux VDA一起使用,请验证系统keytab文件是否已经创建,并包含有效的密钥:

Sudo klist -ke 

此命令显示可用于各种主体名称和密码组合的密钥列表。运行Kerberoskinit命令用域控制器使用以下密钥对计算机进行身份验证:

sudo kinit -k MACHINE\$@REALM 

机器和领域名称必须用大写字母指定。美元符号()必须用反斜杠转义()以防止壳层被取代。在某些环境中,DNS域名与Kerberos领域名称不同。确保使用了领域名称。如果命令执行成功,则无输出。

验证机器帐户的TGT票证已使用以下方法缓存:

sudo中< !——NeedCopy >

验证用户身份验证

SSSD不提供直接使用守护进程测试身份验证的命令行工具,只能通过PAM完成。

为了验证SSSD PAM模块的配置是否正确,请使用以前没有使用过的域用户帐户登录Linux VDA。

SSH localhost -l domain\\username id -u klist exit 

方法返回的Kerberos票据命令对该用户是正确的,并且没有过期。

作为根用户,验证是否为前面返回的uid创建了相应的票据缓存文件id - u命令:

ls / tmp / krb5cc_uid < !——NeedCopy >

可以通过直接登录到Gnome或KDE控制台来执行类似的测试。继续步骤6:安装Linux VDA加入域验证后。

PBIS

下载需要的PBIS包

例如:

wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.rpm.sh < !——NeedCopy >

使PBIS安装脚本可执行

例如:

Chmod +x pbis-open-8.8.0.506.linux.x86_64.rpm.sh 

运行PBIS安装脚本

例如:

sh pbis-open-8.8.0.506.linux.x86_64.rpm.sh < !——NeedCopy >

加入Windows域

您的域控制器必须是可访问的,并且您必须具有将计算机添加到域的Active Directory用户帐户的权限:

/opt/pbis/bin/domainjoin-cli join domain-name user 

用户是域用户,具有向Active Directory域添加计算机的权限。的域名为域的DNS名称,例如:example.com。

注意:要将Bash设置为默认shell,请运行/ opt / pbis / bin /配置LoginShellTemplate / bin / bash命令。

验证域成员

交付控制器要求所有VDA机器(Windows和Linux VDA)在Active Directory中有一个计算机对象。要验证pbis连接的Linux机器在域中:

/ opt / pbis / bin / domainjoin-cli查询< !——NeedCopy >

如果机器加入了域,该命令返回当前加入的AD域和OU的信息。否则,只显示主机名。

验证用户身份验证

要验证PBIS是否可以通过PAM对域用户进行身份验证,请使用以前没有使用过的域用户帐户登录Linux VDA。

SSH localhost -l domain\\user id -u 

方法返回的UID是否创建了对应的Kerberos凭据缓存文件id - u命令:

ls / tmp / krb5cc_uid < !——NeedCopy >

退出会议。

退出< !——NeedCopy >

继续步骤6:安装Linux VDA加入域验证后。

步骤4:安装.NET Core Runtime 3.1作为先决条件

在安装Linux VDA之前,请按照。net Core Runtime 3.1的说明安装https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managers

在安装。net Core Runtime 3.1之后,运行这dotnet命令查找运行时路径。

根据回显信息,设置。net Core运行时二进制路径。例如:/aa/bb/dotnet,则。net的二进制路径为/aa/bb。

步骤5:下载Linux VDA包

进入Citrix虚拟应用程序和桌面下载页面。展开相应版本的Citrix虚拟应用程序和桌面,然后单击组件下载与您的Linux发行版匹配的Linux VDA包。

步骤6:安装Linux VDA

步骤6a:卸载旧版本

如果您安装了以前两个版本和LTSR版本之外的一个更早的版本,请在安装新版本之前卸载它。

  1. 停止Linux VDA服务。

    Sudo /sbin/service CTXHDX stop 

    注意:

    在你停止之前ctxvdactxhdx服务,运行服务ctxmonitorservice停止命令,停止监控服务守护进程。否则,monitor服务守护进程将重新启动已停止的服务。

  2. 卸载包:

    -e XenDesktopVDA 

重要的是:

支持从最新的两个版本升级。

注意:

安装组件的位置/ opt / Citrix / VDA /

要运行命令,需要完整路径;或者,您可以添加/ opt / Citrix / VDA / sbin/ opt / Citrix / VDA / bin为系统路径。

步骤6b:安装Linux VDA

使用Zypper安装Linux VDA软件:

SUSE 12:

sudo zypper安装XenDesktopVDA-.sle12_x.x86_64。rpm < !——NeedCopy >

通过RPM包管理器安装Linux VDA软件。在这样做之前,请解析以下依赖项:

SUSE 12:

sudo rpm -i XenDesktopVDA-.sle12_x.x86_64. sudo rpm -i XenDesktopVDArpm < !——NeedCopy >

步骤6c:升级Linux VDA(可选)

您可以从前两个版本和LTSR版本升级现有的安装。

注意:

升级现有安装将覆盖/etc/xdl下的配置文件在进行升级之前,请确保备份文件。

SUSE 12:

sudo rpm - u XenDesktopVDA-.sle12_x.x86_64. sudo rpm - u XenDesktopVDArpm < !——NeedCopy >

RPM依赖列表:

libQt5Core5 > = 5.5 ~ mozilla-nss-tools > = 3.47.1 postgresql服务器> = 10.12 postgresql-jdbc > = 9.2 java-11-openjdk > = 11 ImageMagick > = 6.8 dbus-1 > = 1.8.8 dbus-1-x11 > = 1.8.8 libXpm4 > = 3.5.11 libXrandr2 > = 1.4.2 libXtst6 > > = 2.3 = 1.2.2图案pam > = 1.1.8 bash > = 4.2 findutils > = 4.5呆呆> = 4.1 sed > = 4.2杯> = 1.6.0 cups-filters-foomatic-rip> = 1.0.0 openldap2 > = 2.4 cyrus-sasl > = 2.1 cyrus-sasl-gssapi > = 2.1 libxml2 > = 2.9 libmspack0 > = 0.4 python-requests > = 2.8.1发布rpmlib (PayloadFilesHavePrefix) < = 4.0 - 1 rpmlib (CompressedFileNames) < = 3.0.4-1 rpmlib (PayloadIsLzma) < = 4.4.6-1 libtcmalloc4 > = 2.5 libcap-progs > = 2.22 xorg-x11-server > = 7.6 _1.18.3 - 76.15的伊布·> = 1.5 xorg - x11服务器的=7.6_1.19.6 xorg-x11 = 7.6_1 postgresql10-server >= 10.12 libgtk-2_0-0 >= 2.24 libgthread-2_0-0 >= 2.48 pulseaudio-utils >= 5.0 lsr -release >= 2.0 <——NeedCopy >

重要的是:

升级完成后请重新启动Linux VDA机器。

步骤7:配置Linux VDA

安装完成后,需要运行ctxsetup.sh脚本配置Linux VDA。在进行任何更改之前,脚本会验证环境并确保所有依赖项都已安装。如果有必要,您可以在任何时候重新运行脚本来更改设置。

您可以使用提示手动运行脚本,也可以使用预先配置的响应自动运行脚本。在继续之前查看关于脚本的帮助:

sudo /opt/Citrix/VDA/sbin/ctxsetup.sh -help 

提示配置

运行一个带有提示问题的手动配置:

sudo / opt / Citrix / VDA / sbin / ctxsetup.sh < !——NeedCopy >

自动配置

对于自动安装,提供设置脚本所需的选项和环境变量。如果所有必需的变量都存在,脚本不会提示任何信息。

支持的环境变量包括:

  • CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N—Linux VDA支持通过DNS CNAME记录指定Delivery Controller名称。默认为“N”。
  • CTX_XDL_DDC_LIST = ' list-ddc-fqdns '—Linux VDA需要一个以空格分隔的FQDNs (Delivery Controller Fully Qualified Domain Names)列表,用于向Delivery Controller注册。必须至少指定一个FQDN或CNAME别名。
  • CTX_XDL_VDA_PORT =端口号—Linux VDA通过TCP/IP端口与Delivery Controllers通信,默认为80端口。
  • CTX_XDL_REGISTER_SERVICE = Y | N—机器启动后,Linux Virtual Desktop服务已启动。默认为“Y”。
  • CTX_XDL_ADD_FIREWALL_RULES = Y | N—Linux虚拟桌面业务需要允许通过系统防火墙进入网络连接。在Linux虚拟桌面中,您可以在系统防火墙中自动打开所需的端口(默认为80和1494端口)。默认为“Y”。
  • Ctx_xdl_ad_integration =1 | 2 | 3 | 4—Linux VDA需要Kerberos配置设置来与交付控制器进行身份验证。Kerberos配置由系统上安装和配置的Active Directory集成工具决定。指定要使用的支持的Active Directory集成方法:
    • 1 -桑巴温宾德
    • 2 -任务认证服务
    • 3 -集中化DirectControl
    • 4 - SSSD
  • CTX_XDL_HDX_3D_PRO = Y | N- Linux虚拟桌面支持HDX 3D Pro,一套图形加速技术,旨在优化富图形应用程序的虚拟化。HDX 3D Pro需要安装兼容的NVIDIA GRID显卡。选择“HDX 3D Pro”时,VDI桌面(单会话)模式为“-”(即CTX_XDL_VDI_MODE=Y)时配置“Virtual Delivery Agent”。
  • CTX_XDL_VDI_MODE = Y | N—是否配置为VDI (dedicated desktop delivery model)或托管共享桌面交付模式。对于HDX 3D Pro环境,将该变量设置为y。默认情况下,该变量设置为N。
  • CTX_XDL_SITE_NAME = dns名称—Linux VDA通过DNS发现LDAP服务器。如果需要将DNS搜索结果限制为本地站点,则需要指定DNS站点名称。该变量设置为<一>默认情况下。
  • CTX_XDL_LDAP_LIST = ' list-ldap-servers '—Linux VDA通过查询DNS发现LDAP服务器。如果DNS无法提供LDAP服务记录,您可以提供一个带LDAP端口的LDAP FQDNs列表。例如,ad1.mycompany.com: 389。该变量设置为<一>默认情况下。
  • CTX_XDL_SEARCH_BASE = search-base-set—Linux VDA通过设置为Active Directory域根的搜索库(例如,DC= mycompany,DC=com)查询LDAP。为了提高搜索性能,可以指定一个搜索库(例如,OU=VDI,DC=mycompany,DC=com)。该变量设置为<一>默认情况下。
  • CTX_XDL_FAS_LIST = ' list-fas-servers '—通过AD组策略配置FAS服务器。Linux VDA不支持AD组策略,但可以提供分号分隔的FAS服务器列表。顺序必须与AD组策略中配置的顺序保持一致。如果删除了任何服务器地址,则用<一>文本字符串,不修改服务器地址的顺序。
  • CTX_XDL_DOTNET_ RUNTIME_PATH = path-to-install-dotnet-runtime- .NET Core Runtime 3.1的安装路径,以支持新的代理代理服务(ctxvda).默认路径为/usr/bin。
  • CTX_XDL_DESKTOP _ENVIRONMENT = gnome /伴侣—指定会话中使用的GNOME或MATE桌面环境。如果不指定该变量,则使用当前安装在VDA上的桌面。但是,如果当前安装的桌面是MATE,则必须将变量值设置为伴侣

    注意:

    您还可以通过以下步骤更改目标会话用户的桌面环境:

    1. 创建一个.xsession下的文件$ HOME / <用户名>目录。
    2. 编辑.xsession文件以指定基于发行版的桌面环境。

    对于CentOS, Ubuntu和Debian上的MATE桌面:

    MSESSION="$(type -p mate-session)" if [-n "$MSESSION"];然后执行mate-session fi 

    对于CentOS上的GNOME桌面:

    GSESSION="$(type -p gnome-session)" if [-n "$GSESSION"];然后导出GNOME_SHELL_SESSION_MODE=classic exec gnome-session——session=gnome-classic fi 

    对于Ubuntu和Debian上的GNOME桌面:

    GSESSION="$(type -p gnome-session)" if [-n "$GSESSION"];然后执行gnome-session fi 
    1. 与目标会话用户共享700文件权限。
  • CTX_XDL_START_SERVICE = Y | N—配置完成后是否启动Linux VDA服务。默认为“Y”。
  • CTX_XDL_TELEMETRY_SOCKET_PORT—监听Citrix Scout的套接字端口。默认端口为7503。
  • CTX_XDL_TELEMETRY_PORT—与Citrix Scout通信的端口。默认端口为7502。

设置环境变量并运行configure脚本:

出口CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N出口CTX_XDL_DDC_LIST =“list-ddc-fqdns”出口CTX_XDL_VDA_PORT =出口端口号CTX_XDL_REGISTER_SERVICE = Y | N出口CTX_XDL_ADD_FIREWALL_RULES = Y |出口CTX_XDL_AD_INTEGRATION = 1 | 2 | 3 | 4出口CTX_XDL_HDX_3D_PRO = Y | N出口CTX_XDL_VDI_MODE = Y |出口CTX_XDL_SITE_NAME = dns-site-name | < >没有出口CTX_XDL_LDAP_LIST = ' list-ldap-servers ' | ' <无> export CTX_XDL_SEARCH_BASE = search-base-set |“<无>”出口CTX_XDL_FAS_LIST =“list-fas-servers”|“<无>”出口CTX_XDL_DOTNET_RUNTIME_PATH = path-to-install-dotnet-runtime出口CTX_XDL_DESKTOP_ENVIRONMENT = gnome | |交配的< >没有出口CTX_XDL_TELEMETRY_SOCKET_PORT =出口端口号N sudo -E /opt/Citrix/VDA/sbin/ctxsetup.sh 

当运行sudo命令时,输入- e选项将现有环境变量传递给它创建的新shell。我们建议使用上述命令创建一个shell脚本文件#!/bin/bash作为第一行。

或者,您可以使用单个命令指定所有参数:

sudo CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N \ CTX_XDL_DDC_LIST = ' list-ddc-fqdns \ CTX_XDL_VDA_PORT =端口号\ CTX_XDL_REGISTER_SERVICE = Y | N \ N \ CTX_XDL_AD_INTEGRATION CTX_XDL_ADD_FIREWALL_RULES = Y | = 1 | 2 | 3 | 4 \ CTX_XDL_HDX_3D_PRO = Y | N \ N \ CTX_XDL_SITE_NAME CTX_XDL_VDI_MODE = Y | = dns名称\ CTX_XDL_LDAP_LIST = list-ldap-servers \CTX_XDL_SEARCH_BASE = search-base-set \ CTX_XDL_FAS_LIST = ' list-fas-servers ' \ CTX_XDL_DOTNET_RUNTIME_PATH = path-to-install-dotnet-runtime \ CTX_XDL_DESKTOP_ENVIRONMENT = gnome |伴侣\ CTX_XDL_TELEMETRY_SOCKET_PORT =端口号\ CTX_XDL_TELEMETRY_PORT =端口号\ CTX_XDL_START_SERVICE = Y | N \ / opt / Citrix / VDA / sbin / ctxsetup.sh < !——NeedCopy >

删除配置更改

在某些场景中,您可能必须删除由ctxsetup.sh脚本,无需卸载Linux VDA包。

在继续之前查看关于此脚本的帮助:

Sudo /usr/local/sbin/ctxcleanup.sh——help 

删除配置更改:

sudo /usr/local/sbin/ctxcleanup.sh < !——NeedCopy >

重要的是:

该脚本从数据库中删除所有配置数据,并使Linux VDA无法操作。

配置日志

ctxsetup.shctxcleanup.sh脚本在控制台上显示错误,并将附加信息写入配置日志文件:

/ tmp / xdl.configure.log

重启Linux VDA服务,使修改生效。

步骤8:执行XDPing命令

运行sudo / opt / Citrix / VDA / bin / xdp检查Linux VDA环境的常见配置问题。有关更多信息,请参见xdp

步骤9:运行Linux VDA

配置Linux VDA后,使用ctxsetup.sh脚本,可以执行如下命令控制Linux VDA。

启动Linux VDA:

启动Linux VDA服务。

Sudo /sbin/service CTXHDX start 

停止Linux VDA:

停止Linux VDA服务。

Sudo /sbin/service CTXHDX stop 

注意:

在你停止之前ctxvdactxhdx服务,运行服务ctxmonitorservice停止命令,停止监控服务守护进程。否则,monitor服务守护进程将重新启动已停止的服务。

重启Linux VDA:

重启Linux VDA服务。

Sudo /sbin/service ctxvda restart Sudo /sbin/service ctxvda start 

检查Linux VDA状态:

查询Linux VDA服务的运行状态。

Sudo /sbin/service CTXHDX status 

步骤10:在Citrix虚拟应用程序或Citrix虚拟桌面中创建计算机目录

创建机器目录和添加Linux VDA机器的过程与传统的Windows VDA方法类似。有关如何完成这些任务的更详细描述,请参见创建机器目录管理机目录

对于创建包含Linux VDA机器的机器目录,有一些限制将其与为Windows VDA机器创建机器目录区分开:

  • 对于操作系统,选择:
    • Multi-session操作系统用于托管共享桌面交付模型的选项。
    • 单一会话操作系统选项用于VDI专用桌面交付模型。
  • 不要将Linux和Windows VDA机器混合在同一个机器目录中。

注意:

Citrix Studio的早期版本并不支持“Linux操作系统”的概念。然而,选择Windows服务器操作系统服务器操作系统选项意味着等效的托管共享桌面交付模型。选择Windows桌面操作系统桌面操作系统选项意味着每台机器的交付模型只有一个用户。

提示:

如果您将计算机删除并重新加入到Active Directory域,则必须再次将计算机删除并添加到计算机编目中。

步骤11:在Citrix Virtual Apps或Citrix Virtual Desktops中创建交付组

创建交付组和添加包含Linux VDA机器的机器目录的过程几乎与Windows VDA机器相同。有关如何完成这些任务的更详细描述,请参见创建交付组

对于创建包含Linux VDA机器目录的交付组,有以下限制:

  • 确保您选择的AD用户和组已被正确配置以登录Linux VDA机器。
  • 不允许未经身份验证(匿名)的用户登录。
  • 不要将交付组与包含Windows机器的机器目录混合。

重要的是:

Linux VDA版本1.4及更高版本支持发布应用程序。然而,Linux VDA不支持将桌面和应用程序交付到同一台机器。

有关如何创建机器目录和交付组的信息,请参见Citrix虚拟应用程序和桌面7 2106