VMFS文件系统数据删除恢复阶段性成果

转载地址: http://www.intohard.com/article-582-1.html


0X01 VMFS文件系统

  VMware VMFS (Virtual Machine File System) is VMware, Inc.’s clustered file system used by the company’s flagship server virtualization suite, vSphere. It was developed to store virtual machine disk images, including snapshots. eg:VMFS6 is used by vSphere 6.5.

  VMFS is the formatting (like NTFS/EXT3/FAT/FAT32) used for a partition on the ESX Host. A VMFS volume is used to store virtual Machines. Virtual Machines are stored in the VMDK format (onto the VMFS volume). So the disks of a virtual machine are stored as VMDK files on a VMFS volume on the ESX host.


0X02 VMFS文件系统数据删除恢复

  前阶段,遇到个客户,客户ESX4.0的服务器,文件系统VMFS3,删除了一个96G左右的VMDK,客户要求,重新启动。第一次遇到vmfs的,网上资料少的可怜,但是还好,官方的一些资料以及开源的vmfstools给予了本次恢复莫大的帮助。

  首先看看客户盘中现存的vmdk的情况,vmdk的碎片量非常大,几个vmdk都看了一下碎片后,碎片总量在800-10000之间,因此对flat的vmdk做碎片基本是不可能了,只能从文件系统存储角度考虑。

  记得夜里加班的时候,我给我同事写过四句话,这四句话其实可以概括了,所有的文件系统类型的反删除恢复的基本操作步骤,当然,如果你对本文件系统相当了解的情况下,也可以直接跳过去,分享下四句话:

1. 文件系统如何读文件?
2. 删除文件的时候发生了什么,是否会干掉所有pointer(类似fat那样)?
3. 哪些系统元数据是与数据指向有关的?(与编程一样,都是靠pointer来实现寻址)
4. 制作一个工具,逆向这些步骤,你就可以恢复出来了。

  因此,通过上诉四句话,我们基本上可以了解了从一个未知的文件系统中恢复数据的基本逻辑步骤,因此作为第一步,我们需要一个测试环境,能够让我们随意的创建和删除文件用,因此我把ESXI安装在了虚拟机中,作为分析,逐步解开vmfs的删除操作之谜
这里写图片描述

  这个是我测试用的vmfs文件系统,通过不断反复几十次的增,删,改,查的方式,我们发现两个箭头中所指向的文件应该是恢复的重点。.fdc.sf(=file descriptor cluster.system file英文全称,这样好记一点,主要负责存储文件元数据以及一级索引),pbc.sf = pointer block cluster.system file,主要存储2级索引。下面是我们测试的结果:

当我们删文件的时候发生了什么?
1. 文件的目录项(包含名称以及record id等信息)会被直接清空掉(搞不懂为何要用这种这么低效的办法,对于文件数量庞大的存储,vmfs绝对是噩梦,还好只是少量的vmdk)
2. 一级索引会被直接清空。因此小文件是无法通过索引恢复的。

那么一级和二级索引在文件删除时发生了什么?
  一级索引,只有256个槽位,每个索引都是u_int32,因此一共可以存放256个索引,我们测试了一下,在默认情况下,一个vmfs的block的大小是1m的情况下,一级索引能够承载的最大文件就是256M,如果文件一旦大于这个量一级索引就不会直接在指向数据区,而是改到二级索引位置由二级索引完成数据指向,从而达到扩展索引槽位的目的。当发现这个信息的时候,我们就激动了,因为vmdk基本不可能那么小,都是上百G,因此所有的二级索引都会被保留下来,通过对PBC中的二级索引进行提取即可完成所有碎片的搜集和恢复工作。


备注:使用Linux vmfs-tools挂载访问VMFS文件磁盘,即可将其中的文件复制出来,参考教程[1]


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《企业级 VMware vSphere 6.7虚拟化技术配置与管理》课程共分为“上集”和“下集”两部分,本套视频为“上集”部分,从零基础讲起,由浅入深,是虚拟化入门与提高学习推荐课程。 通过本课程学习,可以全面、深入、系统掌握vSphere产品的规划、设计、安装、配置、管理等相关技能。结合课程实战,深入理解软件定义计算、存储、网络相关概念和运维技能。 《企业级 VMware vSphere虚拟化技术配置与管理》上集部分具体课程章节如下。 第1章 《vSphere技术基础》主要内容本章我们从理论上描述了虚拟化技术。第一部分重点讲解了什么是虚拟化技术;什么是vSphere。第二部分重点讲解了vSphere的设计思想,从虚拟化层、管理层、接口层进一步展开分析,使从业学习人员从技术层面对VMware vSphere进行深层次学习。 第2章 《VMware ESXi 安装和设置》主要内容本章我们重点讲解了两部分内容,第一部分主要讲解了安装ESXi程序的准备工作及安装过程。第二部分主要讲解了ESXi服务器的基本设置。这些内容是成为VMware工程师的必备技能,也是基础要求,希望各位朋友认真学习,踏实实践。 第3章 《vSphere Host Client管理单台ESXi主机》主要内容本章我们主要讲解了通过vSphere Host Client管理单台ESXi主机相关技能。包括vSphere Host Client的版本情况,基本理论知识;结合理论知识,重点给大家演示了使用vSphere Host Client对ESXi主机进行管理、对虚拟机进行管理、对网络进行管理、对存储进行管理等内容。操作内容比较多,希望朋友们认真理解理论知识的同时,踏实做好每一个实验,用实验检验理论,通过理论指导实践。 第4章 《vCenter Server 安装和设置》主要内容本章我们从理论上讲解了vCenter Server的安装类型、安装要求、安装分类、安装涉及到的组件和服务。在理论的基础上,我们分类分步进行了各种模型的构建,这些构建模型包括:* Windows环境部署具有嵌入式PSC的vCenter Server;* Windows环境部署具有外部PSC和外部SQL Server数据库的vCenter Server;* Linux环境部署具有嵌入式PSC的VCSA;* Linux环境部署具有外部PSC的VCSA。本章内容理论丰富,实验详细。希望朋友们认真学习理论说明,跟做章节中涉及的每一个实验,边看边做边总结。最终能够形成自己的知识。注释:PSC:亦指Platform Services ControllerVCSA:亦指vCenter Server Appliance 第5章 《vCenter Server基本配置和主机管理》 主要内容本章我们从理论上讲解了vSphere在数据中心的物理结构、软件组件、客户端使用界面、受管清单对象、可选vCenter Server组件和vCenter Server插件。在理论的基础上,详细介绍了vSphere Client的基本使用,包括对vCneter Server的管理操作、常规配置、高级属性定义、群集对象操作、vSphere标记和属性等。 第6章 《VMware vSphere 6.7 网络配置与管理》 主要内容软件定义网络,是虚拟化技术中的重要知识点。本章我们主要讲解了VMware vSphere网络的配置与管理。通过大量的理论和图例详细阐述了虚拟化环境中的网络模型和工作流程。课程中,我们对VMware vSphere虚拟化环境中的标准交换机和分布式交换机进行了分类讲解,并详细演示了涉及到的每一个实验。虽然理论和实践都做了比较详尽讲解,但对于初学者仍有一点的难度。克服困难的最好方式就是多做实验,验证理论。可谓实验三遍,其义自见。 第7章 《VMware vSphere 6.7 存储配置与管理》 主要内容本章我们通过理论结合实践的方式讲解了 VMware ESXi和 VMware vCenter Server提供的虚拟化和软件定义的存储技术。这些技术细节包括:将ESXi与iSCSI SAN配合使用;为VMware ESXi配置iSCSI共享存储;管理虚拟化环境中的存储设备;使用虚拟闪存读取缓存;在虚拟化环境中使用数据存储;虚拟化环境中的多路径和故障切换技术;裸设备映射技术;存储置备和空间回收技术;管理存储I/O资源。大家在学习过程中,可以以此为参考,构建自己的环境,逐步熟练课程中的术语和操作技能。 第8章 《VMware vSphere 6.7 虚拟机配置与管理》 主要内容本章我们对VMware vSphere 环境中部署虚拟机、部署 OVF 和 OVA 模板、使用内容库、配置虚拟机硬件、配置虚拟机选项、使用 vSphere vApp 管理多层应用程序、编辑虚拟机启动和关机设置等做了全面介绍。希望大家在掌握理论的基础上,参照课程实践部分,独立完成各个实验操作。 后续:在理论知识扎实,实践操作到位的情况下,《企业级 VMware vSphere虚拟化技术配置与管理》下集将深入讲解vSphere环境下的vMotion、DRS、High Available(HA)、fault tolerance(FT)、性能监控、安全备份等高可用性内容,敬请学习提高。 企业级 VMware vSphere 6.7虚拟化技术配置与管理(上集)视频课程:https://edu.csdn.net/course/detail/35162企业级 VMware vSphere 6.7虚拟化技术配置与管理(下集)视频课程:https://edu.csdn.net/course/detail/35171

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值