恢復丟失的VMFS分區-適用於esxi5

恢復丟失的VMFS分區-適用於esxi5

標記命令

fdisk -l


ls /vmfs/devices/disks/

23437492224

23437492190


partedUtil getptbl /vmfs/devices/disks/naa.600605b00516e70b1fd810a50d36a227


partedUtil setptbl  "/vmfs/devices/disks/naa.600605b00516e70b1fd810a50d36a227" gpt "1 2048 23437492190 AA31E02A400F11DB9590000C2911D1B8 0"


312581808

312581774

partedUtil getptbl /vmfs/devices/disks/naa.5000cca329cbcdc3


partedUtil setptbl  "/vmfs/devices/disks/naa.5000cca329cbcdc3" gpt "1 2048 312581774 AA31E02A400F11DB9590000C2911D1B8 0"




   現在網上這樣的文章很少,大部分針對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

注意一下,這次都是實驗環境,不是生產環境,所以大家在做恢復的時候進來先用實驗去驗證一下,等到都明白後在去恢復重要的數據,切記恢復前一定要做備份。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章