Cuando se utilizan sistemas de virtualización es común utilizar dispositivos loop para montar los discos duros de las máquinas virtuales (dominios en el argot XEN). Los kernels de Linux tienen un límite máximo para este tipo de dispositivos; y aunque, es configurable, el límite por defecto se sitúa en los 16 lo cual no es mucho. Es sencillo aumentar este numero mediante la pertienente configuración del modulo.


options loop max_loop=128

Sin embargo existe un número máximo de 256 para el número de loops en el sistema aunque utilices está opción. Teniendo en cuenta que empíricamente parece que cada dominio (disco, swap, etc.) consume aproximadamente 4 loops esto implica que la cantidad máxima de dominios que pueden estar ejecutándose en el sistema es de 64; lo cual no es poco; pero puede ser un problema si quieres plantear un sistema con determinadas un grano muy fino. También es cierto que, dado que no es posible consumir más memoria de la que tiene el sistema entre todos los dominios, este límite parece razonable, pero en mi opinión es alcanzable.

XEN tiene un rendimiento realmente alto; pero uno tiene la sensación de que le falta ser más amigable con el usuario. Existen herramientas gráficas como virtmanager que intentar facilitar el uso; pero todavía queda mucho hasta que podamos decir que es amigable.

Un ejemplo de esto tiene que ver sobre el cálculo de CRCs en las comunicaciones entre dominios a través de los bridge en paquetes broadcast. No funcionan bien. El caso es que parece ser que esto lo suele hacer el hardware; y por tanto, como los paquetes que van a de un dominio a otro no pasan por él, no hay CRCs en estos paquetes y los dominios los rechazan. Parece que se puede solucionar haciendo esto:


ethtool -K eth0 tx off

Anuncios