Reglas de afinidad en VMware vSphere 4.1
Hola a todos, soy Florián Murillo y ha llegado el momento de empezar a desgranar las mejoras de vSphere 4.1, que no son pocas, hoy hablaremos de las reglas de afinidad.
Hasta ahora (vSphere 4.0) el cluster DRS tenía reglas de afinidad y anti-afinidad basadas en VM, es decir “la VM1 debe ejecutarse en el mismo anfitrion que la VM2”, lo que podemos llamar “Reglas de afinidad VM-VM”.
Con vSphere 4.1, el cluster DRS define “Reglas de afinidad VM-Anfitrión”, es decir, “El Grupo1 de VMs se ejecuta en el Grupo1 de Anfitriones”, yo puedo agrupar los anfitriones por bladeCenter, rack, edificio, ciudad o lo que me plazca.
Además tengo 2 tipos de reglas, tanto en el caso de afinidad como de anti-afinidad, son las reglas “must” y las reglas “should”.
En un cluster DRS y HA, una regla “should” puede ser incumplida por HA ante la caída total del Grupo de anfitriones donde está aplicada, y una regla “must” será respetada por HA ante la perdida de dichos anfitriones.
Para configurar las nuevas reglas de afinidad hay que realizar 2 tareas:
1. Crear los grupos de VMs y de anfitriones
2. Crear la regla (should o must) de afinidad o anti-afinidad.
Al entrar en el “Edit settings” del cluster tenemos la opción “DRS Groups Manager” para crear los grupos y “Rules” para crear las reglas.
En la imagen siguiente veréis que desde “DRS Groups Manager” he creado dos grupos de VMs, llamados GrupoUNO y GrupoDOS y dos grupos de anfitriones, llamados AnfitrionesUNO y AnfitrionesDOS.
Es curioso que a estas alturas de la tecnología no podamos cambiar el nombre del grupo tras grabarlo.
Al entrar en la opción “Rules” tenemos las opciones clásicas de “Keep VM Together” y “Separate VM” (ahora soporta más de dos VM), además de la nueva modalidad “Virtual Machines to Hosts”
Como habéis visto en la pantalla anterior, solo podemos especificar un grupo, no una VM.
Cuando el cluster es DRS + HA, las reglas actúan de la siguiente manera:
“Must run on hosts in group”: Si un anfitrión del grupo falla, las VM se levantarán en otro anfitrion del grupo. Si todos los anfitriones del grupo caen, por ejemplo un BladeCenter, NO se levantan las VMs en otros anfitriones del cluster pero externos al grupo.
“Should run on hosts in group”: Si un anfitrión del grupo falla, las VM se levantarán en otro anfitrion del grupo. Si todos los anfitriones del grupo caen, SI se levantan las VMs en otros anfitriones del cluster pero externos al grupo.
“Must Not run on hosts in group”: Si un anfitrión falla, las VM se levantarán en otro anfitrion que no pertenezca al grupo. Si todos los anfitriones ajenos al grupo caen, NO se levantan las VMs.
“Should Not run on hosts in group”: Si un anfitrión falla, las VM se levantarán en otro anfitrion que no pertenezca al grupo. Si todos los anfitriones ajenos al grupo caen, SI se levantan las VMs en un anfitrión del grupo.
En resumen, disponemos de mas granularidad, muy interesante en entornos medianos y grandes.