免责声明: 本文为 Resolving the CID mismatch error: The parent virtual disk has been modified since the child was created (1007969) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。
Failed to open 'virtual machine disk' with flags 0xe (The parent virtual disk has been modified since the child was created)
Failed to open (The parent virtual disk has been modified since the child was created)
Failed to open 'virtual machine disk': The parent virtual disk has been modified since the child was created (18).
DISKLIB-LINK : Attach: Content ID mismatch (7b7644b2 != 4f5a6761)
DISKLIB-LINK : Attach: the capacity of each link is different (83886080 != 46399652).
Cannot open the disk '/vmfs/volumes/4a365b5d-eceda1-19-439b-000cfc0086f3/examplevm/examplevm-000001.vmdk' or one of the snapshot disks it depends on.
Reason: The parent virtual disk has been modified since the child was created.
vmx| DISKLIB-LINK : Attach: Content ID mismatch (d0fdb25b != ef4854ee).
vmx| DISKLIB-CHAIN : "/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm.vmdk" : failed to open (The parent virtual disk has been modified since the child was created).
vmx| DISKLIB-VMFS : "/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-000002-delta.vmdk" : closed.
vmx| DISKLIB-VMFS : "/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-000001-delta.vmdk" : closed.
vmx| DISKLIB-VMFS : "/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-flat.vmdk" : closed.
vmx| DISKLIB-LIB : Failed to open '/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-000002.vmdk' with flags 0xa (The parent virtual disk has been modified since the child was created).
vmx| DISK: Cannot open disk "/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-000002.vmdk": The parent virtual disk has been modified since the child was created (18).
vmx| Msg_Post: Error
vmx| [msg.disk.noBackEnd] Cannot open the disk '/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-000002.vmdk' or one of the snapshot disks it depends on.
vmx| [msg.disk.configureDiskError] Reason: The parent virtual disk has been modified since the child was created.----------------------------------------
vmx| Module DiskEarly power on failed.
A general system error occurred: Internal error
。 Content ID mismatch
虚拟机磁盘描述符文件的内容 ID (CID) 值有助于实现确保父虚拟磁盘文件(如平面磁盘或基础磁盘)中的内容保持其一致性状态这一目标。
从该基础磁盘快照派生的子增量磁盘包含所有进一步的写入和更改。 这些更改取决于源磁盘是否仍完好无损。
虚拟机磁盘描述符文件详细介绍了虚拟磁盘或虚拟磁盘增量文件的基本几何结构、格式或其他标识以及处理方式。 CID 位于每个虚拟机磁盘描述符文件中,以便进行完整性和状态跟踪。
基础磁盘的描述符文件示例
| 增量磁盘的描述符文件示例
|
注意: examplevm-000001.vmdk
引用 examplevm.vmdk
,且从某些意义上来说取决于后者。
如果虚拟机引用虚拟磁盘,则它引用的是基础磁盘描述符文件或快照增量描述符文件。 在此示例中,虚拟机配置文件或 examplevm.vmx
是指增量磁盘描述符文件:
scsi0:0.present = "true"
scsi0:0.fileName = "examplevm-000001.vmdk"
scsi0:0.deviceType = "scsi-hardDisk"
无论何时打开虚拟机电源,引用的基础或增量磁盘描述符文件的 CID 值都会发生更改(请参见上述以蓝色打印的 CID)
examplevm-000001.vmdk before power-on: | examplevm-000001.vmdk after power-on: |
所有这些都详细描述了运行情况良好的虚拟机。 此处可能存在不匹配,这会阻止此虚拟机的任务成功进行:
examplevm.vmdk: | examplevm-000001.vmdk: |
实际上,CID 不匹配可确保偏离原始磁盘状态会导致所有从属子增量内容失效。 这会保护已存储的数据免遭进一步潜在损坏。
大型虚拟机迁移(如 Storage vMotion 或迁移)中断、VMware 软件错误或用户操作可触发内容 ID 不匹配现象。
这些内容 ID 仅用于具有快照的虚拟机磁盘。 有关快照的详细信息,请参见 Understanding virtual machine snapshots in VMware ESXi and ESX (1015180)。
尤其应避免出现以下情况:
如果存在 CID 不匹配现象,错误消息中会提供虚拟机名称,但您必须确定:
可以通过多种方法登录到 ESX 主机来查看使用的数据存储的内容,具体取决于所用的 ESX 版本。 有关详细信息,请参见 Editing configuration files in VMware ESXi and ESX (1017022)。
注意:
https://server-ip
来访问)可用于浏览 VMFS 数据存储和区分虚拟机描述符文件及其相应的关联二进制文件。 您可以从数据存储浏览器中复制相关文件,然后进行编辑。 编辑后的文件可通过 vSphere Client 再次上载至数据存储。 在找到虚拟机文件和目录后:
vmware.log
文件包含用于确定受影响的特定磁盘链的信息。 查看日志并注意位置和受影响的文件。 vmx| DISKLIB-LINK : Attach: Content ID mismatch (d0fdb25b != ef4854ee).
vmx| DISKLIB-CHAIN : "/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm.vmdk" : failed to open (The parent virtual disk has been modified since the child was created).
vmx| DISKLIB-VMFS : "/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-000002-delta.vmdk" : closed.
vmx| DISKLIB-VMFS : "/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-000001-delta.vmdk" : closed.
vmx| DISKLIB-VMFS : "/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-flat.vmdk" : closed.
vmx| DISKLIB-LIB : Failed to open '/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-000002.vmdk' with flags 0xa (The parent virtual disk has been modified since the child was created).
vmx| DISK: Cannot open disk "/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-000002.vmdk": The parent virtual disk has been modified since the child was created (18).
vmx| Msg_Post: Error
vmx| [msg.disk.noBackEnd] Cannot open the disk '/vmfs/volumes/4a365b5d-eceda119-439b-000cfc0086f3/examplevm/examplevm-000002.vmdk' or one of the snapshot disks it depends on.
vmx| [msg.disk.configureDiskError] Reason: The parent virtual disk has been modified since the child was created.----------------------------------------
vmx| Module DiskEarly power on failed.
examplevm-000002.vmdk
文件引用了其父文件(在其自身引用了另一个父文件),在 examplevm-000002.vmdk
创建之后一段时间修改了其中一个文件。 您必须在以下任一文件中采取更正措施: examplevm.vmdk
、examplevm-000001.vmdk
和 examplevm-000002.vmdk
。examplevm.vmdk
、examplevm-000001.vmdk
和 examplevm-000002.vmdk
的备份。
|
|
|
examplevm-000002.vmdk
链接到 examplevm-000001.vmdk
,且没有错误。 但是,基础磁盘 examplevm.vmdk
已修改,导致出现错误。 注意:VMDK 文件序号不相关联。例如:
File CID PID
XXX.vmdk 1 ---------
XXX-000002.vmdk 2 1
XXX-000001.vmdk 3 2
尽管 XXX-000002.vmdk 文件在链中处于 XXX-000001.vmdk 文件之前,VMDK 文件仍能构成有效链。
此时,问题点已确定,虚拟机文件已备份,必须应用更正措施。
要更正内容 ID 不匹配,请执行以下操作:
警告:
基础磁盘的描述符文件示例 | 增量磁盘的描述符文件示例
| 子增量磁盘的描述符文件示例
|
examplevm-000002.vmdk
为 examplevm-000001.vmdk
(即 examplevm.vmdk
的子项)的子项。 这三个磁盘文件构成了虚拟机和客户机操作系统角度的单个虚拟磁盘。examplevm.vmdk
或 examplevm-000001.vmdk
磁盘文件。 在上述任意一种情况下,parentCID
和 CID
关系必须有效。examplevm.vmdk
的 CID 可以更改为 7b7644b2
,以匹配 examplevm-000001.vmdk
的预期 parentCID
值。 此外,也可以将 examplevm-000001.vmdk
的 parentCID
值更改为 12a9ffab
,以匹配 examplevm.vmdk
的基础磁盘描述符文件的 CID。 还可以考虑创建一个您自己的 CID 值。00000000
-ffffffff
) 组成,且没有分隔符。对虚拟机文件进行的更正通常不会立即在产品的其余部分中确认。 同样地,随后的打开电源尝试可能也不会成功。
要验证 CID 更正,请执行以下操作:
examplevm.vmx
),然后选择添加到清单。
您还可以通过针对最高级别快照 .vmdk 执行以下命令来验证是否已更正 CID 不匹配:
vmkfstools -q snapshot_ xxxxxx#.vmdk -v10 | less
或
对于 ESXi 5.x:
vmkfstools -e snapshot_ xxxxxx #.vmdk
注意:
此时,如果发生的更改不大,虚拟机应已成功启动。 客户机操作系统可能会表现出不同症状,具体取决于快照中发生的状况。
但是,如果虚拟机未处于可接受状态,您可能需要从备份副本中还原。 如果某个虚拟机不可用,可以考虑启动旧磁盘中的虚拟机。
示例: 提供的示例所引用的虚拟磁盘是 examplevm-000002.vmdk
。 如有必要,可以修改虚拟机的配置文件以从 examplevm-000001.vmdk
中引导,使 examplevm-000002.vmdk
永久失效。 这可允许客户机操作系统按预期继续运行,但代价是会丢失 examplevm-000002.vmdk
增量文件中包含的所有信息。
您可以登录到 VMware ESX 或 VMware 命令行界面来编辑虚拟机的配置文件,并且可以从数据存储复制文件以在其他系统中使用首选文本编辑器加以编辑。
有关此主题的其他信息,请参见 Editing configuration files in VMware ESXi and ESX (1017022)。
本文档的内容按“现状”提供,效力范围为适用法律所允许的最大范围,VMware 不承认与此内容有关的所有其他声明或担保(无论是明示或默认形式),包括这些声明或担保对特定用途的适用性、商业性或非侵权性。 VMWARE 对因使用此内容而造成的任何损害或与之相关的任何损害概不负责,包括直接、间接、后果性的损害、营利损失或特殊损害,即使 VMware 已被告知上述损害的可能性。