为 Horizon Cloud on OpenStack Edge 部署配置所需的网络设置和负载均衡器设置。
注意:Horizon Cloud on OpenStack 当前仅以有限可用性 (LA) 模式提供。
Edge 和负载均衡器网络要求
Edge 虚拟机需要从为该 Edge 虚拟机确定的管理网络中获取一个静态 IP,以及一个可解析的 FQDN(DNS 基础架构中的 A 记录),以允许桌面虚拟机进行访问。
当前仅支持指定为外部 vLAN 的物理网络。所需的三个物理网络和子网是 DMZ、管理和桌面。
-
DMZ 子网 - 最终用户必须能够访问该子网上用于 UAG 的 DMZ 网络接口。这需要至少两个连续的静态或预留 IP,对于较大的 UAG 集群,最多可扩展至十个。
-
管理子网 - 此子网可用于部署 Edge 虚拟机、多网卡模型中 UAG 的管理接口以及 VDI 所需的其他基础架构。
-
桌面子网 - 此子网适用于桌面虚拟机,这些桌面虚拟机必须连接到 Edge 虚拟机和 Active Directory(管理)。
-
需要为 Edge 虚拟机分配一个来自管理网络的静态 IP 地址,且该 IP 必须具备可解析的 FQDN(DNS 中的“A”记录),以便桌面虚拟机能够连接。
-
对于多 UAG 部署,FQDN 的 DNS A 记录条目必须解析为负载均衡器的 VIP。
-
确保在网络防火墙中允许并打开 Horizon Cloud on OpenStack Edge 的端口和协议要求中所述的所有必需 URL 和端口,以支持 Horizon Cloud 防火墙。
-
Omnissa Edge URL 检查器工具(也称为 PreReqCheck 连接验证工具包)可用于验证 URL 可访问性和端口。该工具包含用于根据所需的 Horizon Cloud Service URL 和端口验证 Edge、UAG 和桌面网络连接的脚本。这些脚本会测试 HTTP/HTTPS 端点和非 HTTP (TCP/UDP) 端口,以确保所有必需的连接均可访问。
-
您可以添加一个由客户管理的本地负载均衡器,将其配置在 UAG 实例前端。有关添加负载均衡器的信息,请参阅 Omnissa Tech Zone 中的对适用于 Horizon 的 Unified Access Gateway 进行负载均衡。
支持网络端口安全的网络和父虚拟机设置
Horizon Cloud 上用于 OpenStack 的 Horizon Edge 和池要求在部署它们的网络上启用启用端口安全设置。请执行以下步骤以确保在适用的网络上启用 OpenStack port_security 设置。
除了确保允许所有必需的 URL 和端口通过防火墙外,还请参阅 Horizon Cloud on OpenStack Edge 的端口和协议要求。
-
登录到 Private Cloud Director 应用程序,然后导航到网络和安全。
-
单击网络,从列表中选择所需的网络,然后单击编辑。
-
选择启用端口安全,然后单击“编辑网络”页面上的更新网络。
与 UAG 虚拟机相关的网络要求
为支持 Unified Access Gateway (UAG),需要三个网络,这些网络中的 portGroup 需要在相应的 VLAN 上使用静态或预留 IP。部署一对 UAG 需要 IP 范围至少包含 2 个连续 IP。具体要求如下所述:
-
对于 DMZ 网络,必须能够从最终用户所连接的网络访问 UAG 的 DMZ 网络接口将要连接的 portGroup。静态 IP 范围的最低要求为 2 个连续 IP,例如,需要使用 10.202.155.30-10.202.155.39 才支持将 UAG 集群增长到 10。
-
对于管理网络,与 UAG 管理网络接口相连的 portGroup 也是用于部署 Edge 虚拟机的 portGroup。静态 IP 范围的最低要求为 2 个连续 IP,例如,需要使用 172.20.241.30-172.202.155.39 才支持将 UAG 集群增长到 10。
-
对于桌面网络,与 UAG 桌面网络接口相连的 portGroup 也是用于部署桌面虚拟机的 portGroup。虚拟机必须能够访问 Edge 虚拟机和 Active Directory 基础架构。静态 IP 范围的最低要求为 2 个连续 IP,例如,需要使用 192.168.240.30-192.168.240.39 才支持将 UAG 集群增长到 10。
**注意:**您可以使用 Omnissa Edge URL 检查器工具来验证网络要求。
此外,对于部署包含多个 UAG 的场景,必须为 UAG FQDN 创建一个可将自身解析为负载均衡器 VIP 的 DNS 条目。
OpenStack Edge 的父虚拟机设置
在开始创建父虚拟机之前,必须从第三方下载以下附加软件。
- 最新的 Omnissa HAI 代理,可从 Omnissa Customer Connect 下载。
- 最新的稳定版 VirtIO ISO,需作为映像上载到 Private Cloud Director,如以下步骤中所示。
- 最新的稳定版
cloudbase-init文件,需在安装完成后复制到 Windows 操作系统。
-
在 Platform9 中从头创建 Windows 虚拟机 (VM),或通过克隆现有虚拟机进行创建。
-
将 Windows 11 安装 ISO 作为映像上载。运行以下命令,从 Windows 11 ISO 文件创建 OpenStack Platform9 映像资源。此映像稍后将用于创建可引导卷。
openstack image create en-us_windows_11_business_editions_version_24h2_updated_sep_2025_x64 --os-interface admin --insecure --disk-format iso --container-format bare --file Windows ISO filepath -
将 VirtIO 驱动程序 ISO 作为映像上载。在 OpenStack Platform9 中从适用于 Windows 的 VirtIO 驱动程序 ISO 文件创建另一个映像。
openstack image create virtio-win-0.1.285 --os-interface admin --insecure --disk-format iso --container-format bare --file Windows VirtIO drivers ISO filepath -
创建用于安装 Windows 的目标卷,以允许虚拟机在安装完成后从此卷引导。创建将安装 Windows 的卷。
openstack volume create --size 40 --bootable WINXI-24H2-PRO -
使用上载的 Windows 11 ISO 映像从 Windows 11 ISO 映像创建源引导卷,作为 Windows 11 安装的可引导卷。
openstack volume create --image en-us_windows_11_business_editions_version_24h2_updated_sep_2025_x64 --size 8 --bootable Windows11_24_H2_SEP_2025_Bootable -
从 VirtIO ISO 映像创建卷,以便可以在虚拟机中将其作为虚拟 CD-ROM 设备连接。
openstack volume create --image virtio-win-0.1.285 --size 1 VirtIO-Win-0-1-285 -
在目标引导卷上设置映像属性,而不是在 Windows 安装源上设置。为引导卷配置必要的硬件和固件设置,以支持 Windows 11 安装。
openstack volume set --image-property hw_boot_menu=true --image-property hw_firmware_type=uefi --image-property hw_machine_type=q35 --image-property hw_tpm_model=tpm-crb --image-property hw_tpm_version=2.0 --image-property hw_cdrom_bus=sata --image-property hw_disk_bus=scsi --image-property hw_scsi_model=virtio-scsi --image-property os_secure_boot=required --image-property os_type=windows WINXI-24H2-PRO -
确定网络并获取要用于 Windows 11 虚拟机的网络 UUID。
openstack network list -
获取在步骤 4、5 和 6 中创建的所有 3 个卷的 UUID。
openstack volume list -
使用您之前创建的卷,通过启动具有特定实例、网络和块设备映射的虚拟机,创建虚拟机卷。
openstack server create --flavor m1.medium --network 4c0ce099-8930-4bfc-b587-4fb34e4dc568 --block-device source_type=volume,uuid=84b6636e-76fd-4661-91b7-50dd8f6a652f,destination_type=volume,device_type=disk,boot_index=0 --block-device source_type=volume,uuid=7ffadb59-11de-4489-a4e6-636ea5ce3d98,destination_type=volume,device_type=cdrom,boot_index=1 --block-device source_type=volume,uuid=6d12d90e-3cb1-4e81-851b-31dcff157010,destination_type=volume,device_type=cdrom,boot_index=-1 WINXI-24H2-PROe
**注意:**块设备 (boot_index=0) 是在上述步骤 4 中创建的用于 Windows 安装的 40 GB 目标引导卷。
-
访问用于设置 Windows 操作系统的虚拟机控制台。在用户 OOBE 阶段,不要单击下一步,而是按 <Shift + Ctrl + F3>(+Fn,仅限 macOS)进入审核模式。
-
安装 VirtIO 驱动程序和 Horizon Agent Installer (HAI) 代理。
-
安装 CloudBase-Init:
-
设置 CloudBase-Init (Cloudbase-Init 1.1.6) 和任何其他必要的软件。确保选中作为本地系统运行 Cloudbase-init 服务选项。
-
安装后,导航到安装位置:
C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf。 -
打开
cloudbase-init.conf并将该文件中的现有内容替换为以下内容:[DEFAULT] verbose=true debug=true log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\ log_file=cloudbase-init.log default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN mtu_use_dhcp_config=true ntp_use_dhcp_config=true local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ check_latest_version=false metadata_services=cloudbaseinit.metadata.services.httpservice.HttpService plugins=cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,cloudbaseinit.plugins.common.userdata.UserDataPlugin
-
为远程桌面部署准备客户机 Windows 操作系统。您必须执行特定任务来为远程桌面部署准备客户机 Windows 操作系统。
-
准备 Windows Server 操作系统供桌面使用(仅限多会话)。要将受支持的 Windows Server 虚拟机用作单一会话虚拟桌面(而非用作 RDS 主机),必须先执行某些步骤,然后再在虚拟机中安装 Horizon Agent。此外,还必须配置 Horizon Console,以将 Windows Server 视为供 Horizon 8 桌面使用的受支持的操作系统。
-
在 Windows Server 上安装桌面体验(仅限多会话)。对于已发布的桌面和应用程序,以及在运行 Windows Server 的单一用户虚拟机上部署的虚拟桌面,扫描仪重定向需要在 RDS 主机和单一用户虚拟机上安装桌面体验功能。
-
运行 HorizonOSOT 并选择分析和优化阶段。请参阅 Windows OS Optimization Tool for Horizon 概览。
-
运行 HorizonOSOT,选择通用化阶段,将管理员密码留空,然后选择自动重新启动。
**注意:**此时可能需要再次重新引导。例如,Sysprep 可能会失败并显示警告重新引导挂起。如果发生这种情况,请重新引导以进入审核模式,重新启动 OSOT,然后继续执行通用化阶段。
可能的问题及解决办法
如果通用化操作未能自动重新引导,请查看您的 C:\Windows\System32\Sysprep\Panther\setup*.txt 文件。如果该文件包含以下内容,请继续执行解决办法步骤。
```
BiUpdateEfiEntry failed c000000d
BiExportBcdObjects failed c000000d
BiExportStoreAlterationsToEfi failed c000000d
Failed to export alterations to firmware. Status: c000000d
```
解决办法步骤:
-
单击开始并选择
run tpm.msc。清除右侧面板中的 tpm,然后在系统提示重新引导时,选择确定。 -
创建一个新用户并将其添加到管理员组,如下所示:
a) 启动 Windows 资源管理器,右键单击此电脑,然后单击显示更多选项 > 管理。
b) 展开本地用户和组 > 用户,右键单击新建用户并提供用户名和密码。取消选中用户必须在下次登录时更改密码,选择密码永不过期,然后单击创建。
c) 单击组 > 管理员 > 添加,然后输入上述步骤中的用户名,在弹出窗口中单击确定,然后再次单击确定。
d) 设置内置管理员用户的密码。 -
启动 OSOT 并运行完成阶段。
-
关闭虚拟机并分离安装源卷和 VirtIO 驱动程序卷。
-
生成虚拟机快照。
-
创建快照后,选择该快照,单击编辑属性,然后确认终止时删除键设置为 True (
"delete_on_termination": true),以查看block_device_mapping属性。
此页面对您有帮助吗?