首页 > 系统相关 >重新创建缺少的 VMware 虚拟机磁盘描述符文件 (.vmdk)

重新创建缺少的 VMware 虚拟机磁盘描述符文件 (.vmdk)

时间:2025-01-09 21:44:15浏览次数:1  
标签:文件 flat 虚拟机 描述符 vmdk 磁盘 VMware

重新创建缺少的 VMware 虚拟机磁盘描述符文件 (.vmdk)

原文 为增量磁盘重新创建缺少的虚拟磁盘 (VMDK) 描述符文件

文章 ID: 321422

calendar_today

更新于: 10-25-2024

产品

VMware vSphere ESXi的

问题/介绍

本文提供了重新创建丢失的虚拟磁盘描述符文件 (.vmdk) 的步骤。在以下情况下,您可能需要重新创建缺少的标题/描述符文件:
  • 数据存储浏览器中列出的虚拟机磁盘文件是虚拟机的平面文件,没有图标。
  • 打开虚拟机电源时,您会看到 File not found 错误。
  • 查看虚拟机的目录时,平面文件存在。
  • 虚拟机磁盘的磁盘描述符文件不存在或已损坏。


环境

VMware vSphere ESXi 6.x
VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.x
VMware vSphere ESXi 6.5
VMware vSphere ESXi 6.7

分辨率

如何重新创建丢失/缺失的虚拟磁盘描述符文件 (.vmdk):

重新创建缺少的虚拟磁盘描述符文件 (.vmdk) 的视频教程:

注意:在视频中,使用了 vmkfstools -a 选项。从 ESXi 6.5 版本及更高版本开始,此选项已弃用,将被忽略,并显示以下消息:“--adaptertype 已弃用,因此将被忽略”。

重要提示

  • VMware 建议定期对关键虚拟机进行完整映像备份,以便在此类情况下轻松还原。
  • VMware 还建议尝试从备份中恢复缺少的描述符文件。此方法不能用于重新创建加密的磁盘描述符文件。
  • 如果受影响的虚拟机没有完整备份,请确保将平面文件复制或备份到单独的位置。
  • 本文的可用性仅侧重于为虚拟机重新创建描述符文件,请勿编辑或更改平面文件的内容,因为这可能会导致数据丢失。
注意:此过程不适用于在虚拟机中配置了半虚拟化 SCSI 控制器的虚拟磁盘,因为虚拟机可能无法引导。

但是,如果使用半虚拟化 SCSI 控制器,也可以使用 ddb.adapterType = pvscsi 替换文件中的 ddb.adapterType = lsilogic 来更新新的描述符文件。

创建虚拟机磁盘描述符文件的步骤:

  1. 通过 SSH 或 DCUI 以 root 身份连接到 ESXi 主机。
  2. 使用以下命令导航到包含缺少描述符文件的虚拟机磁盘的目录:

    cd /vmfs/volumes/DATASTORE_NAME/VM_NAME
     
  3. 通过检查虚拟机配置文件 (.vmx) 来确定虚拟磁盘正在使用的 SCSI 控制器的类型。控制器由 scsi#.virtualDev 行标识,其中 # 是控制器编号。

    此示例使用 lsilogic :

    scsi0.present = “true”
    scsi0.sharedBus = “none”
    scsi1.present = “true”
    scsi1.sharedBus = “virtual”
    scsi1.virtualDev = “lsilogic”
     
  4. 使用以下命令识别并记录 -flat 文件的确切大小:

    ls -l vmdisk0-flat.vmdk

    -rw------- 1 root root 4294967296 Oct 11 12:30 vmdisk0-flat.vmdk
     
  5. 使用 vmkfstools 命令创建新的临时虚拟磁盘:

    # vmkfstools -c 4294967296 -d thin temp.vmdk

    该命令使用以下标记:
    • -c size
      这是虚拟磁盘的大小。
    • -d thin
      这将以精简配置格式创建磁盘。
因此,将创建 temp.vmdk 和 temp-flat.vmdk 文件。
注意:为了节省磁盘空间,我们使用 thin 类型以精简配置格式创建磁盘。但是,唯一的结果是,描述符文件包含一行额外的行,如果原始磁盘未进行精简配置,则必须在后续步骤中手动删除该行。
  1. 删除 temp-flat.vmdk,因为它不需要。运行以下命令:

    rm -i temp-flat.vmdk
     
  2. 将 temp.vmdk 重命名为与孤立的 -flat 文件(或本例中为 vmdisk0.vmdk)匹配所需的名称:

    mv -i temp.vmdk vmdisk0.vmdk
     
  3. 使用“vi”文本编辑器( 在本例中为 vi vmdisk0.vmdk)编辑描述符文件
     
    1. 在 Extent Description 部分下,
      • 使用命令 “Insert” 允许对描述符文件进行修改。
      • 找到并更改 -flat 文件的名称以匹配孤立的 -flat。 完成后 - 按“Esc”退出此模式。
    2. 如果原始 .vmdk 不是精简磁盘,请查找并删除行 ddb.thinProvisioned = “1”。如果是,请保留此行。使用命令 “:wq!” 保存并退出 “vi” 编辑器。

      示例

      # 磁盘描述符文件
      version=1
      CID=fb183c20
      parentCID=ffffffff
      createType=“vmfs”

      # 范围描述
      RW 8388608 VMFS “vmdisk0-flat.vmdk”

      # 磁盘数据库
      #DDB

      ddb.virtualHWVersion = “4”
      ddb.geometry.cylinders = “522”
      ddb.geometry.heads = “255”
      ddb.geometry.sectors = “63”
      ddb.adapterType = “lsilogic”
      ddb.thinProvisioned = “1”

      虚拟机现在已准备好开机。在启动虚拟机之前,请验证您的更改并确保磁盘链一致。
       
  4. 要检查磁盘链的一致性,请针对磁盘描述符文件运行以下命令:

    vmkfstools -e filename.vmdk

    对于完整链,您会看到类似于以下内容的输出:
    Disk chain is consistent。

    对于断开的链,您会看到快照链的摘要,然后是类似于以下内容的输出:
    Disk chain is not consistent : 父虚拟磁盘自创建子虚拟磁盘以来已被修改。父虚拟磁盘的内容 ID 与子虚拟磁盘中的相应父内容 ID 不匹配 (18)。
 

其他信息

其他信息

虚拟机的每个磁盘驱动器都由一对 .vmdk 文件组成。一个是包含有关虚拟硬盘的描述性数据的文本文件,另一个是该磁盘的实际内容。例如,名为 examplevm 的虚拟机连接了一个 10GB 的磁盘。此磁盘由一个小于 1 KB 的 examplevm.vmdk 描述符文件和一个包含虚拟机内容的 10 GB 的 examplevm-flat.vmdk 平面文件组成。


另请参阅

标签:文件,flat,虚拟机,描述符,vmdk,磁盘,VMware
From: https://www.cnblogs.com/TImeroot/p/18662939

相关文章

  • 为增量磁盘重新创建缺少的虚拟磁盘 (VMDK) 描述符文件
    为增量磁盘重新创建缺少的虚拟磁盘(VMDK)描述符文件书文章ID:327862calendar_today更新于: 11-11-2024产品VMwarevSphereESXi的问题/介绍本文提供了基于vmfsSparse磁盘格式重新创建增量虚拟磁盘描述符文件的步骤。这种磁盘格式通常由虚拟机快照功能、......
  • 主机与虚拟机互ping不通的解决办法
    一、主机ping不通虚拟机,但虚拟机可以ping主机解决办法:二、虚拟机ping不通主机,但主机可以ping虚拟机解决办法:这里说的第一点我不知道,我是虚拟机可以ping通百度,之前虚拟机有过相关配置我这里主要是win11电脑网络连接这里开启防火墙下面简单的说明下Vmware的网络连接方式:当......
  • SpringCloud 解决 Docker 镜像 虚拟机网卡导致的IP 不准确的问题
    SpringCloud应用可能会使用InetAddress.getLocalHost().getHostAddress()或类似方法来获取当前机器的IP地址。但在Docker容器环境中,这种方法可能会返回容器内部的IP地址,而不是宿主机的IP地址。分布式应用部署到服务上,由于服务器可能存在多张网卡,造成IP地址不准。出......
  • Azure基础认证(AZ-900)完全指南:(十九)计算 - 虚拟机的演变
    点击进入:Azure基础认证(AZ-900)完全指南(一):认证概述点击进入:Azure基础认证(AZ-900)完全指南(二)考试概述点击进入:Azure基础认证(AZ-900)完全指南:(三)什么是云计算?点击进入:Azure基础认证(AZ-900)完全指南:(四)云服务点击进入:Azure基础认证(AZ-900)完全指南:(五)什么是Azure点击进入:Azure基......
  • VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 标准版和厂商定制版,已适配主流品牌服
    VMwareESXi8.0U3cmacOSUnlocker&OEMBIOS标准版和厂商定制版ESXi8.0U3c标准版,Dell(戴尔)、HPE(慧与)、Lenovo(联想)、Inspur(浪潮)、Cisco(思科)、Hitachi(日立)、Fujitsu(富士通)、NEC(日电)定制版、Huawei(华为)OEM定制版请访问原文链接:https://sy......
  • VMware虚拟机无法打开时恢复最新快照中的数据的办法
    转载自VMware虚拟机无法打开时恢复最新快照中的数据的办法_山雨欲来-风满楼-华为开发者空间快照技术对于VMware备份任务来说是一个伟大的工具,但如果你改变了客户操作系统,并且这一变化导致意外行为发生,那么你需要删除或还原快照,使虚拟机返回到原来的状态。如果不这样做,可能会导......
  • 快照管理器检测不到虚拟机的快照
    快照管理器检测不到虚拟机的快照正常从列表取消注册虚拟机后,再添加会快照管理器回村走之前的快照,除非用第三方备份软件通过快照API生成的快照不在管理器显示bookArticleID:331558calendar_todayUpdatedOn: 01-27-2017ProductsVMwarevSphereESXiIssue/In......
  • PD19 Parallels Desktop 虚拟机 安装Windows10系统 操作步骤(保姆级教程,轻松上手)
    PD19ParallelsDesktop虚拟机安装Windows10系统操作步骤(保姆级教程,轻松上手)ParallelsDesktop19,是一款Mac虚拟机软件,能在搭载Intel或Apple芯片的任何Mac上运行Windows,体验不同操作系统之间的无缝集成。使用ParallelsDesktop19forMac不断创新。在您的Mac中......
  • pd虚拟机 [po] Parallels Desktop 20 激活 for Mac [jie] 安装教程【支持M芯片】
    pd虚拟机[po]ParallelsDesktop20激活forMac[jie]安装教程【支持M芯片】ParallelsDesktop20,是一款Mac虚拟机软件,在搭载AppleM系列芯片的任何Mac上运行Windows,体验不同操作系统之间无缝集成。使用ParallelsDesktop20forMac体验macOS和Windows的双重最优......
  • VMware Fusion Pro 13 for Mac虚拟机软件
    VMwareFusionPro13forMac虚拟机软件VMwareFusionProforMac,是一款mac虚拟机软件,跟ParallelsDesktop一样,都可以让你的Mac同时运行一个或多个不同的操作系统。VMwareFusionPromac不仅能让你在Mac苹果电脑上运行Windows或Linux系统、使用非Mac平台的软件,而且还可以支......