恢复丢失的VMFS5分区-适用于esxi5

简介:

这次公司机房需要临时停电,所以虚拟化这套设备需要停机一下,等我们弄完开机复电后,发现esxi始终连接不到存储,一开始以为网络和存储问题,但是最后都排除后,发现时分区表不见了,当时就全身发麻了。数据丢失了,经过我1天的查文档,做实验终于找到了恢复VMFS分区方法,并成功恢复了公司的数据。现在网上这样的文章很少,大部分针对vmfs-3的恢复方法,还没有vmfs-5的分区恢复办法,因为从vmfs-5后它支持了GPT,fdisk这样的命令已经不能用了。看下图吧。我们用全新的partedutil命令。
注意:我不能保证100%能恢复您公司的数据,但是我用实验能完整模拟vmfs-5分区表删除后恢复方法。所以使用前请君明察。

恢复丢失的VMFS分区-适用于esxi5

命令学习:
参考地址:http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1036609
http://bbs.vmanager.cn/thread-5709-1-1.html
http://wenku.baidu.com/view/5d14264669eae009581bec1f.html
这是我重建的vmfs分区分别是LUN01_50GB,LUN02_70GB。在client中看到的如图,注意带”:1”
恢复丢失的VMFS分区-适用于esxi5

恢复丢失的VMFS分区-适用于esxi5这是我挂载的两个iscsi设备红框内2个。通过esxi shell 看看命令下的分区。

红色的就是上两张图分别表示的,带“:1”的表示是vmfs分区,

~ # ls /vmfs/devices/disks/

mpx.vmhba1:C0:T0:L0 vml.0000000000766d686261313a303a30

mpx.vmhba1:C0:T0:L0:1 vml.0000000000766d686261313a303a30:1

mpx.vmhba1:C0:T0:L0:2 vml.0000000000766d686261313a303a30:2

mpx.vmhba1:C0:T0:L0:3 vml.0000000000766d686261313a303a30:3

mpx.vmhba1:C0:T0:L0:5 vml.0000000000766d686261313a303a30:5

mpx.vmhba1:C0:T0:L0:6 vml.0000000000766d686261313a303a30:6

mpx.vmhba1:C0:T0:L0:7 vml.0000000000766d686261313a303a30:7

mpx.vmhba1:C0:T0:L0:8 vml.0000000000766d686261313a303a30:8

t10.FreeBSD_iSCSI_Disk______000c29ae3a55000_________________ vml.020000000030000000f85265f3695343534920

t10.FreeBSD_iSCSI_Disk______000c29ae3a55000_________________:1 vml.020000000030000000f85265f3695343534920:1

t10.FreeBSD_iSCSI_Disk______000c29ae3a55001_________________ vml.0200010000300000000a39e6f0695343534920

t10.FreeBSD_iSCSI_Disk______000c29ae3a55001_________________:1 vml.0200010000300000000a39e6f0695343534920:1
~ # 
注释:

/vmfs/devices/disks/t10.FreeBSD_iSCSI_Disk______000c29ae3a55000_________________ ------>datastore

/vmfs/devices/disks/t10.FreeBSD_iSCSI_Disk______000c29ae3a55000_________________:1 ------>partition

查看datastore的扇区。红色部分为Device id,

~ # partedUtil getptbl /vmfs/devices/disks/t10.FreeBSD_iSCSI_Disk______000c29ae3a55000_________________

gpt
6527 255 63 104857600

1 2048 104857566 AA31E02A400F11DB9590000C2911D1B8 vmfs 0

~ # 
如上所示“1—partition number, 2048—vmfs 5.0 starting sector, 104857566 — ending sector” 
接下来,我们查看一下我们LUN01_50GB分区下的虚拟机文件,是咱们将来放虚拟机的地方,数据重要。
恢复丢失的VMFS分区-适用于esxi5
然后,我们把LUN01_50GB分区邮件删除分区,进行分区删除。模拟分区丢失!!!一定要在注意风险,切勿实际工作中使用。
删除后【数据存储】这里就看不到LUN01_50GB了,但在【设备】是可以看到的。

恢复丢失的VMFS分区-适用于esxi5

这里看到的相应Divce ID下已经无主分区了。

恢复丢失的VMFS分区-适用于esxi5

刷新后在挂载的设备已经看不到分区了。

恢复丢失的VMFS分区-适用于esxi5

这是LUN02(参照)的对比。

恢复丢失的VMFS分区-适用于esxi5

那现在命令查看一下吧:
~ # 

~ # ls /vmfs/devices/disks/

mpx.vmhba1:C0:T0:L0 vml.0000000000766d686261313a303a30

mpx.vmhba1:C0:T0:L0:1 vml.0000000000766d686261313a303a30:1

mpx.vmhba1:C0:T0:L0:2 vml.0000000000766d686261313a303a30:2

mpx.vmhba1:C0:T0:L0:3 vml.0000000000766d686261313a303a30:3

mpx.vmhba1:C0:T0:L0:5 vml.0000000000766d686261313a303a30:5

mpx.vmhba1:C0:T0:L0:6 vml.0000000000766d686261313a303a30:6

mpx.vmhba1:C0:T0:L0:7 vml.0000000000766d686261313a303a30:7

mpx.vmhba1:C0:T0:L0:8 vml.0000000000766d686261313a303a30:8

t10.FreeBSD_iSCSI_Disk______000c29ae3a55000_________________ vml.020000000030000000f85265f3695343534920

t10.FreeBSD_iSCSI_Disk______000c29ae3a55001_________________ vml.0200010000300000000a39e6f0695343534920

t10.FreeBSD_iSCSI_Disk______000c29ae3a55001_________________:1 vml.0200010000300000000a39e6f0695343534920:1

~ # 

t10.FreeBSD_iSCSI_Disk______000c29ae3a55000_________________ vml.020000000030000000f85265f3695343534920

这个下面已经没有:1了。
查看后没有了分区

~ # partedUtil getptbl /vmfs/devices/disks/t10.FreeBSD_iSCSI_Disk______000c29ae3a55000_________________

gpt
6527 255 63 104857600
~ #
已经看不到vmfs卷下的扇区了,而LUN02_70GB下就有。
这个是LUN02(参照)后

恢复丢失的VMFS分区-适用于esxi5

~ # 
~ # partedUtil getptbl /vmfs/devices/disks/t10.FreeBSD_iSCSI_Disk______000c29ae3a55001_________________
gpt
9137 255 63 146800640

1 2048 146800606 AA31E02A400F11DB9590000C2911D1B8 vmfs 0

~ # 
~ # 
~ #

~ # partedUtil getptbl /vmfs/devices/disks/t10.FreeBSD_iSCSI_Disk______000c29ae3a55000_________________

gpt
6527 255 63 104857600
~ # 
其实这次把lun01_50GB删除后,只是把VMFS分区表删除了,我们把他恢复出来吧。
----恢复分区---
这里一定要参照http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1036609 官方文档有明确说明。
利用partedUtil创建新的分区表:
~ #
partedUtil setptbl “/vmfs/devices/disks/t10.FreeBSD_iSCSI_Disk______000c29ae3a55001_________________ “gpt " 1 2048 146800606 AA31E02A400F11DB9590000C2911D1B8 vmfs 0 " 
~ # 
~ #

partedUtil setptbl “/vmfs/devices/disks/divce id “gpt " 1 2048 104857566 AA31E02A400F11DB9590000C2911D1B8 0 "

表示第一个分区,是主分区。2048表示vmfs-5分区开始扇区 。AA31E02A400F11DB9590000C2911D1B8 是VMFS GUID 其他都照着写就是了。

除了红的以外都是固定格式,104857566 这个是LUN01_50GB扇区数,这个数是VMFS卷扇区数减去vmfs头部占用的34个分区得来的。
看这条命令吧,这里的这些参数都是从下图这里得来
知道了参数后,我们就可以执行我们完整的命令了
新建丢失的分区表。

~ # partedUtil setptbl "/vmfs/devices/disks/t10.FreeBSD_iSCSI_Disk______000c29ae3a55000_________________" gpt "1 2048 104857566 AA31E02A400F11DB9590000C2911D1B8 0" 回车

gpt
0 0 0 0

1 2048 104857566 AA31E02A400F11DB9590000C2911D1B8 0

~ # 
~ # 
刷新一下,看看吧,原来的删除的分区出现了,下一步我们把它重新挂载一下,看看里面的虚拟机还在吗?
命令看看:

恢复丢失的VMFS分区-适用于esxi5

挂载一下吧:
恢复出LUN0_50GB分区了
看看数据是否在。

恢复丢失的VMFS分区-适用于esxi5

vmfs-5分区恢复成功,数据也恢复成功了。

恢复丢失的VMFS分区-适用于esxi5


恢复丢失的VMFS分区-适用于esxi5


恢复丢失的VMFS分区-适用于esxi5


恢复丢失的VMFS分区-适用于esxi5

注意一下,这次都是实验环境,不是生产环境,所以大家在做恢复的时候进来先用实验去验证一下,等到都明白后在去恢复重要的数据,切记恢复前一定要做备份。

本文转自学海无涯博客51CTO博客,原文链接http://blog.51cto.com/549687/1784742如需转载请自行联系原作者


520feng2007

相关文章
|
2月前
|
存储 数据挖掘 Windows
服务器数据恢复—V7000存储raid5故障导致LUN无法访问的数据恢复案例
服务器数据恢复环境: 三台V7000存储,共有64块SAS硬盘(其中有三块热备盘,其中一块已启用)组建了数组raid5阵列。分配若干LUN,上层安装Windows server操作系统,数据分区格式化为NTFS文件系统。 服务器故障: V7000存储中有多块硬盘出现故障离线,阵列失效,LUN无法访问。需要恢复卷中所有数据(主要为dcm文件)。
|
7月前
|
数据挖掘 Linux
服务器数据恢复-重装系统导致XFS分区丢失的数据恢复案例
服务器数据恢复环境: MD1200磁盘柜中的磁盘通过RAID卡创建了一组RAID5阵列,分配了一个LUN。在Linux操作系统层面对该LUN进行了分区,划分sdc1和sdc2两个分区,通过LVM扩容的方式将sdc1分区加入到了root_lv中;sdc2分区格式化为XFS文件系统。 服务器故障: 服务器重装系统后,磁盘分区改变,sdc2分区丢失,无法访问。
服务器数据恢复-重装系统导致XFS分区丢失的数据恢复案例
|
Linux KVM 虚拟化
如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据
如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据
651 0
如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据
|
7月前
|
存储 数据挖掘
服务器数据恢复—服务器XFS分区丢失的数据恢复案例
服务器数据恢复环境: 一台服务器+MD1200磁盘柜,通过raid卡将15块磁盘组建成一组raid5磁盘阵列。raid5阵列分配了2个lun,操作系统层面对lun进行分区:1个分区采用LVM扩容方式加入到了root_lv中,其余分区格式化为XFS文件系统。 服务器故障: 工作人员为服务器重装操作系统时操作失误导致分区状态改变,一个存放重要数据的分区丢失,无法访问。
服务器数据恢复—服务器XFS分区丢失的数据恢复案例
|
7月前
|
Oracle 关系型数据库 Linux
服务器数据恢复—磁盘掉线但热备盘没有启用导致RAID5阵列崩溃的数据恢复案例
某公司的一台服务器中的raid5磁盘阵列有两块磁盘先后掉线,服务器崩溃。故障服务器的操作系统为linux,操作系统部署了oa,数据库为oracle。oracle数据库已经不再对该oa系统提供后续支持,用户要求尽可能恢复操作系统和数据。 经过北亚企安数据恢复工程师检测,发现热备盘完全无启用,所有硬盘不存在明显物理故障,无明显同步的表现。
服务器数据恢复—磁盘掉线但热备盘没有启用导致RAID5阵列崩溃的数据恢复案例
|
7月前
|
存储 关系型数据库 数据库
服务器数据恢复—ESXi无法识别原数据存储和VMFS文件系统的数据恢复案例
一台某品牌服务器,通过FreeNAS来做iSCSI,然后使用两台同品牌服务器做ESXi虚拟化系统。 FreeNAS层为UFS2文件系统,使用整个存储建一个稀疏模式的文件,挂载到ESXi虚拟化系统。ESXi虚拟化系统中有3台比较重要的虚拟机,这几台虚拟机情况如下: 1、windows server操作系统,运行门户网站,采用ASP.net+PHP混合构架,部署的SqlServer和mysql数据库 。 2、FreeBSD操作系统,运行Mysql数据库,供其他多台虚拟机使用。 3、windows server系统,存放新开发的程序代码。
|
7月前
|
Oracle 关系型数据库 数据挖掘
服务器数据恢复—raid5磁盘掉线热备盘未激活导致崩溃的数据恢复案例
服务器数据恢复环境: 某品牌X系列服务器,4块SAS硬盘组建了一组RAID5阵列,还有1块磁盘作为热备盘使用。服务器上层安装的linux操作系统,操作系统上部署了一个基于oracle数据库的OA(oracle已经不再为该OA系统提供后续服务支持)。 服务器故障: raid5中一块磁盘离线,热备盘未自动激活rebuild(原因不明)。服务器在运行一段时间后,另一块磁盘离线,RAID5阵列崩溃。用户方要求尽可能恢复服务器操作系统和服务器中的数据。
服务器数据恢复—raid5磁盘掉线热备盘未激活导致崩溃的数据恢复案例
|
数据挖掘 数据库 虚拟化
服务器数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
服务器数据恢复环境: 某品牌720服务器搭配该品牌某型号RAID卡,使用4块STAT硬盘组建了一组RAID10阵列。服务器上部署XenServer虚拟化平台,系统盘 +数据盘两个虚拟机磁盘。虚拟机上安装的是Windows Server操作系统,作为Web服务器使用,网站使用的是SQLServer数据库。 服务器故障: 服务器意外断电导致XenServer中一台VPS(XenServer虚拟机)不可用,虚拟磁盘文件丢失。
服务器数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
|
运维 数据挖掘 数据库
服务器数据恢复—服务器raid5磁盘故障导致分区无法访问的数据恢复案例
某品牌DL380服务器中有一组由三块SAS硬盘组建的RAID5阵列。数据库存放在D分区,数据库备份存放在E分区。 服务器上有一块硬盘的状态灯显示红色,D分区无法识别,E分区可识别,但是拷贝文件报错。管理员重启服务器,离线的硬盘上线,同步了一段时间但是还没有完成同步时候,管理员将服务器强制关机,之后就没有动过服务器。
服务器数据恢复—服务器raid5磁盘故障导致分区无法访问的数据恢复案例
|
弹性计算
LVM丢失恢复
LVM丢失恢复

相关实验场景

更多