Skip to main content

2026 年 9 月 2 日

管理 OpenStack 提供程序部署的映像

要添加 OpenStack 映像以与 Horizon Cloud on OpenStack Edge 一起使用,必须先在 Private Cloud Director 中添加映像,或使用 OpenStack 开源解决方案定义映像。Horizon Cloud 映像管理系统 (Image Management System, IMS) 当前不适用于 Horizon Cloud on OpenStack。

注意:Horizon Cloud on OpenStack 当前仅以有限可用性 (LA) 模式提供。

此示例过程假定使用 Platform9 Private Cloud Director (PCD) 主机环境,而不是使用 OpenStack 开源解决方案提供程序。示例屏幕仅用于在执行相关步骤时提供流程指导。

步骤 1 - 上载 Windows 和 VirtIO ISO 文件

  1. 获取 Windows 桌面 .iso。

  2. 获取适用于 Windows 的 KVM VirtIO 驱动程序 .iso。有关详细信息,请参阅 Fedora 文档中的使用 virtIO 驱动程序创建 Windows 虚拟机

  3. 登录到 Private Cloud Director 控制台,然后单击虚拟机 > 映像 > 添加映像

    显示“添加映像”按钮的 PCD 屏幕

  4. 选择 .iso 文件,为其命名,然后选择 iso 作为磁盘格式。选择添加映像以开始上载过程。

    显示 iso 选择选项的 PCD 屏幕

  5. 对 VirtIO Windows 驱动程序 .iso 文件重复上述步骤。

步骤 2 - 为 Windows 和 VirtIO .iso 文件创建可连接卷

  1. 在 Private Cloud Director 控制台中,单击存储 > ,然后选择创建新卷

    显示“创建新卷”选项的 PCD 屏幕

  2. 选择映像作为源,然后搜索并选择上载的 Windows .iso 文件。

    显示映像源选择的 PCD 屏幕

  3. 为新卷指定一个名称,并确保其大小略大于 .iso。此外,请确保将此卷标记为可引导,以便可用于引导 Windows 安装。

    显示新卷名称和可引导大小的 PCD 屏幕

  4. 对 VirtIO Windows 驱动程序 .iso 重复上述步骤。请注意,您不需要将 VirtIO 卷标记为可引导。

步骤 3 - 通过命令行创建 Windows 虚拟机

  1. 确保系统上已安装 OpenStack Client CLI 工具。请参阅 OpenStack 产品文档中的安装 OpenStack 命令行客户端

  2. 要获取所需的环境变量,请选择 PCD 控制台右上角的齿轮图标,然后选择 API 访问

    显示齿轮图标和“API 访问”按钮的 PCD 屏幕

  3. 将环境变量复制到临时文本文件。稍后您需要复制并粘贴这些环境变量。

    显示齿轮图标和“API 访问”按钮的 PCD 屏幕

  4. 确保您具有到基础架构主机的直接网络连接(VPN 或 LAN)。

    在后续步骤中,将在 PCD 中创建虚拟机。您必须使用 CLI 完成以下后续步骤。无法通过 UI 创建具有所需参数的虚拟机。

  5. 在设备上打开终端以开始创建虚拟机的过程。将您从上一步复制的环境变量粘贴到终端中。请务必使用您的特定值更新环境变量值,例如 OS_USERNAMEOS_PASSWORD

    显示复制和粘贴环境变量命令的终端窗口

    环境变量命令示例如下所示:

    export OS_USERNAME=MyName@companyname.com
    export OS_PASSWORD=MySecretPassword
    export OS_AUTH_URL=https://hcs-regionone.app.staging-pcd.platform9.com/keystone/v3
    export OS_AUTH_TYPE=password
    export OS_IDENTITY_API_VERSION=3
    export OS_REGION_NAME=RegionOne
    export OS_USER_DOMAIN_NAME=Default
    export OS_PROJECT_DOMAIN_NAME=Default
    export OS_PROJECT_NAME=service
    export OS_INTERFACE=public
    
  6. 按照如下所示为 Virtual Machine Volume NameVirtual Machine Name 添加两个新的环境变量。

    export VM_VOL_NAME=APM-W11-Vol1
    export VM_NAME=APM-W11-MasterImage
    
  7. 为虚拟机创建新卷(C: 的虚拟硬盘)。下面显示的命令行示例使用您刚创建的 $VM_VOL_NAME 变量。

    openstack volume create --size 80 -- bootable $VM_VOL_NAME

  8. 复制新创建卷的 ID,并为卷 ID 创建一个新变量。命令和引用映像示例如下所示。

    export VM_VOL_ID=3df9859e-e10f-438b-88b1-8ef109f8a1d6

    显示要用于 VM_VOL_ID 变量值的 id 的终端窗口

  9. 在同一终端窗口中,设置 Windows 卷所需的参数。命令示例如下所示:

    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 \
    $VM_VOL_NAME
    
  10. 找到 Windows .iso 卷的卷 ID。

    openstack volume list

  11. 复制 Windows .iso 卷的 ID,并为 Windows .iso 卷创建一个新变量。

    export WINISO_VOL_ID=de8c8727-b77d-4335-be7f-7d580046c82f

  12. 复制 VirtIO .iso 卷的 ID,并为 VirtIO .iso 卷创建一个新变量。

    export VIRTIO_VOL_ID=d1f6b83a-512a-41b9-a59c-52643adf87e

  13. 确定虚拟机的网络 ID。

    openstack network list

  14. 创建虚拟机。请注意,Server 术语在 OpenStack 中指代虚拟机。

    **注意:**确保将 $WINISO_VOL_ID 设置为 boot_index=2,以便在没有操作系统时它会首先引导,而 Windows 卷在安装完成后将优先引导。

    openstack server create \
    --flavor m1.medium \
    --network $NETWORK_ID \
    --block-device source_type=volume,uuid=$VM_VOL_ID,destination_type=volume,device_type=disk,boot_index=0 \
    --block-device source_type=volume,uuid=$WINISO_VOL_ID,destination_type=volume,device_type=cdrom,boot_index=1 \
    --block-device source_type=volume,uuid=$VIRTIO_VOL_ID,destination_type=volume,device_type=cdrom,boot_index=2 \
    $VM_NAME
    

步骤 4 - 在虚拟机中安装 Windows

  1. 在 PCD 控制台中,单击左侧窗格导航中的虚拟机,然后单击虚拟机选项卡以找到并选择您的虚拟机(例如 APM-W11-MasterImage)。

  2. 单击控制台以查看虚拟机的控制台窗口。

  3. 继续执行安装过程,直到系统提示您提供安装位置。

  4. 当系统提示选择安装 Windows 11 的位置时,单击加载驱动程序

    KVM 虚拟机磁盘本身没有可用的驱动程序。必须使用 VirtIO .iso 安装驱动程序才能继续。

  5. 找到 virtio-win 挂载的 .iso,然后选择 E:\amd64\w11 文件夹。此文件夹包含 VirtIO 磁盘控制器的驱动程序。

    显示 virt-win 选择的安装驱动程序窗口

  6. 继续正常安装 Windows。

  7. 当系统提示这是正确的国家或地区吗? 时,按照提示按 Ctrl+Shift+F3 进入审核模式

  8. Windows 重新引导时,找到 virtio-win 挂载的 .iso 并从磁盘安装 VirtIO-Win-Drivers

    显示 VirtIO-Win-Drivers 选择的安装驱动程序窗口

  9. 安装驱动程序后,重新引导虚拟机以为后续步骤做准备。

步骤 5 - 下载并安装 Horizon Agent

  1. 登录到 Omnissa Customer Connect 帐户,并在 Horizon Agents Installer 64 位中下载最新的 Horizon Agents Installer (HAI)。

  2. 接受默认安装参数(可以选择启用其他复选框),选中成功完成时自动重新启动系统复选框,然后单击继续安装

步骤 6 - 安装和配置 Cloudbase-Init

  1. 下载 Cloudbase-init。请参阅 Cloudbase-init

    无需指定任何详细信息即可下载安装程序。向下滚动页面,直到看到显示否,只是显示下载链接,然后单击该链接。

  2. 选择以 LocalSystem 身份运行 Cloudbase-Init 服务

  3. 安装 Cloudbase-Init 后,转到 C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf 并打开 cloudbase-init.conf

  4. 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
    allow_reboot=false
    
  5. 按照 Horizon 产品文档中的为远程桌面部署准备客户机 Windows 操作系统所述准备客户机操作系统,但以下情况除外:

    • 忽略引导您安装 Omnissa Tools 的步骤。
    • 不要将虚拟机添加到域。
    • 在此阶段,不要使用 Sysprep 进行通用化。

步骤 7 - 下载并运行 Windows OS Optimization Tool for Horizon

  1. 从 Omnissa Customer Connect 的下载 OS Optimization Tool 中下载最新的 OS Optimization Tool。

  2. 从 OS Optimization Tool (OSOT) 顶栏菜单中,选择优化以运行 Windows OS Optimization Tool 的优化阶段。

    显示如何运行该工具“优化”阶段的 OS Optimization Tool

  3. 单击分析按钮,然后单击优化按钮以为虚拟机指定选定的优化。

    显示“分析”按钮的 OS Optimization Tool

    显示“优化”按钮的 OS Optimization Tool

  4. 从之前选择“优化”的同一 OSOT 顶栏菜单中,选择通用化以运行 Windows OS Optimization Tool 的通用化阶段。

  5. 在生成的“说明”页面上,将管理员密码字段留空,确保自动重新启动复选框处于启用状态,然后单击通用化

    虚拟机重新引导后,将不再处于审核模式,并将自动以管理员帐户登录。

    潜在问题和解决办法: 如果通用化失败且虚拟机未自动重新引导,请查看位于 C:\Windows\System32\Sysprep\Panther 的日志文件。如果看到类似于以下内容的日志条目内容:

    BiUpdateEfiEntry failed c000000d
    BiExportBcdObjects failed c000000d
    BiExportStoreAlterationsToEfi failed c000000d
    Failed to export alterations to firmware. Status: c000000d
    

    之后,请在虚拟机上尝试以下解决办法:

    1. 转到开始 > 运行 > tpm.msc
    2. 在右侧面板中选择清除 TPM
    3. 当系统提示重新引导时,选择确定,然后计算机应会按预期继续。
  6. 在虚拟机上创建一个备份本地管理员帐户,以便在禁用内置管理员账户时提供一种登录该计算机的方式。

    显示如何创建备份本地管理员帐户的 Windows 操作系统系统管理员屏幕

  7. 出于安全目的,请为管理员帐户设置密码。

  8. 从之前选择“通用化”的同一 OSOT 顶栏菜单中,选择“完成”以运行 Windows OS Optimization Tool 的完成阶段。

  9. 从打开的页面中,接受默认的复选框选中状态,然后单击完成

    此操作需要几分钟时间才能完成。请先让优化工具完成这一阶段,然后再继续。

步骤 8 - 完成部署的快照虚拟机配置

  1. 在 Private Cloud Director 控制台中,通过选择虚拟机(例如 APM-GoldenImage-v1)并单击电源操作 > 停止,关闭虚拟机电源。电源操作菜单可通过单击 UI 最右侧的 3 个垂直点打开。

  2. 同样通过上述 UI 最右侧的 3 个竖点中,单击其他操作 > 管理卷

  3. 仅分离 VirtIO 和 Windows 安装程序卷。示例屏幕如下所示。

    显示 2 个要分离项目的“管理卷”屏幕

  4. 编辑快照虚拟机,并设置 block_device_mapping 属性以设置 "delete_on_termination": true

  5. 在左侧窗格导航中,单击虚拟机 > 映像。选择虚拟机快照选项卡,然后选择您的快照。

  6. 选择编辑属性,然后找到 block_device_mapping 属性。在其值字段中,找到名为 delete_on_termination 的键,将其值从 false 更改为 true,然后单击更新属性

    显示块设备映射属性和“更新属性”按钮的“编辑属性”页面

此页面对您有帮助吗?

对本主题提供反馈

本主题对您有帮助吗?

请勿填写任何个人信息或机密信息。

正在生成链接…