还原快照就相当于删除数据,也就意味着底层的存储空间会被释放一部分,为了不让这部分空间重用,需要将连接这台存储的所有虚拟机都关掉,如果有重要的虚拟机不能长时间宕机,则需要迁移到别的EXSI上,而用户这里有一台虚拟机很重要,不能关机,只能做热迁移。 【虚拟机环境描述】 1)故障虚拟机是由物理机迁移到VMware EXSI虚拟机上面的,迁移完成后以防不稳定做了一个快照。 2)虚拟机上运行的是一个SQL 2005的数据库,记录了从2008年到2014年所有的数据。 3)整个EXSI上一共有20几台虚拟机,EXSI连接的存储是一台HP EVA4400,所有的虚拟机(包括故障虚拟机)都放在EVA上。 【故障描述】 由于员工的误操作,不小心还原快照了,快照是3年前做完迁移时建的,也就是虚拟机还原到3年前了,也就意味着这3年的数据都被删除了,而这些数据都是特别重要的。 【还原准备工作】 还原快照就相当于删除数据,也就意味着底层的存储空间会被释放一部分,为了不让这部分空间重用,需要将连接这台存储的所有虚拟机都关掉,如果有重要的虚拟机不能长时间宕机,则需要迁移到别的EXSI上,而用户这里有一台虚拟机很重要,不能关机,只能做热迁移。而vmware的热迁移则是需要建立N多个快照来完成迁移的,这给后期的恢复快照工作带来很多麻烦,迁移完所有虚拟机后就需要对底层的EVA存储做镜像了,但是客户比较着急,镜像整个存储需要的时间太长,最后将EVA存储以只读的方式挂载到一台服务器上,我们以只读的方式恢复数据。 【解决方案】 Vmfs文件系统介绍: Vmware自己的文件系统叫做Vmfs,所有的虚拟机都存放在这个文件系统中。Vmfs文件系统中默认会将整个磁盘分成1M的Block,分配给文件的最小单位为一个Block。Vmfs文件系统中会有一片区域描述这些1M Block的使用情况,而每1024个Block(也就是1GB)会用一个MAP来记录。这个MAP里面记录的1M Block在物理磁盘上不一定是连续的。但这个MAP所记录的所有1M Block一定是同一个文件的。可以理解为一个文件是由N多个MAP中的1024个Block组成的,即FileSize = N * MAP * 1024(Block)。 Vmware的快照其实就是一个文件,还原快照也就意味着是删掉一个文件。而在Vmfs文件系统中,删除一个文件只会删掉文件的索引项,而不会删掉文件的实际数据以及指向数据的MAP,而我们要做的就是提取整个vmfs文件系统中空闲的MAP,然后在空闲的MAP中找到一个符合快照文件头结构的MAP,然后根据快照文件的结构,提取快照文件剩下的碎片,提取完快照文件后,需要将快照文件和原vmdk合并生成新的vmdk。新的vmdk中包涵了所有的数据,接下来挂载新的vmdk解释里面的数据即可。 【数据恢复成功】 由于用户做过热迁移虚拟机,所以导致快照有几个碎片被重用了,最终恢复的数据中,最新的数据不可用,但由于客户的数据是数据库,并每天都备份2次,最新的数据不可用,但备份的数据可用。 如有还有疑问的事情请咨询:TEL:13011628855 QQ:9443120 服务器数据恢复中心 |
针对SMR叠瓦式硬盘存在的问题,西数正在用更先进的技术解决,他们开
固态硬盘不认盘了能做数据恢复吗?从专业数据恢复层面来讲,当前有一
如今固态硬盘基本成为了标配,机械硬盘相比固态硬盘在读写速度在存在