Citrix 工作负载的参考体系结构
本文档是部署 XenServer 以运行 Citrix 工作负载的蓝图,用于最常见的商业规模部署,可以从几百个扩展到几千个 VDA。无论使用 Citrix Virtual Apps and Desktops 还是 Citrix DaaS,此参考体系结构均有效。企业规模的部署可能还有本参考体系结构中未涵盖的其他注意事项。请使用本文档旁边的 XenServer 产品文档。
蓝图
主机和资源池层
- XenServer 主机应属于资源池的一部分,建议最多包含 16 台主机。
- 同一个资源池中的 XenServer 主机必须具有与 CPU 相同的供应商、型号和功能,以及相同的内存量。
- 不应过度使用内存。主机中需要的内存与 VM 已分配的内存一样多。
- 有关本地存储要求和主机内存注意事项,请参阅 Citrix Provisioning 工作负载部分。
网络层
- XenServer 主机的网卡速度应为 10 Gbps 或更高。
- XenServer 主机应至少配备 4 个网卡:2 个绑定对,其中 1 对专用于存储流量,1 对用于 VM 和管理流量。
- 如果需要,外部交换机上的 VLAN 可用于进一步分隔存储、VM 和管理流量,以满足安全最佳实践。
存储层
- 建议使用共享存储,以确保 VM 可以在主机之间迁移。
- 使用 Machine Creation Services (MCS) 时,建议使用 NFS 或 SMB。
- 使用 Citrix Provisioning 时,任何支持的存储选项均有效。
- 请按照网络层部分中的概述隔离存储网络连接流量。
Citrix 映像预配层
Citrix Machine Creation Services (MCS) 和 Citrix Provisioning Services 可以单独使用,也可以组合使用,为 XenServer 预配 VDA。
Citrix Provisioning 工作负载
如果使用 Citrix Provisioning,我们建议您启用 XenServer 功能 PVS 加速器。
- 建议您积极使用的每个虚拟磁盘版本在每台主机上配置 5 GB 的缓存。
- 如果有足够的可用内存,建议使用内存缓存而非磁盘缓存。
- 如果使用磁盘缓存,则建议使用本地存储。
Machine Creation Services 工作负载
如果使用 Citrix Machine Creation Services,我们建议您同时使用 Intellicache 和存储读取缓存。
Intellicache:
- 在安装 XenServer 期间,通过选择“Enable thin provisioning (Optimized storage for Virtual Desktops)”(启用精简预配(Virtual Desktops 的优化存储))来启用 Intellicache。
- Intellicache 使用本地存储来存储缓存。
- XenServer 主机应配备支持 512 字节扇区(或者可以模拟 512 字节扇区)的企业级 SSD 或 NVME 驱动器。
- 建议使用 NFS 或 SMB 共享存储,因为 VDA 必须允许使用 IntelliCache 实现完全精简预配的解决方案。
- 从 Citrix 创建主机连接时,请确保选择 IntelliCache 选项。
存储读取缓存:
- 在每台 XenServer 主机上,将 Dom0 内存增加 10 GB 以提供空间。
设计决策
本部分内容提供了有关蓝图配置的原因以及其他潜在配置选项的更多详细信息。
主机和资源池层
-
虽然 XenServer 可以支持最多包含 64 台主机的资源池,但是将资源池限制为 16 台主机可确保在工作日内实现执行更新所需的时间(即使需要重新启动主机)。此外,对故障的适应能力有所提高,故障(如果发生故障)的影响仅限于此组主机。
-
将 VM 分配给 XenServer 资源池时,请确保有足够的容量来运行所有 VM,并且至少有 1 台主机不可用。这样无需 VM 中断即可对池进行维护操作。
-
如果同一个资源池中的 XenServer 主机具有不同的内存量,内存量最小的 XenServer 主机必须能够支持故障转移或升级期间在其上放置的工作负载。
-
同一个资源池中的 XenServer 主机应位于同一个网络中,位于相同的数据中心或物理位置,并且只能由 L2 交换机(非路由器)隔开。
-
为位于不同网络或不同物理位置的每组 XenServer 主机创建单独的资源池。
-
不建议在 Citrix 工作负载/VDA 中使用 XenServer 高可用性。
- 由于 Citrix Virtual Apps and Desktops 工作负载是动态创建和销毁的固有方式,因此通常不需要 VM 级别的保护
- Citrix Virtual Apps and Desktops 部署中的高可用性可能有助于处理硬件故障或虚拟机管理程序崩溃问题。但是,启用高可用性后,任何临时中断(网络或存储基础结构)导致主机“隔离”以确保安全的风险就会增加,从而导致(最终用户)服务中断,而这些中断本来可能不会发生。
- 如果可能,将 VDA 拆分到多个池可确保池出现故障时的可用性。
- 分配给任何一台主机上的 VM 的 vCPU 总数不应超过该主机的物理 CPU 线程数。
网络层
为您的主机提供的其他网卡选项:
- 6 个网卡:3 个绑定对,其中 1 对专用于存储流量,1 对专用于 VM 流量,1 对专用于管理流量。
- 3 个网卡:1 个网卡专用于存储流量,1 个网卡专用于 VM 流量,1 个网卡专用于管理流量。
- 2 个网卡:1 个网卡专用于存储流量,1 个网卡用户 VM 和管理流量。
Citrix Provisioning 层
-
请尽量减少每个资源池中使用的不同黄金映像的数量,以充分利用可用的缓存技术。
每个映像都使用缓存。黄金映像越多,缓存变满和效率降低的可能性就越大。随着黄金映像数量的增加,增大缓存也可能会在这方面有所帮助。
Intellicache
使用 Intellicache 时,如果您使用基于块的存储,我们建议您使用完全预配 (LVM) 模式。此模式与 IntelliCache 兼容(它将支持在较旧/较慢的存储设备上更快地运行 VM)。某些块存储文件管理器提供精简预配,可以使用,但必须注意避免空间不足的情况。
参考资料
- XenServer 产品文档:https://docs.xenserver.com/en-us/xenserver/8/
- XenServer 技术概述:https://docs.xenserver.com/en-us/xenserver/8/technical-overview
- XenCenter 入门:https://docs.xenserver.com/en-us/xencenter/current-release/intro-welcome