VMware

Error al encender VM: Connection refused

Me he encontrado en alguna ocasion recientemente con el siguiente error al intentar encender una maquina virtual:

A General System error occurred: Connection refused

A general system error occurred

En mi caso, yo uso vCenter Server Appliance 6.0 Update 2. Para solucionar este problema, he tenido que seguir los siguientes pasos:

  • Entrar por ssh al VCSA con el usuario root
  • Habilitar la shell con los comandos

A general system error occurred

  • Verificamos el estado del servicio VPX Workflow

A general system error occurred

  • Si el servicio está detenido, lo arrancaremos con

A general system error occurred

Drama terminado

A general system error occurred

Microcode Updates en ESXi

Los fabricantes de procesadores en ocasiones detectan fallos en procesadores o cosas que hay que corregir despues de sacar al mercado los procesadores. Para hacer estas correcciones, se puede utilizar una cosa llamada actualizacion de micro código o microcode update. En esta entrada vamos a ver como podemos hacer el microcode update de un procesador Intel en un host ESXi.

Hace poco he cambiado el procesador de mi Lab ESXi y ahora tengo un E5-2630v4, un procesador muy nuevo que acaba de salir al mercado y probablemente tenga necesidad de alguna actualizacion de este tipo en el futuro. Siendo realistas, el archivo de microcode update que voy a usar es de Noviembre de 2015, asi que es muy posible que no incluya ninguna actualizacion que sea aplicable a mi CPU.

Vamos a ver los pasos necesarios para realizar microcode update a procesadores Intel en ESXi. Para todo el proceso yo uso Ubuntu 16.04, que es mi ordenador de sobremesa.

Descargar de la web de Intel el ultimo archivo de microcode update disponible de https://downloadcenter.intel.com/search?keyword=microcode (iremos al enlace de Linux Microcode Update Data File más reciente)

Descomprimimos el archivo que nos acabamos de bajar

Crearemos un script en python (intelBlob.py) con el siguiente codigo, que servira para pasar el texto en ASCII del archivo .dat de Intel en binario

Pasaremos el contenido del archivo dat de intel como entrada al script python

Comprimiremos el archivo resultante con gzip

Entraremos por SSH en el host ESXi y haremos una copia de seguridad del archivo de actualizaciones de microcodigo que venia con ESXi originalmente

Copiaremos con SCP desde nuestro equipo al host ESXi el archivo comprimido que hemos generado sobreescribiendo el que ya existe

Tras esto, queda reiniciar el host ESXi para que se apliquen los cambios

Para comprobar si se ha realizado algun parcheo del micro codigo de la CPU, entraremos por SSH al host ESXi y usaremos la herramienta vsish para verificarlo

En esas lineas donde podemos ver Number of microcode updates son las actualizaciones que se han aplicado a nuestro procesador. El mio, como indicaba anteriormente, es posterior a este archivo de actualizacion de Intel, porque hace apenas dos semanas que ha sido puesto en la calle. En el proximo archivo de updates, si encuentro que hay alguno aplicable, actualizare esta entrada.

IPMITOOL en ESXi

A quien tenga una placa base Supermicro como yo, puede que le hayan saltado de vez en cuando alarmas sobre la velocidad del ventilador, sobre todo cuando tenemos un ventilador como el mio de 14 centimetros que tiene unas velocidades de rotacion muy bajas. Para ajustar estos valores de umbrales de alarma en los sensores de supermicro tenemos la utilidad ipmitool. Lamentablemente, no esta disponible por parte de VMware, asi que lo que haremos sera bajarla, compilarla en nuestro equipo (yo la compilo en mi equipo de escritorio con Ubuntu 16.04) y luego subirla al host.

Descargamos el codigo fuente de ipmitool de

https://sourceforge.net/projects/ipmitool/

Instalamos las dependencias para compilarlo de forma que sea del agrado de ESXi (probado en ESXi 6.0u2)

Descomprimimos los fuentes de ipmitool y entramos dentro del directorio

Hacemos el configure indicando que queremos compilar un binario estatico de 32 bits

Compilamos ipmitool

Copiamos el binario de ipmitool por SCP al host ESXi

Entramos por SSH al host ESXi y le damos permisos de ejecucion a ipmitool

Si lo ejecutamos, podremos ver las lecturas de la placa directamente:

Ahora, si queremos cambiar los umbrales de alarma del ventilador, en mi caso, quiero cambiar los umbrales de FAN1 y lo hago con el siguiente comando

La sintaxis es bastante facil de entender y creo que no es necesario explicarla.

 

Unable to access file since it is locked – Fallo al consolidar

El origen de Unable to access file since it is locked

En ocasiones, sobre todo cuando trabajamos con entornos virtuales en los que se hacen backups a nivel de máquina virtual, podemos encontrarnos con warnings en las máquinas virtuales que nos indiquen “Virtual machine disks consolidation is needed

Para realizar la consolidación de discos, que no es más que eliminar los restos de snapshots que quedan abandonados, podemos ir en las acciones de la máquina virtual a Snapshot > Consolidate. Sin embargo, en algunas pocas ocasiones nos podemos encontrar con que esta acción no se puede realizar con el siguiente error:

Unable to access file since it is locked

Unable to access file since it is locked

Este error es mas o menos habitual cuando tenemos un entorno con cierta cantidad de máquinas virtuales de las que hacemos backup mediante sistemas que usen CBT / Snapshots, como pueden ser Veeam, VDP, etc.

Unable to access file since it is locked

Soluciones para Unable to access file since it is locked

A continuación te pongo una serie de pasos que suelen funcionar para solucionar este error “Unable to access file since it is locked

Refrescar los snapshots

Crear un nuevo snapshot de la máquina virtual y borrarlo posteriormente con la opción “Delete All“. Esto en ocasiones se lleva por delante restos de snapshots previos que hubiera.

Llevarse la máquina virtual a otro host

Otra prueba habitual que podemos hacer de forma rápida si el almacenamiento es compartido (y más despacio si usamos almacenamiento local) es hacer vmotion de la máquina virtual a otro host distinto.

Apagar la máquina

Si todavia obtenemos el error “Unable to access file since it is locked“, la siguiente prueba es repetir los pasos anteriores con la máquina virtual apagada si es posible. A partir de este punto, debemos esperar cierto downtime de la maquina virtual.

Reiniciar los agentes de gestion del host

Entrar por ssh al host en el que se ejecuta la máquina virtual y reiniciar el agente hostd con /etc/init.d/hostd restart. Esto es transparente para el host y no causa pérdida de servicio.

Reconectar los discos duros de la maquina virtual

Este metodo da un poco de miedo la primera vez que lo haces, pero tan solo tenemos que tener MUY CLARAS dos cosas

  • El orden de los discos en la maquina
  • Eliminar los discos sin borrarlos

Para hacer esto, apagamos la máquina virtual, editamos la configuración y seleccionamos remove en todos los discos duros de la misma. Recuerda usar la opción remove SIN borrado.

Unable to access file since it is locked

A continuación haremos Snapshot > Consolidate

Ahora viene la parte más pesada, agregaremos uno a uno y en orden TODOS los discos duros que tuviese, con la opcion Add Hard disk > Existing > Buscarlos en el datastore

Unable to access file since it is locked

Es importante que agreguemos el ultimo delta del disco problemático, ya que si no estaremos agregando un disco con datos antiguos.

Probaremos a ver si enciende la máquina. Si no fuese así, podemos ir a los siguientes dos últimos pasos. 🙂

Desbloquear el disco Manualmente metodo 1

Identificar quien es el propietario del lock de la máquina virtual

Para identificar quien es el propietario del bloqueo del disco de la máquina virtual, haremos los siguientes pasos

Identificar el disco bloqueado

Para esto, entraremos en el host donde está registrada la máquina virtual que nos da problemas y buscaremos los errores en /var/log/hostd.log con el siguiente comando

Identificar quien lo bloquea

Para identificar quien está bloqueando ese disco 9 de nuestra máquina virtual, ejecutaremos este comando (solo funciona con datastores VMFS)

Hay que fijarse en la línea de RO Owner. Podemos ver que termina en 001018f6a23e. Esa es la direccion MAC del host ESXi que tiene el lock del disco. En mi caso, sé que es el propio host ya que esta máquina en concreto es de las pocas que tengo en almacenamiento local, pero para ver la MAC de un host ESXi podemos ejecutar el siguiente comando

Podemos ver como se trata de la vmnic2. Iremos al host que tiene el bloqueo del disco y reiniciaremos su servicio hostd. Otras soluciones más extremas pueden pasar por poner el host bloqueador en modo mantenimiento y reiniciarlo.

Desbloquear el disco manualmente metodo 2: Clonar el disco dentro del datastore

La siguiente opcion es algo mas intrusiva ya que tenemos que clonar el disco de la maquina virtual que esta causando los problemas de bloqueo, a uno nuevo. Para ello usaremos el siguiente comando con la máquina virtual apagada. Es importante tomar como origen (primer parametro del -i) el ultimo snapshot disponible, en mi caso el 000008.

Ahora haremos remove del disco que nos está dando problemas en la máquina virtual, aceptaremos los cambios, y agregaremos el nuevo disco con el mismo SCSI ID que el que hemos reemplazado.

La maquina ya deberia funcionar en un 99% de los casos. Si veo que alguna vez estos pasos no me funcionan, ampliaré con las soluciones que encuentre.

 

 

Actualizar ESXi usando offline bundle

Existen varias maneras de actualizar un host ESXi

  • Usando vCenter Update Manager
  • Usando una ISO de instalación y arrancando el host desde ella
  • Usando esxcli desde el propio host usando el offline bundle

¿Qué es el offline bundle de ESXi?

Se trata de un zip que contiene los parches y actualizaciones, todos juntos, a modo de service pack. Es muy conveniente para desplegar en varios hosts o realizar actualizaciones de forma scriptada. Actualizar ESXi usando offline bundle nos permite actualizar entre versiones Major (5.5 a 6.0, por ejemplo), lo cual resulta muy conveniente, ya que saltas a la última versión de parches disponibles al cambiar de versión.

Para descargar el offline bundle de ESXi deberás logarte en tu cuenta de My VMware e ir a la sección Download Patches

actualizar ESXi usando offline bundle

Una vez allí, seleccionamos en producto ESXi (embedded and installable) y versión, la que te corresponda.

actualizar ESXi usando offline bundle

Generalmente, el primer resultado es la última versión del offline bundle, en el caso del ejemplo, el ESXi600-201602001.zip

Una vez descargado, podemos subirlo a un datastore accesible por el host, ya sea local o en red. Si lo subimos a un datastore en red, podremos acceder al mismo desde varios hosts sin tener que repetir la subida varias veces.

Una vez subido, iremos poniendo los hosts en modo mantenimiento y entrando en ellos por ssh

Ejecutamos el comando esxcli software vib update -d /vmfs/volumes/ruta_al_offline_bundle.zip

Problemas que podemos encontrarnos al actualizar usando ESXi offline bundle

Si la imagen que usabamos en la versión anterior de vSphere estaba personalizada de alguna forma o incluía un driver que ya no está disponible en la versión a la que actualizamos, nos encontraremos un error similar a este:

En este caso lo que debemos hacer es desinstalar el vib que nos esté dando problemas con el comando

¿Como sabemos que vibs tenemos presentes en el sistema que no sean certificados por VMware?

Podemos mirarlo con este simple comando

Otro problema que me he encontrado es que el perfil que tenemos de ESXi no es compatible con el offline bundle que nos hemos descargado. Esto me lo encontré al intentar actualizar a 6.0u2, con el siguiente error:

Lo podemos solucionar indicando al ESXi que queremos utilizar otro perfil distinto que es el que viene dentro del zip:

 

 

 

 

 

Actualizar vCenter Server Appliance 6.0

A continuacion vamos a ver los pasos necesarios para actualizar vCenter Server Appliance 6.0 (VCSA) desde shell.

El primer paso es descargarnos las ISOS de los parches. Para ello, iremos a https://my.vmware.com/group/vmware/patch
Ahi, seleccionaremos producto VC y versión 6.0.0 y pulsaremos el botón Search (azul)

actualizar vCenter Server Appliance

Nos descargaremos las DOS isos correspondientes a vCenter Appliance ultima versión. Una de las isos corresponde a las actualizaciones de VMware (FP) mientras que la otra (TP, Third Party) corresponde a actualizaciones de seguridad y sistema operativo. Ambas son importantes y debemos aplicar las dos.

actualizar vCenter Server Appliance

Actualizar vCenter Server Appliance usando ISOS

Si tienes tu Platform Services Controller desplegado en una maquina diferente al vCenter Server Appliance, deberás hacer estos mismos pasos PRIMERO en la maquina de PSC y luego repetir el mismo procedimiento en la maquina virtual del vCenter Server Appliance.

  • El primer paso es hacer un Snapshot de la maquina virtual. Queremos siempre tener una vuelta atrás sin complicaciones.
  • Conectaremos a la máquina virtual la ISO de TP, la que incluye las actualizaciones de seguridad y sistema operativo (Third Party).
  • A continuación, entraremos como root por SSH al vCenter Server Appliance.
  • Sin salirnos a una shell real (quedándonos en la que tiene como prompt “Command>” escribiremos “software-packages install –iso –acceptEulas“. A continuación puedes ver el progreso de la instalación en mi vCenter Server Appliance.

  • Para reiniciar vCenter Server Appliance escribiremos en la propia shell

A continuación es el turno de las actualizaciones de VMware vCenter propiamente. Montaremos la ISO de FP, la que incluye las actualizaciones de vCenter

  • Entraremos como root por SSH o consola al vCenter Server Appliance
  • Sin salirnos a una shell real, volveremos a ejecutar “software-packages install –iso –acceptEulas”. Reiniciamos y listo, vCenter Server Appliance actualizado.

En una ocasión tuve un problema al realizar la actualización de vCenter y era porque se me había llenado la partición de log en el VCSA. Está ubicada en /storage/log y haciendo un poco de espacio allí pude instalar sin problemas.

 

Interfaz HTML5 para ESXi

Desde los laboratorios de VMware nos llega la versión 2.0 del fling vSphere Host Client presentado durante el verano, que nos permite acceder a un cliente con interfaz HTML5 para administrar nuestros hosts ESXi 5.5 y superiores. Hay que dejar claras dos cosas:

  • Se trata de un fling, por lo que este cliente HTML5 para VMware ESXi carece totalmente de soporte más allá de la buena fe de los ingenieros de VMware que lo han desarrollado (y de su tiempo libre). Puedes probar a enviar tu comentario en inglés al sitio web del fling, donde puede que te contesten a tu pregunta o sugerencia. Al tratarse de un fling, pueden aparecer algunas cosas que no funcionen bajo algunas circunstancias. Se puede considerar software inestable y se presenta oficialmente como tech preview.
  • Como su nombre indica, se trata de un Host Client, es decir, sirve únicamente para administrar hosts de forma independiente y de ninguna manera vas a poder administrar todo el vCenter.

La nueva interfaz de vSphere Web Client en HTML5

Esta es la parte interesante. Por fin podemos observar de primera mano los pasos que están dando los ingenieros de VMware para proporcionarnos por fin un cliente web vSphere en HTML5. Esto sin duda es un notición, ya que parece que se empieza a avanzar para prescindir de la tecnología Flash en el cliente web vSphere. Como comentaba anteriormente, se trata de un Host Client, pero transmite una enorme diferencia en velocidad con respecto al ya muy mejorado vSphere Web Client 6.0.

Instalar vSphere Host Client HTML5

Para instalar esta interfaz html5 para esxi llevaremos a cabo los siguientes pasos:

  1. Descargaremos el fling de la web de VMware Flings.
  2. Subiremos el .vib a un datastore disponible en nuestro host ESXi en el que queremos disponer del cliente web html5.
  3. Entraremos al host ESXi por SSH. (recuerda que el usuario con el que uno ha de logarse por ssh es root y la contraseña la que corresponda a ese host).
  4. Escribiremos el siguiente comando
  5. Una vez se haya instalado veremos el siguiente mensaje del resultado de la ejecución:

Bien, ya tenemos instalado el cliente html5 para nuestro host VMware ESXi, vamos a acceder a el. Para ello, abriremos un navegador y usaremos esta URL:

https://host/ui

cliente html5 para esxi

Una vez hacemos login en la interfaz, nos encontramos con una escena que nos resultará seguramente familiar. Una quasi recreación del cliente web de vSphere pero con tecnología HTML5. ¿Esto pinta fenomenal a primera vista, verdad?

cliente html5 para esxi

Funcionalidades del vSphere Host Client en HTML5

A continuación vamos a ver qué nos permite hacer el cliente web html para esxi.

Capacidades del cliente html5 de esxi a nivel de host

A nivel de acciones de host, disponemos de un menú rápido que se despliega con click derecho del ratón sobre el host y con el que podremos

  • Unir el host a un vCenter
  • Desconectar el host de un vCenter
  • Crear una VM nueva o registrarla desde un datastore accesible por el host
  • Apagar el Host
  • Reiniciar el Host
  • Habilitar o detener los servicios de SSH y ESXi Shell
  • Poner el host en modo mantenimiento
  • Sacar el host de modo mantenimiento
  • Habilitar el modo LockDown
  • Generar un bundle de logs para soporte

cliente html5 para esxi

Si vamos a la opción Manage que aparece justo bajo el Host, podremos:

  • Editar la configuración avanzada del host (clave-valor)
  • Instalar licencias en el host
  • Habilitar o deshabilitar servicios
  • Configurar las opciones de fecha y hora.

cliente html5 para esxi

Si vamos a la opción Monitor, podremos ver

  • Marcadores y gráficas de rendimiento (incluyo dos capturas, donde podemos ver primero las graficas funcionando correctamente y otra donde se puede apreciar un bug en la representación)

cliente html5 para esxi

Aqui puedes ver como este fling es una beta y puede tener algunos fallos, como en este caso, de representación de las gráficas de rendimiento.cliente html5 para esxi

  • Estado de los sensores de Hardware

cliente html5 para esxi

Otro pequeño fallo, los valores que presenta están multiplicados por 100. La temperatura de la CPU real es de 42 grados y el ventilador no está girando a 130000 revoluciones por minuto…

  • Visor de los eventos del hipervisor

cliente html5 para esxi

  • Visor de las tareas del hipervisor

cliente html5 para esxi

  • Gestor de logs, con el que podemos leer en pantalla directamente los ficheros de log del host

cliente html5 para esxi

  • Notificaciones del host

cliente html5 para esxi

Capacidades del cliente html5 para esxi a nivel de VM

  • Encender, apagar, resetear o suspender una VM a nivel de Power.
  • Apagar o reiniciar una VM a nivel de Guest (mediante VMware tools)
  • Abrir una consola en una ventana HTML o en VMRC
  • Crear un snapshot, volver al último snapshots o el clásico gestor de snapshots donde podremos borrarlos o ir a otro que no sea el último.
  • Editar opciones de la VM
  • Renombrar la VM
  • Des-registrar una VM apagada
  • Borrar una VM apagada

cliente html5 para esxi

  • Desplegar una VM desde OVF / OVA (OVA limitado a 1 GB no así OVF)

cliente html5 para esxi

La consola tiene un funcionamiento rápido me encanta.

cliente html5 para esxi

cliente html5 para esxi

Si colocamos el ratón sobre una VM del listado de las disponibles, veremos un breve resumen de la VM con alguna información de la que solemos ver en la pestaña Summary del Web Client normal.

cliente html5 para esxi

Capacidades del cliente html5 para esxi a nivel de almacenamiento

  • Crear un datastore
  • Explorar un datastore
  • Registrar una VM
  • Expandir la capacidad de un datastore añadiendo otro dispositivo VMFS
  • Desmontar un datastore
  • Eliminar un datastore

cliente html5 para esxi

Capacidades del cliente html5 para esxi a nivel de red

  • Añadir o editar portgroups
    cliente html5 para esxi   cliente html5 para esxi
  • Añadir o editar Standard vSwitchescliente html5 para esxi
  • Añadir o editar VMkernels
    cliente html5 para esxi
  • Editar los stacks TCPIP para los servicios vMotion, Provisionado y la configuración por defecto.
    cliente html5 para esxi
  • Editar la configuración del firewall
    cliente html5 para esxi
    Aqui podemos ver otro pequeño bug de representación. Además no he sido capaz de editar las reglas del firewall.

Opinion del Cliente HTML5 para ESXi

VMware se está poniendo mucho las pilas y no es para menos. La tecnología Flash está quedando obsoleta a marchas forzadas, tanto por lo pesada que resulta de mover como por los fallos de seguridad que lleva presentando muchos años. Creo que VMware ha visto que le pillaba el toro y están dedicando a bastante gente a traducir toda la interfaz de usuario del vSphere Web Client a HTML5. Esta es una muestra, una tech preview, pero es síntoma claro de lo que se está cocinando en olla express en los laboratorios de VMware.

El funcionamiento, salvando un par de bugs que me he encontrado, es impecable. Cumple con creces y supera la experiencia de usuario del cliente tradicional de Windows (el viclient o cliente c#). Además, para personas como yo que usamos en casa y en el trabajo un equipo con Linux, es una auténtica bendición. Se acabó tener que usar una máquina virtual con Windows por obligación si queremos conectarnos a un host con un cliente gráfico o desplegar un OVF.

La consola transmite muy buenas sensaciones, es rápida y el ajuste del ratón es certero en Windows. No he visto repeticiones de pulsaciones, aunque eso suele ocurrirme en conexiones WAN con mucha latencia, como Asia o EEUU.

Un 11 sobre 10 para VMware por este fling. Seguiré con muchísimo interés la evolución del mismo.

Por si no quieres hacer scroll hacia arriba, aquí te dejo de nuevo el enlace a la web del Fling para que lo descargues tras marcar que “entiendes que es software no soportado y experimental

VDP – Server has a weak ephemeral Diffie-Hellman public key

Desde comienzos de Septiembre, todos los navegadores rechazan por defecto las conexiones a sitios SSL con certificados inseguros. En ocasiones esto puede traernos de cabeza, y a que la forma de alcanzar la configuración de appliances como vRealize Orchestrator o VDP es mediante un acceso a una web con SSL auto firmado.

Server has a weak ephemeral Diffie-Hellman public key

Error Server has a weak ephemeral Diffie-Hellman public key en VDP

Para solucionar este error deberemos acceder al appliance VDP por SSH. Si tu versión de VDP es anterior a 5.8, podrás acceder directamente como usuario root. Si es posterior a 5.8, deberás acceder con usuario admin y hacerte root posteriormente con el comando

Una vez estemos dentro, procederemos a editar el archivo /usr/local/avamar-tomcat/conf/server.xml y modificar las siguientes líneas:

Original

Cambiado

Reiniciamos el appliance VDP y ya podremos entrar como siempre

Server has a weak ephemeral Diffie-Hellman public key

P2V de Debian Squeeze a vSphere

A la hora de realizar operaciones de consolidación de servidores, virtualización de plataformas antiguas, etc, es habitual realizar operaciones de P2V (Physical to Virtual). Si estamos virtualizando Debian Squeeze, muy probablemente nos encontremos con errores como el siguiente al arrancar el equipo:

P2V debian

En él básicamente encontraremos mensajes del estilo de

Bien, esto tiene solución sencilla como veremos ahora.

El primer paso es descargar una iso de debian de debian.org

Una vez la tengamos, arrancamos la máquina virtual usando esta iso y en el menú de arranque, vamos a Advanced Options > Rescue Mode

P2V debian

 

Progresamos por el menú que nos pregunta el país, región, idioma de teclado y llegado el punto de la red elegimos la opción Go Back.

P2V debian

 

A continuación, en el menú que se nos presenta, elegiremos Rescue mode.

P2V debian

Una vez entramos en modo rescue, seleccionaremos la partición de disco que queremos utilizar como /. En mi caso es /dev/sda2, pero cada caso será distinto en función del particionamiento original que tuviese la máquina física.

P2V debian

Seleccionaremos la opción de ejecutar una shell en la partición que corresponda al / de nuestro servidor original. Repito que mi /dev/sda2 es particular del servidor que uso para el ejemplo.

P2V debian

Si tienes particiones separadas para /boot, /usr y/o /var necesitarás montarlas a mano posteriormente.

P2V debian

P2V Debian

 

Este servidor tenía diferentes particiones para /var, /boot, / y /tmp, sin embargo podemos ver que todas ocupan lo mismo que el raiz, eso quiere decir que si queremos hacer uso de ellas, tendremos que montarlas a mano.

P2V debian

En mi caso, sé que /dev/sda6 corresponde con /var así que la monto de forma manual, tal y como nos avisó el mensaje del rescue mode hace unos segundos.

P2V debian

(opcional) En este punto me gusta ejecutar bash para disponer de autocompletar con el tabulador.

Ahora ya podemos reconstruir el arranque con los siguientes dos pasos:

P2V debian

Salimos de la shell de rescate con Ctrl + D y elegimos la opción de Reboot system.

Recuperarse de un Datastore lleno en VMware

Cuando se nos llena un datastore en el que tenemos thin provisioning, la acción por defecto de vSphere es suspender las máquinas virtuales que están ejecutándose en él. Es posible que no nos demos cuenta hasta que veamos que las máquinas virtuales afectadas tienen un icono con un interrogante y si hacemos click sobre ellas nos aparece el siguiente diálogo, comunmente conocido como la “Pregunta” de la máquina virtual (Virtual Machine Question)

datastore lleno vmware

La máquina virtual no reanudará su funcionamiento normal hasta que contestemos de forma apropiada a esta pregunta (y el datastore no esté lleno). El problema puede surgir si se te ha llenado un datastore en el que están alojadas un gran número de máquinas virtuales. En ese caso, habría que ir contestando las preguntas máquina por máquina y esto supondría un problema en cuanto a tiempos de recuperación.

Podemos obtener un listado de las maquinas virtuales que hay dentro de un esxi ejecutando

Para comprobar los mensajes que tienen pendientes las maquinas virtuales, podemos utilizar el comando: (numero de maquina virtual es el numero de la primera columna en la salida del comando anterior)

Obtendremos una salida similar a :

Para evitar esto, te dejo un script que he desarrollado la última vez que me encontré con un datastore VMware lleno en un entorno de desarrollo y que, ejecutándolo en cada uno de los hosts del cluster, se encarga de escanear las máquinas virtuales en busca de preguntas pendientes, y en caso de haberlas, contestar el Retry de forma automatizada. De esta forma, se pueden revisar y re-arrancar (continuar tras suspensión realmente) unas 300 máquinas virtuales en cuestión de unos 5 minutos.

Deberás subir este script a cada uno de los hosts que contengan máquinas virtuales en un datastore lleno y ejecutarlo. Puedes darle permisos de ejecución con chmod +x nombre-del-script.