2017年2月28日 星期二

誤刪vSphere ESXi中的datastore後 , 要怎麼救回?

本次LABiSCSILUN , 參考文章網址
https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2046610
刪除TEST , 它是100G的空間

SSH連線到該主機 , 輸入以下指令 ls –l /vmfs/volume/disks
用直覺去找naa編號

輸入藍色指令
1.        partedUtil getptbl /vmfs/devices/disks/naa.6001405b66f76d1dd30ed309dd9dbddc
gpt
13054 255 63 209715200 出現這個代表有東西 , 可能猜對了
2.     offset="128 2048"; for dev in `esxcfg-scsidevs -l | grep "Console Device:" | awk {'print $3'}`; do disk=$dev; echo $disk; partedUtil getptbl $disk; { for i in `echo $offset`; do echo "Checking offset found at $i:"; hexdump -n4 -s $((0x100000+(512*$i))) $disk; hexdump -n4 -s $((0x1300000+(512*$i))) $disk; hexdump -C -n 128 -s $((0x130001d + (512*$i))) $disk; done; } | grep -B 1 -A 5 d00d; echo "---------------------"; done


3.        partedUtil getUsableSectors /vmfs/devices/disks/naa.6001405b66f76d1dd30ed309dd9dbddc
  
   準備重新給它一個名稱
4.     partedUtil setptbl /vmfs/devices/disks/naa.6001405b66f76d1dd30ed309dd9dbddc gpt "1 2048 4123456 AA31E02A400F11DB9590000C2911D1B8 0"
給它一個區間從20484123456 , 其中4123456是原廠KB中建議的尾碼

5.     vmkfstools –V
掛載看看 , 輸入完回vsphere client 中的storage按重新整理 , 如果出現就成功了 , 我結果失敗 , 表示尾碼不對
打開/var/log/vmkernel.log 看看實際尾碼是多少 , 看錯誤訊息可知

6.   cat /var/log/vmkernel.log

原廠KBlog中的尾碼要加2047才是真實尾碼 ; 209713119 + 2047 = 209715166
7.     partedUtil setptbl /vmfs/devices/disks/naa.6001405b66f76d1dd30ed309dd9dbddc gpt "1 2048 209715166 AA31E02A400F11DB9590000C2911D1B8 0"
8.     vmkfstools –V
重新輸入指令有真實磁區尾碼 , 並再掛載一次看看









沒有留言 :

張貼留言