Recuperar partición VMFS

Muchas veces podemos ver la Lun asociada al volumen pero no nos aparece la opción keep existing signature que permite añadir el datastore sin crear una nueva partición en él.

A veces es simplemente porque se ha corrompido por problemas con la conexión.

En mi caso parte de la siguiente conexión ISCSI vamos a obtener los valores que necesitamos <sxh> naa.6090a098c0168e3bf4f73591100c635a iqn.2001-05.com.equallogic:0-8a0906-3b8e16c09-5a630c109135f7f4-volsasmvvdi </sxh>

Lo primero es saber si el disco es visto por nuestro ESXi <sxh>esxcli storage core path list | grep naa.6090a098c0168e3bf4f73591100c635a</sxh>

Para obtener información ejecutamos partedUtil getptbl /vmfs/devices/disks/naaxxxxxxxxxxxxxxxxxxxxxxxxxxxx En mi caso <sxh> partedUtil getptbl /vmfs/devices/disks/naa.6090a098c0168e3bf4f73591100c635a</sxh> Que me da como resultado <sxh> gpt 133676 255 63 2147512320 </sxh>

Si la paritición no comienza “1” o “vmfs” indica que no es reconocida

Para recrear la partición tenemos que ejecutar <sxh>partedUtil setptbl diskName label “partNum startSector endSector type/guid attr”</sxh>

Para saber el sector de inicio <sxh> 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 $1) 0x100000+(512*$i ) $disk; hexdump -n4 -s $2) 0x1300000+(512*$i ) $disk; hexdump -C -n 128 -s $3) 0x130001d + (512*$i ) $disk; done; } | grep -B 1 -A 5 d00d; echo “———————”; done </sxh>

Resultado <sxh> /vmfs/devices/disks/naa.6090a098c0168e3bf4f73591100c635a gpt 133676 255 63 2147512320 Checking offset found at 2048: 0200000 d00d c001 0200004 1400000 f15e 2fab 1400004 0140001d 64 73 76 61 72 31 35 35 73 61 73 6d 76 31 33 37 |dsvar155sasmv137| 0140002d 36 20 28 32 29 00 00 00 00 00 00 00 00 00 00 00 |6 (2)………..| </sxh> De aquí sacamos el valor del offset que según indica lo ha encontrado en 2048

El serctor de inicio en VMFS 5 es normalmente 2048 , salvo en losvolúmenes que han sido actualizados desde VMFS-3 a VMFS-5 que entonces comienzan en el sector 128

El valor de sector final lo sacamos del comando <sxh> partedUtil getUsableSectors /vmfs/devices/disks/naa.6090a098c0168e3bf4f73591100c635a</sxh>

El código GUI que identifica al tipo que queremos para nuestro disco lo sacamos de <sxh>partedUtil showGuids</sxh>

Entonces para montar nuestra partición tenemos

identificador del disco: naa.6090a098c0168e3bf4f73591100c635a

sector inicial: 2048

sector final: 2147512286

Código GUI para almacenes VMFS: AA31E02A400F11DB9590000C2911D1B8

attr: 0 (0 es lo normal, salvo que fuera arrancable que entonces sería 128 (0x80)

partedUtil setptbl /vmfs/devices/disks/naa.6090a098c0168e3bf4f73591100c635a gpt “1 valoinicio valorfinal AA31E02A400F11DB9590000C2911D1B8 0”

<sxh>partedUtil setptbl /vmfs/devices/disks/naa.6090a098c0168e3bf4f73591100c635a gpt “1 2048 2147512286 AA31E02A400F11DB9590000C2911D1B8 0”</sxh>

Ejecutamos <sxh>vmkfstools -V </sxh>para que proceda al montaje del volumen

Referencias

http://vmwareinsight.com/Articles/2018/3/5802942/How-to-create-corrupt-or-missing-VMFS-Partition-table-using-partedUtil

https://vmwars.wordpress.com/2018/10/26/re-create-missing-vmfs-label/

https://virtualhobbit.com/2015/05/26/recovering-damaged-vmfs-partitions/

https://kb.vmware.com/s/article/1036609?lang=en_US&queryTerm=partedutil

https://vinfrastructure.it/2013/01/recovering-a-lost-partition-table-with-a-vmfs-datastore/

https://virtualhobbit.com/2015/05/26/recovering-damaged-vmfs-partitions/

https://vinfrastructure.it/2013/01/recovering-a-lost-partition-table-with-a-vmfs-datastore/