Vous pouvez activer la distribution automatique de la charge du groupe de ressources sur les noeuds en définissant des limites de charge. Vous pouvez configurer un ensemble des limites de charge pour chaque noeud de cluster. Les facteurs de charge assignés à des groupes de ressources correspondent aux limites de charge définies des noeuds. Le comportement par défaut consiste à distribuer la charge du groupe de ressources de manière équitable sur tous les noeuds disponibles dans la liste des noeuds du groupe de ressources.
Les groupes de ressources sont démarrés sur un noeud de la liste des noeuds du groupe de ressources par le RGM, de manière à ce que les limites de charge du noeud ne soient pas dépassées. Etant donné que les groupes de ressources sont assignés aux noeuds par le gestionnaire de groupes de ressources, les facteurs de charge des groupes de ressources sur chaque noeud sont additionnés afin de calculer la charge totale. La charge totale est ensuite comparée aux limites de la charge de ce noeud.
Une limite de charge se compose des éléments suivants :
Un nom assigné par l'utilisateur.
Une valeur de limite dépassable (vous pouvez dépasser temporairement cette valeur).
Une valeur de limite fixe (ces limites de charge ne peuvent jamais être dépassées et sont strictement appliquées).
Vous pouvez définir les limites dépassable et fixe dans une seule commande. Si une des limites n'est pas explicitement définie, la valeur par défaut est utilisée. Les limites dépassable et fixe de chaque noeud sont créées et modifiées avec les commandes clnode create-loadlimit, clnode set-loadlimit et clnode delete-loadlimit. Pour plus d'informations, reportez-vous à la page de manuel clnode(1CL).
Vous pouvez assigner une priorité plus élevée à un groupe de ressources. De cette façon, les risques qu'il soit retiré d'un noeud sont réduits. Vous pouvez également définir une propriété preemption_mode pour déterminer si un groupe de ressources peut être devancé par un groupe de ressources à priorité supérieure en cas de surcharge de noeud. Une propriété concentrate_load permet aussi de concentrer la charge du groupe de ressources sur le moins de noeuds possible. La valeur par défaut de la propriété concentrate_load est FALSE.
Dans l'exemple de commande qui suit, le nom du cluster de zones est zc1. L'exemple de propriété est appelé mem_load et possède une limite dépassable de 11 et une limite fixe de 20. Les limites dépassable et fixe sont des arguments facultatifs, définis par défaut sur une valeur illimitée. Pour plus d'informations, reportez-vous à la page de manuel clnode(1CL).
# clnode create-loadlimit -p limitname=mem_load -Z zc1 \ -p softlimit=11 -p hardlimit=20 node1 node2 node3
Dans l'exemple de commande qui suit, les facteurs de charge sont définis sur les deux groupes de ressources, rg1 et rg2. Les paramètres des facteurs de charge correspondent aux limites de charge définies pour ces noeuds.
# clresourcegroup set -p load_factors=mem_load@50,factor2@1 rg1 rg2
Vous pouvez également effectuer cette étape au cours de la création du groupe de ressources avec la commande clresourceroup create. Pour de plus amples informations, reportez-vous à la page de manuel clresourcegroup(1CL).
# clresourcegroup remaster rg1 rg2
Cette commande permet de déplacer des groupes de ressources hors de leur noeud maître actuel, vers d'autres noeuds, afin d'obtenir une répartition uniforme de la charge.
# clresourcegroup set -p priority=600 rg1
La priorité par défaut est 500. Lors de l'assignement des noeuds, les groupes de ressources avec des valeurs de priorité supérieure prévalent sur les groupes de ressources avec une priorité inférieure.
# clresourcegroup set -p Preemption_mode=No_cost rg1
Pour plus d'informations, reportez-vous à la page de manuel clresourcegroup(1CL) sur les options HAS_COST, NO_COST et NEVER.
# cluster set -p Concentrate_load=TRUE
Une affinité positive ou négative forte l'emporte sur la répartition de la charge. Une forte affinité doit toujours être respectée, tout comme une limite de charge fixe. Si vous définissez à la fois des affinités fortes et des limites de charge fixes, certains groupes de ressources devront rester hors ligne s'ils ne répondent pas à ces deux contraintes.
L'exemple suivant décrit une affinité positive forte entre le groupe de ressources rg1 du cluster de zones zc1 et le groupe de ressources rg2 du cluster de zones zc2.
# clresourcegroup set -p RG_affinities=++zc2:rg2 zc1:rg1
# clnode status -Z all -v
La sortie inclut touts les paramètres de limite de charge définis sur le noeud.