背景:

一次客户现场突然掉电,导致虚拟机文件夹里面的文件丢失,只剩余-flat.vmdk和-delta.vmdk文件,其他文件全部丢失,文件格式原本为"文件"格式。新建虚拟机无法直接使用此文件夹里面的文件。

知识普及:

xx-delta.vmdk是快照磁盘数据文件

xx-flat.vmdk是磁盘数据文件

-flat.vmdk文件:这是个默认的大型虚拟磁盘数据文件,创建于你添加虚拟硬盘驱动到虚拟机时,而不是RDM。当使用厚磁盘时,这个文件的大小相当于你创建虚拟硬盘驱动时所指定的大小。

-delta.vmdk文件:这些虚拟磁盘数据文件只用于创建虚拟机快照时。当创建了快照,对原始flat.vmdk的所有写入都停止,并变成只读;然后这些对虚拟磁盘的更改将写入delta文件。这些文件的初始大小是16MB,然后随着对虚拟机虚拟硬盘的更改需要而以16MB的速度增长。因为这些文件是虚拟磁盘所作更改的位图,一个单一delta.vmdk文件不能超过原始flat.vmdk文件的大小。每为虚拟机创建一个快照就会生成一个delta文件,并且它们的文件名以数字递增(如myvm-000001-delta.vmdk和myvm-000002-delta.vmdk)。当快照融合到原始–flat.vmdk文件后再删除时,这些文件将自动删除。

解决方法:共分为两个大步骤

第一步:恢复磁盘文件

1、SSH登录到ESX主机的控制台界面;(具体不会看另一篇文档)

2、切换到问题磁盘所在目录:

df -h

cd /vmfs/volumes/xxxxvolume/xxxx

3、确认当前虚拟磁盘所用的SCSI控制器(有就查看,没有就算了)

less *.vmx,查找到类似scsi1.virtualDev="lsilogic"的内容

4、查看需要修复文件的大小(必须一致!必须一致!必须一致!):

ls -ltr

会显示如下类似信息

-rw------- 1 root root 4294967296 Oct 11 12:30 vmdisk0-flat.vmdk

5、执行vmkfstools命令创建一个新磁盘:

vmkfstools -c 4294967296 -a lsilogic xxx.vmdk

-c:磁盘大小

-a:磁盘控制器类型(BusLogic 或者 LSILogic)

-d:磁盘类型

第二步:恢复快照文件

1.系统正常启动以后,开始执行快照。

2.查看自己的xx-delta.vmdk文件,有几个就创建几个快照,用来替换。

3.全部替换完成后,转到最新的快照。启动系统就好了。

一套组合拳完毕,打完收工。然而。。。蓝屏!!!

不知道我的系统老旧还是什么原因,恢复后显示蓝屏,无法进入系统,最后通过PE进入系统,把数据拷贝下来了,重新搭建就行了。

谢谢两位前辈指点:

参考文献:https://blog.51cto.com/liyanxin/1395713

参考文献:https://blog.51cto.com/hujizhou/1138850

Vmware 恢复flat.vmdk和delta.vmdk的更多相关文章

  1. VDI转vmdk(VirtualBox与VMware硬盘格式转换)[转]

    VirtualBox用了一段时间,感觉没想像中那么的好.虽然设置里可以分配多CPU,但是分配多CPU后经常系统挂掉.整体感觉不够稳定,但它也有好处就是开源免费.但经常挂机总不能一直使用它,索性转到Vm ...

  2. Vmware(vmdk)虚拟机到hyperv(vhd)虚拟机转换

    1.关闭Vmware所有虚拟机 2.合并Vmware磁盘 通常磁盘都分开储存 targetDisk.vmdk 3.转换vmdk到vhd 安装winimage http://www.winimage.c ...

  3. [转]Vmware(vmdk)虚拟机到hyperv(vhd)虚拟机转换

    Vmware(vmdk)虚拟机到hyperv(vhd)虚拟机转换   1.关闭Vmware所有虚拟机 2.合并Vmware磁盘 通常磁盘都分开储存 "C:\Program Files (x8 ...

  4. Vmware player--打开vmdk; 导出系统;

    https://www.cnblogs.com/wxdblog/p/7091496.html 用vmware player打开已经存在的VMDK的方法: https://jingyan.baidu.c ...

  5. VirtualBox导入VmWare生成的.vmdk格式虚拟机镜像

    VmWare默认的镜像格式是.vmdk格式的,VirtualBox则默认是.vdi格式的.其实这在VirtualBox新建虚拟机的过程中是可选的. 导入.vmdk格式的镜像到VirtualBox只需要 ...

  6. 云与备份之(1):VMware虚机备份和恢复

    本系列文章会介绍云与备份之间的关系,包括: (1)VMware 虚机备份和恢复 (2)KVM 虚机备份和恢复 (3)云与备份 (4)OpenStack 与备份 (5)公有云与备份 1. 与备份有关的V ...

  7. VirtualBox VM 空间瘦身记(vmdk)

    本文地址:https://www.ebpf.top/post/shrink_vbox_vmdk_size 在使用 VirtualBox( VMDK 模式)管理虚拟机的时候,我们经常会遇到一些编译安装场 ...

  8. 虚拟机硬盘vmdk压缩瘦身并挂载到VirtualBox

    这个问题其实困扰了挺久的,一直没闲情去解决,网上搜索过很多压缩方法感觉都太麻烦太复杂,因最近在windows上搞docker就一并解决了. 压缩vmdk 首先下载DiskGenius,这工具很牛X,相 ...

  9. VMware 虚拟机的虚拟磁盘编程知识点扫盲之一

    目录 目录 前言 VMware 虚拟机文件类型 VMware 虚拟机的快照 Quiseced Snapshot Quiseced Snapshot 的创建过程 创建快照 创建快照的执行过程及原理 删除 ...

随机推荐

  1. nignx反向代理web服务器的配置与使用

    一.为什么要用nignx反向代理 1.负载均衡 当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃.为了避免服务器崩溃,让用户有更好的体验,我们通过负载均 ...

  2. 使用BeautifulSoup高效解析网页,再也不用担心睡不着觉了

    BeautifulSoup是一个可以从 HTML 或 XML 文件中提取数据的 Python 库 那需要怎么使用呢? 首先我们要安装一下这个库 1.pip install beautifulsoup4 ...

  3. Docker学习(1) 初识

    Docker的使用场景 1 使用Docker容器开发,测试,部署服务 2 创建隔离的运行环境 3 搭建测试环境 4 构建多用户的平台及服务(PaaS)基础设施 5 提供软件即服务(SaaS)应用程序 ...

  4. springboot项目添加swagger2

    1.pom中添加swagger依赖 <!-- swagger-ui --> <dependency> <groupId>io.springfox</group ...

  5. nologin用户执行命令

    使用su su -s 是指定shell,这里www用户是nologin用户,是没有默认的shell的,这里指定使用/bin/bash, -c 后面接需要运行的命令, 后面www是用www用户来运行 s ...

  6. 视觉SLAM的主要功能模块分析

    视觉SLAM的主要功能模块分析 一.基本概念 SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and L ...

  7. 在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库

    在NVIDIA A100 GPU上利用硬件JPEG解码器和NVIDIA nvJPEG库 根据调查,普通人产生的1.2万亿张图像可以通过电话或数码相机捕获.这样的图像的存储,尤其是以高分辨率的原始格式, ...

  8. 多尺度目标检测 Multiscale Object Detection

    多尺度目标检测 Multiscale Object Detection 我们在输入图像的每个像素上生成多个锚框.这些定位框用于对输入图像的不同区域进行采样.但是,如果锚定框是以图像的每个像素为中心生成 ...

  9. 外部NORFlash是第一个以硬件为基础的信任

    外部NORFlash是第一个以硬件为基础的信任 External NOR Flash memory is first with hardware root-of-trust 英飞凌科技公司宣布了它声称 ...

  10. 什么是视觉Visual SLAM

    什么是视觉Visual SLAM What Is Visual SLAM? What are the origins of visual SLAM? and what are some other a ...