lunes, 31 de julio de 2017

Node fairness: Controlando el Balanceo de maquinas virtuales en Hyper-V 2016

En Windows Server 2016, Microsoft introdujo una nueva característica de Failover Clustering disponible exclusivamente para el rol Hyper-V. Se trata de Node Fairness, una funcionalidad pensada para mantener balanceada la carga de los nodos del cluster redistribuyendo maquinas virtuales cuando detecta que algún nodo esta sobrecargado. Las maquinas virtuales se mueven a nodos con menor carga mediante migraciones en vivo y por lo tanto sin disrupción de servicios.



El feature viene activo por defecto y ya sea mediante Powershell o la consola de Failover Cluster Manager, puede desactivarse, configurar cuando entrará en acción y ajustar la agresividad de la heuristica que utiliza el cluster para determinar cuando un nodo esta sobrecargado.

AutoBalancerLevel

Hay 3 niveles de agresividad para esta heuristica:

AutoBalancerLevel Agresividad Porcentaje de carga del Host
1 Baja 80%
2 Media 70%
3 Alta 60%


Para visualizar el valor por defecto:

PS C:\Users\Administrador.CONTOSO> Get-Cluster -Name cluster01 | fl autobalancerlevel
AutoBalancerLevel : 1

Como puede verse, AutoBalancerLevel esta por defecto establecido en 1, un valor bastante relajado, que indica que si la CPU o memoria llegan al 80% de uso deberá empezar a hacer migraciones en vivo de maquinas virtuales a otros nodos del cluster.

Para ajusta el valor de AutoBalancerLevel con PowerShell:

PS C:\Users\Administrador.CONTOSO> (Get-Cluster).AutoBalancerLevel = 2


AutoBalancerMode

Otro valor configurable es AutoBalancerMode, que determina en que momentos se verificará la carga de trabajo de los nodos, por defecto viene establecido 2, lo cual hace uso de los nuevos nodos agregados al cluster para rebalancear la carga de VMs y también controla cada 30 minutos que ningún nodo este sobrecargado, de forma que si algún nodo del cluster falla y las maquinas virtuales migran a otros nodos, Node Fairness se encargará de corregir la distrubución de carga de VMs en los nodos sobrevivientes.

AutoBalancerMode Comportamiento
0 Deshabilitado
1 Balancear solo al agregar nuevos nodos
2 Balancear al agregar nodos y cada 30 minutos

Para cambiar este valor con PowerShell:

PS C:\Users\Administrador.CONTOSO> (Get-Cluster).AutoBalancerMode = 1  


Para modificar estos valores desde la consola Failover Cluster Manager, en las propiedades del clúster, modificar las opciones de la pestaña equilibrador:



Salvo excepciones por necesidades específicas, la configuración por defecto es apropiada para la mayoría de los escenarios. Node Fairness respeta las políticas existentes de anti-affinity y possible owners configuradas en el cluster.

Balanceo de VMs en Virtual Machine Manager

En un clúster manejado por VMM, Node Fairness se desactiva automáticamente en favor del feature Dynamic Optimization presente desde Virtual Machine Manager 2012, cuya funcionalidad es equivalente e incluso va un poco mas allá, permitiendo configurar que el balanceo ocurra en schedules establecidos por el administrador.


0 comentarios:

Publicar un comentario