The VDI is not available – XenServer 5.6 FP1

Hoy les traigo esta solución a un problema no muy común en las VMs de XenServer… la pérdida del VDI.

Tengo una VM que se colgó y no puede ser iniciada…
Empiezo a probar los comandos clásicos: No puedo detenerla desde el XenCenter. Trato de detenerla desde la línea de comandos con “xe vm-shutdown vm=” y/o “xe vm-shutdown –force vm=”.
Trato un desesperado “xe vm-reset-powerstate uuid=uuid-de-la-vm force=true” y falla.

Tratando de reiniciar el VDI, pruebo con: “xe task-list” a ver si hay algo pendiente que este bloqueando…
Si ves algo en este estado, proba cancelarlo con:“xe task-cancel uuid= TASK-UUID” y reintenta la operación.

Seguramente, vas a encontrar que el XenCenter no refresta, asi que lo vas a tener que cerrar y volver a abrir (este bug esta desde siempre)

Pero bueno, al querer iniciar la VM, te encontras con el mensaje de error “the vdi is not available”

La VM, tiene 3 discos:
C:\ System
E:\ Data
F:\ Logs

Trato de adjuntarlos de varias máquinas, de ida y vuelta, pruebo combinaciones y finalmente encuentro el disco que esta generando el problema: el E: nada más y nada menos que el mas critico de los discos, ¿Cuál otro sino?
Aparentemente el disco no puede ser accedido en el SR o está bloqueado o incluso dañado… pero que no panda el cunico, lo podemos resolver con los siguientes comandos:

1. Para esto necesitamos determinar el UUID del Storage Repository y el VDI con problemas.
2. Ejecutar xe vdi-forget uuid=<vdi_uuid>
3. Ejecutar xe vdi-scan sr-uuid=<sr_uuid>
4. Revisar el XenCenter (o ejecutar xe vdi-list sr-uuid=<sr_uuid>) para ver el VDI.
5. Reatachar el VDI a la VM y tratar de encenderla…

Espero que esto les sirva tanto como a mi,

Basado en la nota de VirtualBen