目的:
因为迁移虚拟机或者认为误操作造成删除vmdk文件造成虚拟机无法启动

环境:vmware vsphere 6.0

解决办法:

查看这台虚拟服务器的摘要信息,对比datastore上其他可用的虚拟机,发现损坏的服务器上确实缺少一个vmdk磁盘文件,但是可以看见一个50G的xxx-flat.vmdk文件;而正常的服务器只有xxx.vmdk,没有xxx-flat.vmdk,关机之后两个文件都存在,而且真实的磁盘容量从vmdk转移到了xxx-flat.vmdk。

虚拟主机在运行的时候,实际在使用的是xxx-flat.vmdk,然而xxx.vmdk是可以同时被删除的,才导致了问题。

这里需要说明,虚拟机的每个磁盘驱动器都包含了一对.vmdk文件。一个是文本文件,包含了关于虚拟硬盘的描述数据;另外一个是磁盘的实际内容。例如,一个名为examplevm的虚拟机连接有一个硬盘。这个磁盘由如下两个文件构成:一个小于 1KB 的examplevm.vmdk描述文件和一个10GB大小的examplevm- flat.vmdk平面(数据)文件,该文件包含虚拟机的实际数据,而这些数据又是以二进制的形式存放在物理磁盘上,examplevm.vmdk描述文件就是描述这种映射关系的。

另外:

A note for ESX-users:

Do not use Datastorebrowser to identify vmdks or download them for editiing.

The Datastorebrowser does not display vmdks correctly.

It usually hides -flat.vmdks and -delta.vmdks.

  1. 解决办法

(1) 用ssh登录vsphere主机,查找xxx-flat.vmdk文件所在的位置以及目录,并记录文件的大小

~

find / -name “新建虚拟机-flat.vmdk”/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机/新建虚拟机-flat.vmdk

ls -l /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机/新建虚拟机-flat.vmdk-rw——- 1 root root 53687091200 Apr 1609:13/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机/新建虚拟机-flat.vmdk

注意,ESXi默认没有开启ssh,需要通过vsphere client登录服务器,【配置】【安全配置文件】【服务-属性】手动开启。

(2) 重命名xxx-flat.vmdk文件

# cd /vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机//vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机_1
# mv 新建虚拟机-flat.vmdk tmp_新建虚拟机-flat.vmdk/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机
# ls -ladrwxr-xr-x 1 root root 1680 Apr 21 05:47 .drwxr-xr-t 1 root root 2660 Apr 18 03:16 ..-rw-r–r– 1 root root 102076 Apr 18 10:05 vmware.log-rw——- 1 root root 96468992 Apr 18 05:43 vmx-新建虚拟机-578288005-1.vswp-rw——- 1 root root 2147483648 Apr 18 05:43 新建虚拟机-2277f985.vswp-rw——- 1 root root 53687091200 Apr 21 05:47 新建虚拟机-flat.vmdk-rw——- 1 root root 8684 Apr 21 05:47 新建虚拟机.nvram-rw——- 1 root root 503 Apr 18 05:44 新建虚拟机.vmdk-rw-r–r– 1 root root 0 Apr 16 09:13 新建虚拟机.vmsd-rwxr-xr– 1 root root 3690 Apr 18 05:43 新建虚拟机.vmx-rw——- 1 root root 0 Apr 18 05:43 新建虚拟机.vmx.lck-rwxr-xr– 1 root root 3690 Apr 18 05:43 新建虚拟机.vmx~

(3) 在虚拟机目录下创建xxx.vmdk文件,大小要和xxx-flat.vmdk一样大

vmkfstools -c 53687091200 -a lsilogic 新建虚拟机.vmdkCreate: 100% done./vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机

ls -la *vmdk-rw——- 1 root root 53687091200 Apr 21 05:49 新建虚拟机-flat.vmdk-rw——- 1 root root 503 Apr 18 05:44 新建虚拟机.vmdk

(4) 将原来的(tmp_)xxx-flat.vmdk覆盖掉刚创建的同样大小的xxx-flat.vmdk

/vmfs/volumes/50a98441-ab02c8b7-e60a-001517712dce/新建虚拟机

mv tmp_新建虚拟机-flat.vmdk 新建虚拟机-flat.vmdk

重命名操作很快完成,启动虚拟机既可以恢复。

  1. 总结
    相比重新创建一个同名虚拟机,然后mv原来的xxx-flat.vmdk硬盘文件到新的虚拟机,更节省时间;此外也无需再次配置网卡地址。
    xxx.vmdk本身是一个不到1k的文本文件,通过vi编辑查看可知真正存放数据的是xxx-flat.vmdk磁盘文件,所以只要这个文件还存在,就可以恢复。
  2. 参考
    http://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId=2030127

误删除vmdk文件恢复办法相关推荐

  1. 重装系统时不小心全盘分区了的文件恢复办法

    重新分区是比较常见的数据恢复案例,需要注意,重新分区后不要再存入新的文件.重装系统时不小心全盘分区了的文件恢复办法 重装系统时不小心全盘分区了的文件恢复办法 工具/软件:光明数据恢复软件 步骤1:先下 ...

  2. 使用-flat.vmdk文件恢复ESXI虚拟机的vmdk文件

    使用-flat.vmdk文件恢复ESXI虚拟机的vmdk文件 前言 前言 网上搜索半天,看了好几个人,都写的太辣鸡了,所以在解决问题后记录下 1.用SSH登录Esxi,(esxi5.5默认是不开启的, ...

  3. 利用-flat.vmdk文件恢复ESXI虚拟机的vmdk文件

    错误描述 在vSphere上,一次重启虚拟服务器时出现启动不了,提示找不到vmdk虚拟磁盘文件 原因分析 查看这台虚拟服务器的摘要信息,对比datastore上其他可用的虚拟机,发现损坏的服务器上确实 ...

  4. Linux和Windows误删文件恢复办法

    在linux redhat 5.4版本,rm误删除数据库文件的恢复过程如下: (网上找的,测试过OK) 1.首先测试rm 误删除数据库文件 [oracle@primary dbwdn]$ ll tot ...

  5. linux 误删除mysql表能恢复吗_Linux下Oracle误删除数据文件恢复操作

    检查数据文件的位置如下: SQLgt; select name from v$datafile; NAME----------------------------------------------- ...

  6. linux oracle删除恢复数据恢复,Linux下Oracle误删除数据文件恢复操作

    检查数据文件的位置如下: SQL> select name from v$datafile; NAME --------------------------------------------- ...

  7. 无法访问机械硬盘提示执行页内操作时的错误的文件恢复办法

    D盘打不开执行页内操作时的错误,是因为这个I盘的文件系统内部结构损坏导致的.要恢复里面的数据就必须要注意,这个盘不能格式化,否则数据会进一步损坏.具体的恢复方法看正文 工具/软件:星空数据恢复软件 步 ...

  8. 磁盘被格式化了的文件恢复办法

    格式化是很常见的数据恢复案例故障,如果被格式化的盘是有重要的文件,那么一定要注意马上停止往这个盘写入文件.然后用数据恢复软件扫描恢复里面的数据.具体的恢复方法可以看下文了解. 工具/软件:流星数据恢复 ...

  9. 误删除VMware虚拟机vmdk文件的恢复方法

    Dell R710系列服务器(用于VMware虚拟主机),Dell MD 3200系列存储(用于存放虚拟机文件),VMware ESXi 5.5版本,因意外断电,导致某台虚拟机不能正常启动,查看虚拟机 ...

  10. 【学神-RHEL7】1-4-1-Linux文件管理和恢复误删除的文件

      Linux基本文件管理 本节所讲内容: Linux系统目录结构 相对/绝对路径 创建/复制/删除文件 rm -rf / 意外事故 查看文件内容 xfs文件系统的备份和恢复 extundelete恢 ...

最新文章

  1. perfect book
  2. Backbone与服务器接口之RESTful
  3. E - 数据结构实验之排序五:归并求逆序数
  4. 想成为程序员的话,这些书单必不可少——算法篇
  5. oracle-sqlloader的简单使用
  6. c语言字符密码验证码,c语言下的学生管理系统(含密码加密和验证码).docx
  7. [react] 组件卸载前,加在DOM元素的监听事件和定时器要不要手动清除?为什么?
  8. 【转载】大型网站性能
  9. 利用redis做网站每天访问量,好处节省空间,存上一亿个用户占用12M(理论上大概)...
  10. 机器学习、神经网络、深度学习区别
  11. 阿里巴巴Java开发手册(2018-2021泰山版整理)
  12. 21种网页在线客服代码实例演示
  13. 利用百度图像识别鉴定植物
  14. 衣带渐宽终不悔,为伊消得人憔悴
  15. uva12307(旋转卡壳)
  16. pyTest官方手册(Release 4.2)之蹩脚翻译(9)
  17. TikZ做思维导图并插入幻灯片
  18. 负载均衡之LoadBalancer
  19. (原創) 我也不JB了 (iPhone)
  20. 一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 保留两位小数

热门文章

  1. 大数据杀熟 算法_大数据“杀熟” 怎能让真正的刀俎逍遥法外
  2. 【Java愚公】gitlab关闭注册功能
  3. 许昌科三魏武路考试技巧
  4. 小恐龙游戏python_自动玩Chrome浏览器的小恐龙游戏
  5. 2018 6月底阿里、网易面试经历简单回忆
  6. (转)中华英才网竞品分析报告2016
  7. CAD立体图做法详细步骤
  8. Power Apps 中显示 SharePoint Online 数据
  9. WIN10桌面图标消失,且右键失效
  10. Photoshop制作会员登录界面(保姆级别教程)