还原虚拟机之后报告重做日志损坏
search cancel

还原虚拟机之后报告重做日志损坏

book

Article ID: 344639

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
免责声明:本文为 REDO log corruption is reported after restoring the virtual machine (2147276) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。

  • 从快照 LUN 或副本 LUN 还原虚拟机之后,该虚拟机无法打开电源。

  • 在 hostd 日志和虚拟机日志中报告了重做日志损坏消息。

  • /var/log/hostd.log 文件中,您会看到类似以下内容的条目:

    2016-10-07T12:21:22.123Z [3F040B90 verbose 'Vmsvc.vm:/vmfs/volumes/5384db8c-715d6034-cfb4-d485647708cc/VM_NAME/VM_NAME.vmx'] Handling message _vmx2: The redo log of VM_NAME-000001.vmdk is corrupted. If the problem persists, discard the redo log.

  • vmware.log 文件中,您会看到类似以下内容的条目:

    2016-09-27T21:13:14.437Z| vcpu-0| I120: Msg_Question:
    2016-09-27T21:13:14.437Z| vcpu-0| I120: [msg.hbacommon.corruptredo] The redo log of VM_NAME_2-000001.vmdk is corrupted. If the problem persists, discard the redo log.
    2016-09-27T21:13:14.437Z| vcpu-0| I120: ----------------------------------------
    2016-09-27T21:19:21.047Z| vcpu-0| I120: MsgQuestion: msg.hbacommon.corruptredo reply=0
    2016-09-27T21:19:21.057Z| vcpu-0| I120: Exiting because of failed disk operation.
    2016-09-27T21:20:21.144Z| vcpu-0| W110: A core file is available in "/vmfs/volumes/501aa3a8-4ca80d42-791f-002655503e15/VM_NAME/vmx-zdump.000"
    2016-09-27T21:20:21.152Z| vcpu-0| W110: Writing monitor corefile "/vmfs/volumes/501aa3a8-4ca80d42-791f-002655503e15/VM_NAME/vmmcores.gz"

注意:上述日志摘录仅为示例。日期、时间和环境变量可能会因环境而有所不同。


Environment

VMware ESX Server 1.x
VMware ESX 4.1.x
VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 5.5
VMware ESX Server 2.5.x
VMware ESXi 3.5.x Installable
VMware vSphere ESXi 6.0
VMware ESX Server 3.5.x
VMware ESXi 4.0.x Installable
VMware ESX Server 3.0.x
VMware ESXi 3.5.x Embedded
VMware ESX Server 1.5.x
VMware ESX 4.0.x
VMware ESX Server 2.1.x
VMware ESX Server 2.0.x
VMware ESXi 4.0.x Embedded
VMware vSphere ESXi 5.1
VMware vSphere ESXi 5.0
VMware ESXi 4.1.x Installable

Cause

如果在下列情况下打开包含 vSphere 快照的虚拟机的电源,可能会出现该问题:
  • 托管虚拟机的 VMFS 数据存储是其他 VMFS 数据存储的副本。
  • 在打开电源之前从 VMFS 数据存储或 NFS 共享的基于的存储的快照还原虚拟机。
vSphere 主机的内存中增量磁盘元数据包含增量磁盘标头。将根据需要在内存中进行增量磁盘标头更新,所做更改仅在发生某些事件(例如合并快照或关闭增量磁盘)时才会写入磁盘。
存储快照操作和存储复制对 ESXi 主机来说是透明的。如果用于还原虚拟机的存储快照是在快照标头更改刷新到磁盘之前生成的,则已还原的虚拟机上的增量磁盘元数据不一致。同样,VMFS 文件系统的同步或异步副本可能不包含所有标头更改,因为在停止复制基础 LUN 时,可能尚未刷新这些更改。
注意:重做日志损坏消息仅指示在生成存储快照或停止 LUN 复制时,内存中增量磁盘元数据与磁盘上元数据不同步。

Resolution

要避免此问题,请遵循以下最佳实践:

  • 确保在生成存储快照时,虚拟机未在快照上运行。
  • 如果进行虚拟机快照的可能性较低,则执行存储阵列快照或文件服务器快照
  • 从关闭虚拟机电源或没有任何快照正在虚拟机上运行时生成的快照 LUN 还原虚拟机。
  • 最大程度降低存储阵列快照或文件服务器快照的频率,以减小与手动启动的或由备份启动的虚拟机快照的重叠。


Additional Information

即使存储快照能够生成虚拟机的快照,也仅保证与并发 I/O 相关的完全一致性。
这意味着会先允许阵列或文件服务器上所有正在进行的 I/O 完成,然后再生成存储快照。这不涉及以下内容:
  • 虚拟机静默(文件系统一致或应用程序一致)。
  • vSphere 中的增量磁盘的内存状态(如上文所述)。

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