7.10. 使用 Sysprep 自动配置虚拟机

Sysprep 是一种用于自动设置 Windows 虚拟机的工具,例如配置主机名、网络接口、授权密钥、设置用户或连接到 Active Directory。Sysprep 会随每个版本的 Windows 一起安装。

Red Hat Virtualization 利用虚拟化技术基于单个模板部署虚拟工作站,从而增强了 Sysprep。Red Hat Virtualization 为每个虚拟工作站构建定制的自动回答文件。

Sysprep 会生成一个完整的无人值守安装应答文件。多个 Windows 操作系统的默认值可在 /usr/share/ovirt-engine/conf/sysprep/ 目录中找到。您还可以创建自定义 Sysprep 文件,并从 /etc/ovirt-engine/osinfo.conf.d/ 目录的 osinfo 文件中引用该文件。这些文件充当 Sysprep 的模板。可以根据需要复制和编辑这些文件中的字段。此定义将覆盖 Edit Virtual Machine 窗口上 Initial Run 字段中输入的任何值。

您可以在创建 Windows 虚拟机池时创建自定义 sysprep 文件,以适应各种操作系统和域。详情请参阅 管理指南 中的 创建虚拟机池

覆盖文件必须在 /etc/ovirt-engine/osinfo.conf.d/ 下创建,其文件名将其放置在 /etc/ovirt-engine/osinfo.conf.d/00-defaults.properties 下,并以 .properties 结束。例如: /etc/ovirt-engine/osinfo.conf.d/10-productkeys.properties。最后一个文件将具有优先权并覆盖任何其他文件。

将 Windows 操作系统的默认值从 /etc/ovirt-engine/osinfo.conf.d/00-defaults.properties 复制到覆盖文件,并在 productKey.valuesysprepPath.value 字段中输入您的值。

例 7.2. Windows 7 默认配置值

# Windows7(11, OsType.Windows, false),false
os.windows_7.id.value = 11
os.windows_7.name.value = Windows 7
os.windows_7.derivedFrom.value = windows_xp
os.windows_7.sysprepPath.value = ${ENGINE_USR}/conf/sysprep/sysprep.w7
os.windows_7.productKey.value =
os.windows_7.devices.audio.value = ich6
os.windows_7.devices.diskInterfaces.value.3.3 = IDE, VirtIO_SCSI, VirtIO
os.windows_7.devices.diskInterfaces.value.3.4 = IDE, VirtIO_SCSI, VirtIO
os.windows_7.devices.diskInterfaces.value.3.5 = IDE, VirtIO_SCSI, VirtIO
os.windows_7.isTimezoneTypeInteger.value = false

7.10.1. 在模板中配置 Sysprep

您可以使用此流程指定要包含在模板中的一组标准 Sysprep 设置,也可以在基于此模板创建虚拟机时配置 Sysprep 设置。

可以使用替换字符串替换 /usr/share/ovirt-engine/conf/sysprep/ 目录中默认文件中提供的值。例如,"& lt;Domain><![CDATA[$JoinDomain$"]></Domain>" 可用于指示要加入的域。

重要

请勿在 Sysprep 运行时重启虚拟机。

先决条件

  • Windows 虚拟机参数已正确定义。

    如果没有,请单击 ComputeVirtual Machines,再单击 Edit,然后在 Operating SystemCluster 字段中输入所需的信息。

  • 管理器上的覆盖文件中定义了正确的产品密钥。

使用 Sysprep 准备模板

  1. 使用所需的补丁和软件构建 Windows 虚拟机。
  2. 封装 Windows 虚拟机。请参阅准备 作为模板进行部署的封装虚拟机
  3. 基于 Windows 虚拟机创建模板。请参阅从现有虚拟机创建模板
  4. 如果需要其他更改,请使用文本编辑器更新 Sysprep 文件。

您现在可以使用此模板调配新的虚拟机。

7.10.2. 使用 Sysprep 初始化虚拟机

使用 Sysprep 自动执行 Windows 虚拟机的初始配置。您可以使用 Sysprep 字段配置虚拟机的主机名、时区、root 密码、授权密钥、网络接口和 DNS 服务。

使用 Sysprep 初始化虚拟机

此流程使用一组 Sysprep 设置启动虚拟机。如果基于虚拟机的模板中包含相关设置,请检查设置并根据需要进行修改。

  1. 基于所需 Windows 虚拟机的模板创建新的 Windows 虚拟机。请参阅基于模板创建虚拟机。
  2. 单击 ComputeVirtual Machines,再选择虚拟机。
  3. 单击 Run 下拉菜单,再选择 Run Once
  4. 展开引导选项部分,选中附加软盘复选框,然后选择 [sysprep] 选项。
  5. 选择 Attach CD 复选框,然后从下拉列表中选择所需的 Windows ISO。
  6. CD-ROM 移到 Boot Sequence 字段的顶部。
  7. 根据需要配置任何其他 Run Once 选项。如需了解更多详细信息,请参阅 虚拟机 Run Once 设置
  8. 点击 确定