Cómo recuperar un almacén de datos VMFS eliminado en VMware ESXi/vSphere

Gestionar un almacén de datos VMFS que se elimina, se pierde o se daña en un host ESXi es un verdadero fastidio, especialmente si fue accidental, como hacer clic en «eliminar» en lugar de «desmontar».A veces, errores de almacenamiento o problemas de disco también pueden provocar que un almacén de datos desaparezca sin previo aviso. Si esto ha sucedido, no hay necesidad de alarmarse de inmediato. Existe la posibilidad de recuperar la partición en el disco manualmente, pero requiere un poco de paciencia y un poco de magia con la línea de comandos. El objetivo es restaurar el acceso a los datos VMFS para evitar tener que formatear o recrear desde cero, lo cual puede ser un gran problema. Prepárese para pasar algún tiempo en SSH, ejecutando comandos de partición y verificando los datos del disco, pero es posible con algunos pasos cuidadosos. Este tipo de recuperación no es infalible, pero es una salvación si intenta rescatar archivos importantes de la máquina virtual o imágenes ISO que aún están en el LUN.

Cómo recuperar un almacén de datos VMFS eliminado o dañado en ESXi

Qué hacer si su almacén de datos VMFS no está o aparece como desconocido

Primero lo primero, confirma que el almacén de datos no esté simplemente oculto o desmontado. Por lo general, en el host ESXi, querrás acceder por SSH (si SSH está habilitado, lo cual, por cierto, no siempre está habilitado de forma predeterminada).Puedes habilitar SSH mediante la Interfaz de usuario de consola directa (DCUI) o a través del cliente vSphere en Host > Acciones > Servicios > Habilitar SSH. Una vez que hayas iniciado sesión, deberás localizar el disco/LUN que contenía el VMFS, normalmente a través de Almacenamiento > Dispositivos en vCenter o ejecutando esxcfg-scsidevs -lSSH. Busca el dispositivo con el identificador naa/vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565, como. En algunas configuraciones, esta ruta es clave porque apunta directamente al dispositivo de almacenamiento con el almacén de datos perdido. Si tu disco aparece como faltante o la tabla de particiones ha desaparecido, esta guía de recuperación puede ayudarte a reconstruirla manualmente sin riesgo de sobrescrituras.

Compruebe si existe la tabla de particiones e identifique el diseño del disco

Ejecute el comando partedUtil getptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565. Si informa que existe una GPT (Tabla de Particiones GUID), es una buena señal: significa que la información de la partición técnicamente sigue ahí, pero no se reconoce correctamente. Si no aparece nada o ve errores como «Tabla de particiones desconocida», deberá configurar la etiqueta GPT manualmente. Aquí es donde la cosa se pone delicada. La idea es identificar el primer y el último bloque de la partición VMFS para restaurarla posteriormente.

Para encontrar el inicio de la partición VMFS eliminada, puede utilizar un script que verifique los bloques del disco, como:

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 at $i:"; hexdump -n4 -s $((0x100000+(512*$i))) $disk; done; } | grep -B 1 -A 5 d00d; echo "---------------------"; done

Esto ayuda a encontrar el bloque inicial de la partición. Supongamos que lo encuentra en 2048: esa es la primera pista para el siguiente paso.

Determinar el último bloque de la partición VMFS

Correr:

partedUtil getUsableSectors /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565

Esto le dará el total de sectores utilizables, lo que equivale al final de su partición: aproximadamente 20 971 486. Si se genera un error de «Tabla de particiones desconocida», deberá recrear la etiqueta GPT de la siguiente manera:

partedUtil mklabel /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 gpt

Esto borra la información de la partición, así que solo ejecútelo si está seguro de que el disco está intacto. A partir de ahí, deberá volver a aplicar el GUID exacto para el VMFS, que siempre es AA31E02A400F11DB9590000C2911D1B8. Para confirmar que tiene los GUID correctos, puede ejecutar partedUtil showGuids.

Reconstruir la tabla de particiones con la información de su disco

Ahora que tiene los bloques de inicio y fin, y el GUID, puede configurar nuevamente la información de la partición con:

partedUtil setptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 gpt "1 2048 20971486 AA31E02A400F11DB9590000C2911D1B8 0"

Después de ejecutar esto, verifique la lista de particiones una vez más para verificar que su partición VMFS ahora aparece:

partedUtil getptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565

Si todo está bien, simplemente vuelva a escanear sus adaptadores de almacenamiento con esxcfg-rescanel botón «Reescanear almacenamiento» (más grueso) en vSphere. Su almacén de datos debería reaparecer inmediatamente.

Montar/Reescanear y verificar la recuperación

Ejecute vmkfstools -Vy vuelva a escanear con:

esxcfg-rescan -a

Una vez que ESXi detecte la partición restaurada, acceda a su cliente vSphere y revise sus almacenes de datos. Si sus archivos, imágenes de máquina virtual o imágenes ISO siguen ahí, significa que lo hizo correctamente. A veces, basta con volver a montarla o actualizar la vista de almacenamiento.

Un consejo rápido: suele ser más seguro realizar estos pasos, pero asegúrate de tener una copia de seguridad de tu LUN o disco, por si acaso, porque, bueno, lo peor ahora mismo es sobrescribir tus datos accidentalmente. El proceso puede ser un poco complicado, sobre todo si tu disco tiene otras particiones o datos.

Si desea profundizar en la gestión de tablas de particiones en ESXi, VMware tiene un buen artículo de Knowledge Base sobre cómo usar partedUtil. Y recuerde: en algunas configuraciones, esto funciona mejor si prueba un enfoque diferente o reinicia después de realizar cambios.

Claro que cada entorno es diferente, así que puede que no todo salga bien. Pero en la mayoría de los casos, con este método, puede recuperar ese VMFS perdido y evitar empezar desde cero. Ojalá esto ayude a evitar la larga pesadilla de la recuperación.

Resumen

  • Conéctese a través de SSH al host ESXi y localice el disco con el almacén de datos perdido.
  • Compruebe si la tabla de particiones existe con partedUtil getptbl.
  • Si es necesario, configure la etiqueta GPT manualmente con partedUtil mklabel.
  • Identifique los bloques de inicio y final de la partición VMFS.
  • Reconstruir la tabla de particiones con partedUtil setptbl.
  • Vuelva a escanear el almacenamiento y verifique la visibilidad del almacén de datos.

Resumen

Si estás en apuros, estos trucos de línea de comandos pueden ayudarte a recuperar un almacén de datos aparentemente inactivo. Es un poco extraño, pero en muchos casos, la partición sigue existiendo, solo que no de forma que ESXi la reconozca. Es crucial tomarse el tiempo y verificar los comandos dos veces, sobre todo porque un error puede dificultar la recuperación. Espero que esto les ahorre muchos dolores de cabeza.¡Mucha suerte y no olviden las copias de seguridad!