lunes, 4 de julio de 2011

XenServer - Netback CPU al 100% y sin red


El otro día mientras cambiaba la configuración de una Network para que utilizara otra NIC y posteriormente eliminar las antiguas Network con la NIC anterior tuve una caída "chungisima"... 

Todas la máquinas virtuales de dos domain0 se quedaron sin conectividad por otra Network que nada tenia que ver con las que estaba reconfigurando.

Lo que se podía ver en esos domain0 era un proceso "netback" al 100% de CPU, intenté matar el proceso sin fortuna. Al final se recuperó reiniciando los servidores, el susto fué importante.

Googleando por la red he visto que no soy el único que ha tenido este tipo de caidas. Al parecer este error esta causado porque el servidor domain0 se queda sin memoria. Se puede solucionar asignando una cantidad de memoria exclusiva para el domain0 mediante el siguiente parametro en el grub:
dom0_mem=512M

Y mediante el fichero de config de Xen cambiando dom0-min-mem=256 por dom0-min-mem=0

Esta solución funcionará para plataformas Xen OpenSource pero no para Citrix XenServer.

Entrando un poco a fondo de lo que es netback
netback forma parte de los Backend Drivers, estos están iniciados en los Dom0. Tenemos principalmente controladores de red y controladores de bloqueos. Este controlado en concreto forma parte de los modulos de red y reside en sparse/drives/xen/netback. El controlador de bloqueo esta en sparse/drives/xen/blkback.

Hay muchas cosas en común entre los controladores netback y blkback. La diferencia principal es que los controladores de blkback corren bajo un hilo del kernel (xenblkd), mientras que el controlador netback no corre en ningún hilo del núcleo.

Posiblemente al quedarnos sin memoria, la interconexión entre NetFront y NetBack dejó  las VM incomunicadas.

No hay comentarios:

Publicar un comentario