移除快照时,虚拟机在超过 30 分钟的时间内无响应
search cancel

移除快照时,虚拟机在超过 30 分钟的时间内无响应

book

Article ID: 343113

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
免责声明:本文为 Virtual machines become unresponsive for over 30 minutes when removing a snapshot (2039754) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。


  • 移除快照时,虚拟机在 30 分钟或更长的时间内无响应
  • vmware.log 文件中,您会看到类似以下内容的条目:

    vmx| Checkpoint_Unstun: vm stopped for 3711025 us
    vmx| Checkpoint_Unstun: vm stopped for 574655 us
    vmx| Checkpoint_Unstun: vm stopped for 2191061 us
    Create snapshot smvi_2a175570-ed2f-....
    Operation completed
    Consolidate starts
    Intermediate snapshot taken, took 1.8s
    VM runs for 2 seconds, while consolidate of scsi0:0 is in progress
    Move to next disk, no more interations for scsi0:0 are necessary, stunned for 0.6s
    Consolidate of scsi0:1 finished, another iteration is needed.Intermediate snapshot is deleted, and another is created.VM stunned for 2.7s.
    Done with scsi0:0.Moving to scsi0:1.
    Done with scsi0:1.Another iteration will be needed...

    有关 vmware.log 文件的详细信息,请参见 Locating virtual machine log files on an ESXi/ESX host (1007805)


Environment

VMware ESXi 4.1.x Installable
VMware vSphere ESXi 5.1
VMware vSphere ESXi 5.0
VMware ESXi 4.1.x Embedded
VMware ESX 4.1.x

Cause

如果虚拟机生成数据的速度快于整合速率,则会出现此问题。例如,异步整合开始的运行时间为 5 分钟,然后是 10 分钟、20 分钟、30 分钟,以此类推。9 次迭代之后,每个周期将变为 60 分钟。在这些尝试的过程中,将在不关闭虚拟机的情况下执行整合操作。达到最大迭代次数后,将在关闭虚拟机并执行整合时强制进行同步整合。

注意:快照整合时间因计算机类型和环境变量而异,因此很难估算完成时间。

Resolution

这是由于实施快照而导致的性能限制。

此行为在以下 ESXi 版本中已修改,以便在无法完成异步整合的情况下,防止同步整合并保持受影响的虚拟机从快照运行。


如果您不希望应用修补程序或正在运行不同版本,要解决此问题,请执行以下操作:
  1. 关闭虚拟机。
  2. 右键单击虚拟机,然后单击编辑设置
  3. 单击选项选项卡。
  4. 在“高级”下,单击常规
  5. 单击配置参数,添加以下参数(一次一个),然后检查结果:

    • snapshot.maxIterations 设置为 20(或更大)。默认值为 10。如果无法在默认 maxIteration (10) 内收敛,则只需关闭并执行同步整合,这可能会导致虚拟机关闭一段时间。如果将 maxIterations 增加到 20 或更大,则虚拟机可以在 maxIterations 内找到一段时间来执行同步整合。

    • snapshot.maxConsolidateTime 更改为 60 秒。默认值为 6 秒。如果将该值设置为 60 秒,Consolidate Helper 会发现一个更早(快照在 10 次迭代后变为一个为时 30 分钟的问题之前)执行同步整合的机会。将 snapshot.maxConsolidateTime 设置为 60 意味着,您能够使虚拟机关闭 60 秒,因此虚拟机可以在迭代中执行同步整合。

      注意:maxConsolidateTime 的系数为 2。值 60 = 120 秒。 默认值为 6,但会关闭 12 秒。

    • snapshot.maxIterations 设置为 0。将 snapshot.maxIterations 设置为 0 会导致虚拟机关闭并仅在第一次迭代中执行同步整合。这可能会减少关闭时间。


Additional Information

要在更新本文时收到提醒,请在“Actions”框中单击 Subscribe to Article。