Azure上的 Linux 虚拟桌面基础结构(VDI)是一组体系结构,用于从Azure虚拟机(VM)传送图形 Linux 桌面。 根据体系结构,用户可以连接到特定 VM、使用 GPU 加速的应用程序,或从共享环境中接收中转会话。
Azure不提供具有 Linux 会话主机的第一方托管 VDI 服务。 Azure 虚拟桌面和Windows 365提供Windows桌面和应用程序。 对于 Linux 桌面,可以在 Azure VM 上部署和管理远程桌面软件,或使用合作伙伴解决方案。
本文比较了 Azure 上的主要 Linux 远程桌面和 VDI 方法。 它侧重于体系结构和选择条件,而不是产品安装。
选择 Linux 桌面方案
下表将常见方案映射到适当的起点。
| Scenario | 起始方法 | 关键注意事项 |
|---|---|---|
| 使用图形工具管理或排查 Linux VM 问题 | 具有远程桌面服务器的 Linux VM | 每个用户连接到特定的 VM。 |
| 向小型开发团队提供持久桌面 | 一个或多个具有远程桌面软件的 Linux VM | 可以管理 VM 分配、可用性和缩放。 |
| 运行 3D、计算机辅助设计(CAD)或科学可视化应用程序 | 支持图形的 GPU VM 和加速远程显示协议 | 桌面会话必须通过 GPU 进行渲染。 |
| 为许多用户提供集中管理的会话 | 合作伙伴的 Linux VDI 平台 | 评估中转、负载均衡、标识和客户端支持。 |
| 提供 Windows 应用程序或桌面 | Azure 虚拟桌面 | Azure 虚拟桌面会话主机运行Windows,而不是 Linux。 |
单虚拟机远程桌面
最简单的体系结构是运行桌面环境和远程桌面服务器的 Linux VM。 用户根据软件从本机客户端或浏览器进行连接。 此方法适用于图形管理、故障排除、概念证明环境和小型团队,每个团队都可以使用分配的 VM。
单 VM 方法不提供连接代理、自动主机分配或负载均衡。 会话持久性、设备重定向和浏览器访问也取决于远程桌面产品。 随着用户数量的增长,独立管理每个 VM 可能会成为操作负担。
有关 Ubuntu 上的基本远程桌面协议(RDP)配置,请参阅将 xrdp 与 Linux 配合使用。 xrdp 是一种以 Ubuntu 为中心的轻型选项,适用于初始设置和快速故障排除,但它本身不提供完整的多用户 VDI 控制平面或硬件加速 3D 呈现。
对于持久性单 VM 桌面,合作伙伴产品(如 ThinLinc)可以提供会话持久性和本机客户端或浏览器访问权限。 有关更多信息,请参阅本文后面的 多用户和代理 Linux VDI。
GPU 加速远程可视化
图形密集型应用程序需要在呈现路径中使用 GPU。 示例包括 CAD、计算机辅助工程、分子可视化、地震解释和医学成像。 如果没有 GPU 加速,这些应用程序可能会改由 CPU 进行渲染,并且虽然能够正确显示图像,但帧率可能低到无法满足交互式工作的实际需要。
经加速的 Linux 桌面有三个主要条件:
- 支持图形处理的 GPU VM 大小。 NV 系列专为远程可视化和其他图形工作负载而设计。 计算导向型 NC 和 ND 规格针对不同的工作负载类型,因此在选择规格之前,请先确认应用程序和驱动程序要求。
- 支持的图形驱动程序。 基于 NVIDIA 的 NV 系列大小使用 NVIDIA GRID 驱动程序来支持图形工作负载。 有关安装选项,请参阅 在运行 Linux 的 N 系列 VM 上安装 NVIDIA GPU 驱动程序。 对于基于 AMD 的规格,请使用适用于所选虚拟机规格和操作系统的受支持 AMD 图形驱动程序。
- 使用 GPU 的远程显示路径。 工作桌面会话不会证明应用程序使用硬件加速。 远程桌面产品必须与图形堆栈集成,或者应用程序必须使用 VirtualGL 等组件将呈现重定向到 GPU。
重要
使用用户运行的应用程序验证加速。 确认 OpenGL 渲染器显示的是预期的 GPU,而不是诸如 llvmpipe 之类的软件光栅器。
某些Azure 市场映像为加速可视化提供了预配置的路径。 例如,默认的 ThinLinc 市场路径侧重于 NVIDIA GPU 工作负载。 该图像焦点并不意味着 ThinLinc 本身需要 NVIDIA GPU。 在单独安装和配置产品时,ThinLinc 还可以支持仅限 CPU 的 Linux 桌面和其他部署设计。
有关独立的 NVIDIA GPU 部署,请参阅在 Azure 上使用 ThinLinc 部署 GPU 加速的 Linux 虚拟桌面。 有关加速渲染机制的详细信息,请参阅 Azure 上 HPC 工作负载的远程可视化。
多用户和代理式 Linux VDI
中转 VDI 体系结构将用户入口点与特定 VM 地址分开。 连接代理将会话分配给可用主机,而管理组件则可提供连接池化、负载均衡、会话重连、监控和策略控制。
合作伙伴 Linux VDI 产品可通过Azure 市场获得。 产品功能有所不同,因此请将以下因素与你自己的应用程序和网络条件进行比较:
- 支持原生客户端和浏览器。
- 连接代理和主机池管理。
- 断开连接或网络更改后会话持久性。
- 图形加速和支持的 GPU 供应商。
- 标识集成和多重身份验证。
- 剪贴板、本地驱动器、打印机和其他设备重定向控件。
- 许可、供应商支持和运营所有权。
- 协议在预期延迟和丢包率范围内的性能。
使用具有代表性的应用程序、数据集、显示分辨率和用户位置来基准候选解决方案。 仅合成图形基准不会预测交互式用户体验。
ThinLinc 是一种合作伙伴远程桌面产品,可以通过本机客户端或浏览器提供持久 Linux 会话。 它不限于基于 NVIDIA 的部署。 但是,配套Azure部署文章重点介绍独立的 NVIDIA GPU 设计,因为该配置提供了加速可视化的记录路径。
访问和安全注意事项
图形桌面是 VM 及其数据的交互式入口点。 将这些控件应用于任何 Linux 远程桌面或 VDI 体系结构:
- 通过点到站点 VPN、站点到站点 VPN 或 ExpressRoute 使用专用连接。 仅在所选客户端和协议支持该连接模型时才使用Azure Bastion隧道。
- 避免为生产会话主机使用公共 IP 地址。 如果需要临时公共访问,请限制网络安全组规则到受信任的源范围,并在评估后删除规则。
- 仅公开所选产品所需的端口。 使管理接口保持私密。
- 将自签名 Web 证书替换为受信任的证书颁发机构颁发的证书。
- 与组织标识控件集成,并在产品支持时需要多重身份验证。
- 根据数据处理要求限制剪贴板、文件传输、驱动器映射、打印和其他重定向功能。
- 通过测试的映像生命周期修补操作系统、桌面软件、远程访问组件和图形驱动程序。
成本和操作注意事项
Linux 桌面成本取决于 VM 的运行时间、每个主机共享的用户数以及工作负荷是否需要 GPU。 请考虑以下成本和管理因素:
- 释放空闲虚拟机的分配,从而停止计算资源计费。 已停止但仍已分配的虚拟机将继续产生计算资源费用。
- 当使用情况遵循可预测的小时数时,请使用计划或自动缩放。
- 根据图形内存和应用程序要求调整 GPU VM 的大小,而不是选择最大的可用大小。
- 将持久性每用户 VM 与共享主机进行比较。 共享主机可以提高利用率,但需要中转、容量规划和工作负荷隔离。
- 在总成本中包含软件许可、支持、映像维护、监视、存储和网络出口。
后续步骤
- 按照 将 xrdp 与 Linux 配合使用 中的说明配置基本桌面环境。
- 按照在 Azure 上使用 ThinLinc 部署 GPU 加速的 Linux 虚拟桌面中的说明,部署独立加速桌面。
- 了解加速的 Linux 会话的工作原理,请参阅 Azure 上 HPC 工作负载的远程可视化。