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.
Vous pouvez également utiliser la GUI d'Oracle Solaris Cluster Manager pour créer et configurer une limite de charge sur un noeud du cluster global ou un noeud du cluster de zones. Vous pouvez également utiliser la GUI pour modifier ou supprimer une limite existante de charge de noeud. Pour obtenir les instructions de connexion à la GUI, reportez-vous à la section Accès à Oracle Solaris Cluster Manager.
# clnode create-loadlimit -p limitname=mem_load -Z zc1 -p softlimit=11 -p hardlimit=20 node1 node2 node3
Dans cet exemple, 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).
# clresourcegroup set -p load_factors=mem_load@50,factor2@1 rg1 rg2
Dans cet exemple, 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. Vous pouvez également effectuer cette étape au cours de la création du groupe de ressources avec la commande clresourceroup create. Pour plus d'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 manuelclresourcegroup(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.