12.2. 创建虚拟机池

您可以根据通用模板创建包含多个虚拟机的虚拟机池。有关密封虚拟机并 创建模板的信息,请参阅虚拟机管理指南 中的模板

sysprep 文件配置选项用于 Windows 虚拟机

根据您的要求,可以使用几个 sysprep 文件配置选项。

如果您的池不需要加入一个域,您可以使用默认的 sysprep 文件,位于 /usr/share/ovirt-engine/conf/sysprep/

如果您的池需要加入域,您可以为每个 Windows 操作系统创建一个自定义 sysprep

  1. 将每个操作系统的相关部分从 /usr/share/ovirt-engine/conf/osinfo-defaults.properties 复制到新文件,并将它保存为 99-defaults.properties
  2. 99-defaults.properties 中,指定 Windows 产品激活码以及新自定义 sysprep 文件的路径:

    os.operating_system.productKey.value=Windows_product_activation_key
    ...
    os.operating_system.sysprepPath.value = ${ENGINE_USR}/conf/sysprep/sysprep.operating_system
  3. 创建一个新的 sysprep 文件,指定域、域密码和域管理员:

        <Credentials>
            <Domain>AD_Domain</Domain>
            <Password>Domain_Password</Password>
            <Username>Domain_Administrator</Username>
        </Credentials>

如果您需要为 Windows 虚拟机的不同池配置不同的 sysprep 设置,您可以在管理门户中创建自定义 sysprep 文件(请参阅以下 创建虚拟机池 )。如需更多信息 ,请参阅《虚拟机 指南》 中的"使用 Sysprep 自动配置虚拟机"。

创建虚拟机池

  1. ComputePools
  2. 单击 New
  3. 从下拉列表中选择 Cluster
  4. 从下拉菜单中选择一个 Template 和 version。模板提供了池中所有虚拟机的标准设置。
  5. 从下拉列表中选择 Operating System
  6. 使用 Optimized for 下拉列表为 DesktopServer 优化虚拟机。

    注意

    不建议对池进行 高性能 优化,因为高性能虚拟机被固定到单个主机和拥塞资源。包含具有这种配置的虚拟机的池不佳。

  7. 输入 Name 和 (可选) 描述和 注释

    池的 Name 应用于池中每个虚拟机,带有数字后缀。您可以使用 ? 作为占位符自定义虚拟机的数量。

    例 12.1. 池名称和虚拟机编号示例

    • pool: MyPool

      虚拟机:MyPool-1, MyPool-2, …​ MyPool-10

    • 池: MyPool-??

      虚拟机: MyPool-001,MyPool-002, …​ MyPool-010

  8. 为池输入虚拟机数量
  9. Prestarted 字段中输入要预先启动的虚拟机数量。
  10. 选择允许单个 用户在会话中运行的最大 VM 数量。最小值为 1
  11. 选择 Delete Protection 复选框来启用删除保护。
  12. 如果您要创建非 Windows 虚拟机池,或者如果您使用默认的 sysprep,请跳过这一步。如果您要为 Windows 虚拟机池创建自定义 sysprep 文件:

    1. Show Advanced Options 按钮。
    2. 单击 Initial Run 选项卡,再选中 Use Cloud-Init/Sysprep 复选框。
    3. Authentication 箭头,输入 User NamePassword,或选择 Use already configured password

      注意

      用户名是本地管理员的名称。您可以在 Authentication 部分或自定义 sysprep 文件中从此处更改其值(用户)。

    4. 单击 Custom Script 箭头,并将默认 sysprep 文件的内容(位于 /usr/share/ovirt-engine/conf/sysprep/ )粘贴到文本框中。
    5. 您可以修改 sysprep 文件的以下值:

      • 密钥.如果您不想使用预定义的 Windows 激活密钥,请将 < ![CDATA[$ProductKey$]> 替换为有效的产品键:

            <ProductKey>
                <Key><![CDATA[$ProductKey$]]></Key>
            </ProductKey>

        例 12.2. Windows 产品密钥示例

        <ProductKey>
            <Key>0000-000-000-000</Key>
        </ProductKey>
      • Windows 虚拟机要加入的 Domain,域的 Password,以及域管理员的 Username

            <Credentials>
                <Domain>AD_Domain</Domain>
                <Password>Domain_Password</Password>
                <Username>Domain_Administrator</Username>
            </Credentials>

        例 12.3. 域凭证示例

        <Credentials>
            <Domain>addomain.local</Domain>
            <Password>12345678</Password>
            <Username>Sarah_Smith</Username>
        </Credentials>
        注意

        需要 DomainPasswordUsername 来加入该域。Key 用于激活。您无需同时需要两者。

        Initial Run 选项卡中无法修改域和凭证。

      • 本地管理员 FullName:

            <UserData>
            …​
                <FullName>Local_Administrator</FullName>
            …​
            </UserData>
      • 本地管理员的 DisplayNameName

            <LocalAccounts>
                <LocalAccount wcm:action="add">
                    <Password>
                        <Value><![CDATA[$AdminPassword$]]></Value>
                        <PlainText>true</PlainText>
                    </Password>
                    <DisplayName>Local_Administrator</DisplayName>
                    <Group>administrators</Group>
                    <Name>Local_Administrator</Name>
                </LocalAccount>
            </LocalAccounts>

        可在 Initial Run 选项卡中填写 sysprep 文件中的其余变量。

  13. 可选。设置 池类型

    1. Type 标签页并选择 Pool Type

      • 手动 - 管理员负责将虚拟机明确返回到池。
      • 自动 - 虚拟机自动返回到虚拟机池。
    2. 选中 Stateful Pool 复选框,以确保虚拟机以有状态模式启动。这样可确保上一个用户所做的更改将保留在虚拟机上。
    3. 点击 OK
  14. 可选。覆盖 SPICE 代理:

    1. 控制台选项卡中,选中覆盖 SPICE 代理复选框。
    2. Overridden SPICE 代理地址地址 字段中,指定 SPICE 代理的地址来覆盖全局 SPICE 代理。
    3. 点击 OK
  15. 对于 Windows 虚拟机池,点 ComputeVirtual Machines,然后点 RunRun Once

    注意

    如果虚拟机没有启动,并在 %WINDIR%\panther\UnattendGC\setupact.log 中存在 Info [windeploy.exe] Found no unattend file,将 UnattendFile 键添加到用于创建池模板的 Windows 虚拟机的 registry 中:

    1. 检查 Windows 虚拟机是否使用 unattend 文件连接的软盘设备,例如 A:\Unattend.xml
    2. Start,点 Run,在 Open 文本框中键入 regedit,然后点 OK
    3. 在左侧窗格中,前往 HKEY_LOCAL_MACHINESYSTEM设置
    4. 右键单击右侧窗格并选择 NewString Value
    5. 输入 UnattendFile 作为密钥名称。
    6. 双击新密钥并输入 unattend 文件名和路径,例如 A:\Unattend.xml 作为密钥值。
    7. 保存 registry,密封 Windows 虚拟机,并创建一个新模板。详情请参阅 虚拟机管理指南 中的模板

您已创建并配置了指定数量的相同虚拟机的虚拟机池。您可以在 ComputeVirtual Machines 中查看这些虚拟机,或者通过点击池的名称打开其详情视图;池中的虚拟机通过其图标与独立的虚拟机区分开。