6.7. 克隆桌面

6.7.1. 如何克隆桌面(Oracle VDI 虚拟机管理程序 [hypervisor])
6.7.2. 如何克隆桌面 (VMware vCenter)
6.7.3. 如何启用 VMware 链接克隆
6.7.4. 如何克隆桌面 (Microsoft Hyper-V)
6.7.5. 关于克隆自定义
6.7.6. 如何调试快速准备问题
6.7.7. 如何为 Windows 模板(Oracle VDI 虚拟机管理程序 [hypervisor] 和 Microsoft Hyper-V)启用 Oracle VDI 快速准备
6.7.8. 如何为 Windows 模板(Oracle VDI 虚拟机管理程序 [hypervisor] 和 Microsoft Hyper-V)启用系统准备
6.7.9. 关于个人硬盘驱动器
6.7.10. 克隆和回收作业管理

6.7.1. 如何克隆桌面(Oracle VDI 虚拟机管理程序 [hypervisor])

克隆是最快最有效的池填充方法。请按照下面的步骤在池中启用克隆。

准备工作

必须先导入桌面,然后才可以克隆模板。有关详细信息,请参考第 6.6.1 节 “如何导入桌面(&Oracle VDI 虚拟机管理程序 [hypervisor])”部分。

Oracle VDI Manager 步骤

  • 要在现有池中启用克隆,请执行以下操作:

    1. 在 Oracle VDI Manager 中,转至“池“

    2. 选择池。

    3. 转至“克隆“选项卡。

    4. “模板“菜单中选择模板。对于 Oracle VDI 和 Microsoft Hyper-V 桌面提供者,将从选定模板的母版修订版克隆所有桌面。

    5. 要启动克隆,请选中“启用自动克隆“并单击“保存“

  • 要在创建池时在“新建池“向导中启用克隆,请执行以下操作:

    1. 选择桌面模板并选择“启用自动克隆“

    2. 单击“完成“以完成池创建,然后开始自动克隆。

克隆可能最多需要一分钟的时间即会开始,之后您将会看到克隆作业开始显示在“作业“窗口中。要访问“作业“窗口,请单击 Oracle VDI Manager 左上方的“正在运行的作业“链接。成功完成克隆作业后,新桌面将会显示在池配置文件的“桌面“选项卡中。可能需要刷新页面。

CLI 步骤

  • 在池中启动自动克隆。

    # /opt/SUNWvda/sbin/vda pool-start pool name
    

    示例 - 在池中启动自动克隆

    example% /opt/SUNWvda/sbin/vda pool-start MyPool

6.7.2. 如何克隆桌面 (VMware vCenter)

克隆是最快最有效的池填充方法。请按照下面的步骤在池中启用克隆。

Oracle VDI 支持 VMware 链接克隆。有关如何在 Oracle VDI 中使用链接克隆的详细信息,请参见第 6.7.3 节 “如何启用 VMware 链接克隆”

准备工作

必须先导入虚拟机,然后才可以克隆模板。有关详细信息,请参考第 6.6.2 节 “如何导入桌面 (VMware vCenter)”部分。

Oracle VDI Manager 步骤

  1. 在 Oracle VDI Manager 中,转至“池“

  2. 转至“资源“选项卡。

  3. 为新克隆的虚拟机选择首选存储。

    默认情况下,可以使用所有可用存储。对于每个克隆,Oracle VDI 将会选择可用磁盘空间最大的存储。

  4. 转至“克隆“选项卡。

  5. “模板“菜单中选择需要的模板。

    该菜单将列出 VMware vCenter 中的所有可用模板。

  6. 选择“应用系统准备“,并指定应当使用的自定义规范。

  7. 选择“启用自动克隆“,然后单击“保存“以开始克隆。

克隆可能最多需要一分钟的时间即会开始,之后您将会看到克隆作业开始显示在“作业“窗口中。要访问“作业“窗口,请单击 Oracle VDI Manager 左上方的“正在运行的作业“链接。克隆作业成功完成以后,新桌面将会显示在池配置文件的“桌面“选项卡中。可能需要刷新页面。

CLI 步骤

  • 在池中启动自动克隆。

    # /opt/SUNWvda/sbin/vda pool-start pool name
    

6.7.3. 如何启用 VMware 链接克隆

Oracle VDI 支持 VMware 链接克隆。VMware 链接克隆可以使多个虚拟机与父虚拟机共享虚拟磁盘,并使用相同的软件安装。链接克隆通过将每个虚拟机的差异存储在增量磁盘中来节省磁盘空间。与完全克隆相比,链接克隆的创建速度更快。有关 VMware 链接克隆的详细信息,可访问 VMware 网站

可以基于每个池来应用 VMware 链接克隆。

准备工作

VMware 链接克隆仅在满足以下条件时可用:

  • 必须使用 VMware ESX 4.0 或更高版本。

  • 模板必须至少具有一个快照。

Oracle VDI Manager 步骤

  1. 在 Oracle VDI Manager 中,转至“池“

  2. 选择池。

  3. 转至“克隆“选项卡。

  4. 选中“链接克隆“复选框。

  5. 单击“保存“

CLI 步骤

  • 启用池的链接克隆。

    # /opt/SUNWvda/sbin/vda pool-setprops -p linked-cloning=enable pool name
    

    在以下示例中,针对名为 MyPool 的池启用链接克隆。

    # /opt/SUNWvda/sbin/vda pool-setprops -p linked-cloning=enabled MyPool

    在以下示例中,针对名为 MyPool 的池禁用链接克隆。

    # /opt/SUNWvda/sbin/vda pool-setprops -p linked-cloning=disabled MyPool

6.7.4. 如何克隆桌面 (Microsoft Hyper-V)

克隆是最快最有效的池填充方法。请按照下面的步骤在池中启用克隆。

准备工作

必须先导入虚拟机,然后才可以克隆模板。有关详细信息,请参考第 6.6.3 节 “如何导入桌面 (Microsoft Hyper-V)”部分。

Oracle VDI Manager 步骤

  • 要在现有池中启用克隆,请执行以下操作:

    1. 在 Oracle VDI Manager 中,转至“池“

    2. 选择池。

    3. 选择 "Cloning"(克隆)选项卡,然后指定克隆参数。

    4. 至少定义一个要从中进行克隆的桌面模板,然后选择 "Enable Automatic Cloning"(启用自动克隆)。

  • 要在创建池时在“新建池“向导中启用克隆,请执行以下操作:

    1. 选择桌面模板并选择“启用自动克隆“。

    2. 单击“完成“以完成池创建,然后开始自动克隆。

克隆可能需要多达一分钟的时间才会开始,之后将会看到克隆作业开始显示在 "Jobs"(作业)窗口中。要访问“作业“窗口,请单击 Oracle VDI Manager 左上方的“正在运行的作业“链接。成功完成克隆作业后,新桌面将会显示在 "Pool"(池)页面的 "Desktops"(桌面)选项卡中。可能需要刷新页面。

CLI 步骤

  • 在池中启动自动克隆。

    # /opt/SUNWvda/sbin/vda pool-start pool name
    

    在以下示例中,针对池 MyPool 启用自动克隆。

    # /opt/SUNWvda/sbin/vda pool-start MyPool

6.7.5. 关于克隆自定义

Oracle VDI 提供了在克隆过程中用于自定义 Windows 桌面的两种方法:Microsoft 系统准备 (Sysprep)(通常用于 Active Directory 环境)和 Oracle VDI 快速准备 (FastPrep)。Oracle VDI FastPrep 是 Microsoft Sysprep 的一种替代方法。您可以从 Oracle VDI Manager 中触发 Sysprep。

Sysprep 可确保为每个桌面克隆分配其自己的唯一安全标识符 (Security Identifier, SID)。一旦完成准备工作,对应的模板修订版会自动标记为 Sysprepped。

FastPrep 旨在减少每个桌面的克隆数。它利用 Sysprep 并更改每个克隆的计算机名称,使其连接到域,也可以执行自定义后脚本(可选)。

6.7.6. 如何调试快速准备问题

如果在使用 Fastprep 时克隆失败,通常会返回错误代码。通常,它们是在克隆尝试连接域时由桌面或域控制器返回的 Microsoft Windows 系统错误代码。下面的网址中对错误代码进行了说明:

http://msdn.microsoft.com/en-us/library/ms681381%28v=vs.85%29.aspx

如果需要进一步调试,可以通过运行以下命令,禁用失败克隆自动清除功能:

# /opt/SUNWvda/sbin/vda settings-setprops -p cloning.cleanup.failures=disabled

禁用此设置后,Oracle VDI 不会删除任何失败克隆,您可以检查克隆以找出错误发生的原因。

如果在尝试连接域时问题仍然存在,请在 C:\Windows\Debug\netsetup.log 中检查有关克隆的 Windows netsetup.log,以调试所尝试连接操作的输出。

问题解决后,通过运行以下命令,启用失败克隆自动清除功能:

# /opt/SUNWvda/sbin/vda settings-setprops -p cloning.cleanup.failures=enabled

禁用自动清除功能时出现的失败克隆仍位于提供者主机上。您必须使用 Oracle VDI Manager 或命令行手动删除这些克隆。

6.7.7. 如何为 Windows 模板(Oracle VDI 虚拟机管理程序 [hypervisor] 和 Microsoft Hyper-V)启用 Oracle VDI 快速准备

Windows 桌面需要进行自定义,Oracle VDI 才能成功进行克隆。与 Microsoft 系统准备不同,快速准备 (FastPrep) 在使用之前不需要对模板进行任何特殊的准备。

准备工作

  1. 为快速准备来准备模板。

    1. 如果需要使用后自定义脚本,则应在克隆之前将此脚本复制到模板。

    2. 确保模板不是域成员,而必须是工作组成员。

  2. 在 Oracle VDI Manager 中导入虚拟机模板。

    有关更多信息,请参见以下内容:

Oracle VDI Manager 步骤

  1. 在 Oracle VDI Manager 中,转至“池“

  2. 选择池。

  3. 转至“克隆“选项卡(或“新建池“向导的“选择模板“屏幕)

  4. 单击“系统准备“旁边的“创建“

  5. 从模板操作系统的下拉列表中选择相应的“快速准备“选项。

  6. 此时将显示“创建系统准备文件“对话框。

    • Windows 域 - Windows 域的 FQDN。例如,my.domain.com

    • 域管理员 - 具有创建计算机帐户和连接域权限的域管理员。(可选)还可以将域作为前缀,例如 my.domain.com\Administrator

    • 域管理员密码 - 域管理员的密码

    • 计算机容器 DN - 放置新计算机帐户的 DN(例如,OU=Accounting,OU=VDI Center,DC=my,DC=domain,DC=com)。如果将其留空,则将使用默认计算机容器 (ou=Computers,DC=my,DC=domain,DC=com)。

    • 只读域控制器 - 从 Windows 2008 Server 中,对于在不安全位置进行的部署,可以将域控制器 (Domain Controller, DC) 配置为只读。对于通过只读 DC 连接域的计算机,帐户必须已存在,并且需要特别的只读标记。

    • 桌面管理员 - 模板的管理员帐户,具有更改计算机名称、连接域和执行自定义脚本(可选)的权限。对于 Windows Vista/7,必须启用并使用“管理员“帐户。

    • 桌面管理员密码 - 桌面管理员密码

    • 自定义脚本 - 将在自定义完成后执行的可选脚本。此脚本可以是批处理文件或可执行文件,并且必须位于模板和克隆可访问的驱动器或文件夹中。

现在,您可以克隆自定义 Windows 桌面了。请参考第 6.7.1 节 “如何克隆桌面(Oracle VDI 虚拟机管理程序 [hypervisor])”第 6.7.4 节 “如何克隆桌面 (Microsoft Hyper-V)”部分。

CLI 步骤

  • 为已进行 sysprep 的克隆准备池。

    # /opt/SUNWvda/sbin/vda pool-create-fastprep -p domain=<domain>,\
    domain-admin=<domain-admin>,admin=<admin>,\
    windows-release=winxp|win7 -u <user-dir><pool-name>
    

6.7.8. 如何为 Windows 模板(Oracle VDI 虚拟机管理程序 [hypervisor] 和 Microsoft Hyper-V)启用系统准备

Windows 桌面需要进行系统准备,Oracle VDI 才能成功进行克隆。创建 Windows 虚拟机后,应该为进行 Sysprep 做好准备,方法是下载 Sysprep CAB(仅限 Windows XP)并安装 Oracle VDI Tools(仅限 Hyper-V 虚拟平台)。将虚拟机作为模板导入到 Oracle VDI,然后在其中一个模板修订版上选择“系统准备“。Oracle VDI 会引导修订版,运行 Sysprep.exe,然后关闭系统。现在,该修订版充当空白板 (blank slate),用于在具有有效系统准备文件的任何池中克隆桌面。

池的系统准备文件会定义许可和凭证。如果池具有有效的系统准备文件,启用了系统准备,并且启用了从已进行 sysprep 的模板克隆,则池中所有已克隆的桌面将拥有由系统准备文件定义的定制。

一个已进行 sysprep 的修订版可用于多个池,并且可以从 Oracle VDI Manager 中随时更改和保存系统准备文件。

注意

由于 Windows 7 中的错误,Windows Media Player 网络共享服务会导致 Windows Sysprep 工具挂起。如果您不需要已在 Windows 7 桌面中启用的该服务,并且打算从 Oracle VDI Manager 运行系统准备,请将其停止并禁用。如果希望该服务保留在启用状态,请在导入它之前从模板的运行控制台中手动运行 Sysprep。

sysprep.exe -generalize -oobe -shutdown -quiet

准备工作

  1. (仅限 Hyper-V)在模板上安装 Oracle VDI Tools。

    如果未在模板上安装工具(对于 32 位平台,为 vda-tools-x86.msi,对于 64 位平台,为 vda-tools-x64.msi),则“模板“选项卡中的系统准备操作将不起作用。对于 Windows XP 模板,在C:\Sysprep 目录中也需要有 Sysprep 工具。

  2. 准备模板以进行系统准备。

  3. 在 Oracle VDI Manager 中导入虚拟机模板。

    有关更多信息,请参见以下内容:

Oracle VDI Manager 步骤

  1. 在 Oracle VDI Manager 中,转至“池“

  2. 选择池。

  3. 在模板修订版中运行系统准备。

    1. 转至“模板“ 选项卡,并选择修订版。

    2. “更多操作 “菜单中选择 “系统准备“

      该操作将启动作业,启动修订版,运行 Sysprep.exe,并等待系统关闭。

    3. 通过“作业摘要“弹出窗口等待作业成功完成。如果作业因某种原因而失败,则可通过单击失败的作业在“作业详细信息“文本区域中查看关于失败的详细信息。

    4. 选择 sysprep 修订版,并单击“设为主修订“

      当前使用该模板的所有池将从已进行 sysprep 的修订版克隆新桌面。

  4. 准备池,以根据系统准备文件克隆自定义的桌面。

    1. 转至“克隆“选项卡(或“新建池“向导的“选择模板“屏幕)

    2. 创建系统准备文件。

      该文件需要 Windows 管理员密码、Windows 许可证密钥、Windows 工作组或 Windows 域、域管理员和管理员密码。

    3. 选择 sysprep 模板,并选择“应用系统准备“

      现在,您可以克隆自定义 Windows 桌面了。请参考第 6.7.1 节 “如何克隆桌面(Oracle VDI 虚拟机管理程序 [hypervisor])”第 6.7.4 节 “如何克隆桌面 (Microsoft Hyper-V)”部分。

CLI 步骤

  1. 在模板修订版中运行系统准备。

    1. 从池中选择模板(模板 ID)。

      # /opt/SUNWvda/sbin/vda pool-templates pool name
      
    2. 从模板中选择修订版(修订版 ID)。

      # /opt/SUNWvda/sbin/vda template-revisions template ID
      
    3. 将 Sysprep 应用到该修订版。

      # /opt/SUNWvda/sbin/vda revision-sysprep revision ID
      
  2. 为已进行 sysprep 的克隆准备池。

    为池创建系统准备文件。

    # /opt/SUNWvda/sbin/vda pool-create-sysprep -p \
    key=<key>,workgroup=<workgroup>,windows-arch=32|64,\
    windows-release=winxp|win7 <pool-name>
    

    将现有系统准备文件应用到新池或现有池。

    # /opt/SUNWvda/sbin/vda pool-create -p system-preparation=path to filepool name
    
    # /opt/SUNWvda/sbin/vda pool-setprops -p system-preparation=path to filepool name
    

    示例 - 为 Oracle VM VirtualBox 桌面池启用系统准备。

    example% /opt/SUNWvda/sbin/vda pool-templates MyPool
    example% /opt/SUNWvda/sbin/vda template-revisions 35
    example% /opt/SUNWvda/sbin/vda revision-sysprep 55
    example% /opt/SUNWvda/sbin/vda pool-create-sysprep -p \
    key=ABC12-DEF34-GHI56-JKL78-MNO90,domain=mydomain.mycompany.com,\
    domain-admin=Administrator,windows-arch=64,windows-release=win7 MyPool

6.7.9. 关于个人硬盘驱动器

Oracle VDI 包含用于简化用户桌面置备的多种功能。其中包括自动克隆和旧桌面回收、灵活的个人分配,现在还包括内嵌模板管理(修订版)。使用这些功能,管理员可以销毁用户的旧桌面,并就地克隆新桌面。尽管此过程较为简单并且可节省时间,但它有一个严重的不足之处,那就是每次从更高修订版更新桌面时都会销毁用户的本地数据。

启用个人硬盘驱动器功能可为每个桌面置备第二个数据磁盘,即驱动器 "D:"。用户的配置文件目录(包括在 C:\Documents and Settings\UserName 下存储的所有信息)将重定向到此第二个“个人硬盘驱动器“。当管理员更新桌面修订版或模板时,桌面的主磁盘(包括操作系统)将替换为新修订版的克隆品。在此过程中,将保留用户的个人硬盘驱动器并将其重新附加到此新克隆品,而使所有配置文件设置和个人数据保持不变。当用户在其桌面上存储的个人信息在整个模板/修订版更新过程中应持久保留时,应使用个人硬盘驱动器。

使用 Sysprep 或 FastPrep 时,个人硬盘驱动器只能在具有 Active Directory 连接(LDAP、Kerberos 或公钥)的个人池中的桌面上使用。要启用个人硬盘驱动器功能,请在 Oracle VDI Manager 中转至池配置文件的“克隆“选项卡。一个弹出式窗口将允许您启用该功能并设置个人硬盘的大小。仅在启用该功能后克隆的桌面才具有第二个磁盘。现有桌面不受影响。更新个人池使用的模板的主修订版会导致回收所有可用桌面并将其替换为新的克隆桌面。任何已分配桌面和闲置桌面将用新修订版刷新,但会保留分配和个人硬盘驱动器。

6.7.10. 克隆和回收作业管理

桌面克隆和回收可能是资源密集型过程。由于此原因,Oracle VDI 使您可以限制每次可在 Oracle VDI 环境中运行的克隆和回收作业数。

6.7.10.1. 为池设置克隆生产优先级

在池级别,Oracle VDI Manager 使您可以为特定池指定克隆生产优先级。提交克隆作业时会将此优先级分配给池。具有较高生产优先级的池将被允许比具有中等优先级的池更快速地克隆,而具有中等优先级的池将被允许比具有较低优先级的池更快速地克隆。生产优先级设置不适用于回收作业。

要为池设置克隆生产优先级,请在“池“类别中选择现有池并单击“克隆“选项卡。

6.7.10.2. 为桌面提供者设置高峰时段

在桌面提供者级别,Oracle VDI Manager 使您可以指定将在高峰时段和非高峰时段运行的最大克隆和回收作业数。也可以配置在每天之中被视为高峰时段的时段。设置后,Oracle VDI 将根据设置的限制控制其运行的克隆和回收作业的组合总数。

要设置高峰时段信息,请在“桌面提供者“类别中选择桌面提供者的配置文件,然后单击“高峰时段“选项卡。